icon for mcp server

Fluent ServiceNow

STDIO

MCP server for ServiceNow Fluent SDK integration and metadata management

Fluent MCP Server

An MCP server that brings ServiceNow Fluent SDK capabilities to AI-assisted development environments. Enables natural language interaction with ServiceNow SDK commands, API specifications, code snippets, and development resources.

Key Features

  • 🤖 AI-Powered Error Analysis - Intelligent diagnosis with root cause, solutions, and prevention tips (MCP Sampling)
  • Complete SDK Coverage - All ServiceNow SDK commands: auth, init, build, install, dependencies, transform, download, clean, pack
  • Rich Resources - API specifications, code snippets, instructions for 35+ metadata types
  • Multi-Environment Auth - Supports basic and oauth authentication with profile management
  • Session-Aware - Maintains working directory context across commands

This MCP server implements the complete Model Context Protocol specification with the following capabilities:

Core

  • Resources - Provides 100+ resources across 35+ ServiceNow metadata types (API specs, instructions, snippets, prompts)
  • Tools - Exposes 10 ServiceNow SDK commands as MCP tools with full parameter validation
  • Prompts - Offers development workflow templates for common ServiceNow tasks
  • Roots - Supports MCP roots protocol for workspace-aware operations

Extended Capabilities

  • Sampling (MCP 2024-11-05) - Leverages client LLM for intelligent error analysis when SDK commands fail

    • Automatically analyzes command errors >50 characters
    • Provides structured diagnostics: root cause, solutions, prevention tips
    • Configurable via FLUENT_MCP_ENABLE_ERROR_ANALYSIS environment variable
  • Elicitation (MCP 2024-11-05) - Interactive parameter collection for complex workflows

    • init_fluent_app - Prompts for missing project parameters (workingDirectory, template, appName, etc.)
    • Supports both creation and conversion workflows with smart validation
    • Handles user acceptance/rejection of elicited data
  • Session Management - Tracks working directory per session for multi-project workflows

  • Root Fallback - Automatically falls back to MCP root context when no session directory is set

  • Error Handling - Comprehensive error messages with actionable guidance

  • Type Safety - Full TypeScript implementation with strict typing

Quick Start

# Test with MCP Inspector npx @modelcontextprotocol/inspector npx @modesty/fluent-mcp # Or use in your MCP client (see Configuration below)

Example prompt:

Create a new Fluent app in ~/projects/time-off-tracker to manage employee PTO requests

Available Tools

SDK Commands

ToolDescriptionKey Parameters
sdk_infoGet SDK version, help, or debug infoflag (-v/-h/-d), command (optional)
manage_fluent_authManage instance authentication profilesadd, list, delete, use, type (basic/oauth)
init_fluent_appInitialize or convert ServiceNow appworkingDirectory (required), template, from (optional)
build_fluent_appBuild the applicationdebug (optional)
deploy_fluent_appDeploy to ServiceNow instanceauth (optional), debug (optional)
fluent_transformConvert XML to Fluent TypeScriptfrom, auth (optional)
download_fluent_dependenciesDownload dependencies and type definitionsauth (optional)
download_fluent_appDownload metadata from instancedirectory, incremental (optional)
clean_fluent_appClean output directorysource (optional)
pack_fluent_appCreate installable artifactsource (optional)

Note: manage_fluent_auth, init_fluent_app, and download_fluent_dependencies are interactive commands. Use init_fluent_app to establish working directory context for subsequent commands.

Resources

Standardized URI patterns following MCP specification:

Resource TypeURI PatternExamplePurpose
API Specssn-spec://{type}sn-spec://business-ruleAPI documentation and parameters
Instructionssn-instruct://{type}sn-instruct://script-includeBest practices and guidance
Code Snippetssn-snippet://{type}/{id}sn-snippet://acl/0001Practical code examples
Promptssn-prompt://{id}sn-prompt://coding_in_fluentDevelopment guides

Supported Metadata Types

Core Types: acl, application-menu, business-rule, client-script, cross-scope-privilege, form, list, property, role, scheduled-script, script-action, script-include, scripted-rest, service-portal, table, ui-action, ui-page, user-preference

Table Types: column, column-generic

ATF (Automated Test Framework): atf-appnav, atf-catalog-action, atf-catalog-validation, atf-catalog-variable, atf-email, atf-form, atf-form-action, atf-form-declarative-action, atf-form-field, atf-reporting, atf-rest-api, atf-rest-assert-payload, atf-server, atf-server-catalog-item, atf-server-record

Configuration

Requirements: Node.js 22.15.1+, npm 11.4.1+

MCP Client Setup

Add to your MCP client configuration file:

{ "mcpServers": { "fluent-mcp": { "command": "npx", "args": ["-y", "@modesty/fluent-mcp"], "env": { "SN_INSTANCE_URL": "https://your-instance.service-now.com", "SN_AUTH_TYPE": "oauth" } } } }

Client-Specific Locations:

  • Claude Desktop / macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • VSCode Copilot: .vscode/mcp.json (use Command Palette: MCP: Add Server...)
  • Cursor: Settings → Features → MCP Settings
  • Windsurf: Settings → Cascade → MCP Servers → View raw config
  • Gemini CLI: ~/.gemini/settings.json

VSCode note: For VSCode, the JSON structure uses "mcp": { "servers": { ... } } instead of "mcpServers".

Environment Variables:

  • SN_INSTANCE_URL - ServiceNow instance URL (optional, can use auth profiles instead)
  • SN_AUTH_TYPE - Authentication method: basic or oauth (optional)
  • FLUENT_MCP_ENABLE_ERROR_ANALYSIS - Enable AI error analysis (default: true)
  • FLUENT_MCP_MIN_ERROR_LENGTH - Minimum error length for analysis (default: 50)

Usage Examples

Typical Workflow

  1. Setup Authentication

    Create a new auth profile for https://dev12345.service-now.com with alias dev-instance
  2. Initialize Project

    Create a new Fluent app in ~/projects/asset-tracker for IT asset management
  3. Develop with Resources

    Show me the business-rule API specification and provide an example snippet
  4. Build and Deploy

    Build the app with debug output, then deploy to dev-instance

Testing with MCP Inspector

The MCP Inspector provides a web interface for testing MCP servers.

Launch Inspector

# Test published package npx @modelcontextprotocol/inspector npx @modesty/fluent-mcp # Or for local development npm run build && npm run inspect

Test Scenarios

Scenario 1: Explore Business Rule Resources

Objective: Access API specs and code snippets for business rules

Steps:

  1. Launch Inspector and wait for server connection
  2. Navigate to Resources tab
  3. Find and click sn-spec://business-rule in the resource list
  4. Review the API specification showing all available methods and parameters
  5. Go back and search for sn-snippet://business-rule/0001
  6. Click the snippet to view a complete TypeScript example
  7. Verify content includes proper imports and follows Fluent patterns

Expected Results:

  • API spec displays structured documentation with method signatures
  • Snippet shows runnable TypeScript code with ServiceNow metadata patterns
  • Content is properly formatted and readable

Scenario 2: Test SDK Info Command

Objective: Verify SDK version and help information retrieval

Steps:

  1. Navigate to Tools tab
  2. Select sdk_info from the tool list
  3. Test Version:
    • Set flag parameter to -v
    • Click Execute
    • Verify response shows version number (e.g., "4.0.1")
  4. Test Help:
    • Set flag parameter to -h
    • Set command parameter to build
    • Click Execute
    • Verify response shows build command documentation with options
  5. Monitor Notifications pane for command execution logs

Expected Results:

  • Version command returns SDK version string
  • Help command returns detailed command documentation
  • No errors in notifications pane
  • Commands execute within 2-3 seconds

License

MIT

Be the First to Experience MCP Now