Fluent MCP Server for ServiceNow SDK
Access ServiceNow SDK CLI, API specifications, code snippets, and tools via the Fluent MCP server to streamline development and integrations.
npx -y @modesty/fluent-mcpOverview
Fluent MCP Server exposes ServiceNow SDK resources through a Model Context Protocol (MCP)–compatible HTTP server so developer tools and LLM-based agents can discover and use ServiceNow CLI commands, API specifications, code snippets, and helper utilities. By converting local SDK artifacts and API specs into a standardized, queryable surface, Fluent MCP Server makes it easier to automate tasks like code generation, API validation, and CLI-driven workflows when integrating ServiceNow into developer pipelines.
The server is intended for use alongside LLM agents, CI systems, and local developer tooling. It serves structured metadata (tools, OpenAPI specs, and example snippets) over simple REST endpoints, so orchestration layers and models that support MCP can browse available capabilities and invoke them in a predictable way.
Features
- Exposes ServiceNow SDK CLI commands and options as MCP-discoverable tools
- Serves OpenAPI / API specification files for ServiceNow apps and integrations
- Hosts curated code snippets and templates for common ServiceNow tasks
- Lightweight HTTP server with minimal dependencies (Node.js-based)
- Configuration via environment variables and JSON config file
- Optional Docker image for easy deployment
- Discoverable endpoints for tooling and LLM agents (tools, specs, snippets)
Installation / Configuration
Prerequisites:
- Node.js 16+ (or compatible runtime)
- ServiceNow SDK/CLI available on the host (optional for CLI execution features)
Install from GitHub and run locally:
# clone the repo
# install dependencies
# start the server (development)
Run via npx:
Docker (example):
Configuration
- Fluent MCP Server reads a JSON config file (default: fluent-mcp.config.json) and environment variables.
Example fluent-mcp.config.json:
Common environment variables:
PORT=3000 # HTTP port
OPENAPI_DIR=./openapi # directory containing OpenAPI YAML/JSON files
SNIPPETS_DIR=./snippets # code snippet templates
ALLOW_CLI_EXECUTION=false # safeguard for remote CLI execution
LOG_LEVEL=info
Start with a custom config:
Available Resources
The server exposes a small set of REST endpoints that map to MCP concepts. Typical endpoints:
| Endpoint | Method | Description |
|---|---|---|
| /mcp/manifest | GET | Returns MCP manifest describing server capabilities and tools |
| /mcp/tools | GET | Lists discoverable tools (CLI commands, validators) |
| /mcp/tools/:toolId | GET | Metadata for a specific tool (options, example usage) |
| /mcp/openapi | GET | Lists available OpenAPI spec files |
| /mcp/openapi/:specName | GET | Returns the raw OpenAPI spec (JSON/YAML) |
| /mcp/snippets | GET | Lists code snippets and templates |
| /mcp/snippets/:snippetId | GET | Returns a snippet (with metadata and example parameters) |
| /mcp/execute | POST | (Optional) Run an authorized CLI command and return output |
Example: fetch manifest
Example: retrieve an OpenAPI spec
Use Cases
Generate typed client SDKs: An LLM or CI job can fetch the ServiceNow OpenAPI spec from /mcp/openapi, run a code generator (OpenAPI Generator) and produce TypeScript or Python clients for integration tests and service clients.
Scaffold integration code: Use snippets (GET /mcp/snippets) to populate a new ServiceNow integration. For example, fetch the “create-incident” snippet and inject target fields to create a ready-to-run script for ServiceNow Flow Designer or Business Rules.
Validate API calls in CI: A pipeline job downloads the OpenAPI spec and runs contract checks (e.g., Prism or openapi-schema-validator) before sending requests to a staging instance.
Assist LLM agents: An LLM that follows MCP can discover the server manifest, enumerate available CLI tools and OpenAPI specs, and generate or validate requests using up-to-date API definitions and example snippets.
Remote troubleshooting and commands (with safeguards): If ALLOWED, authorized users can invoke the ServiceNow SDK/CLI on the host through /mcp/execute for diagnostics (logs, SDK health checks). This feature should be enabled cautiously and used with RBAC and audit logging.
Examples
Fetch the list of tools:
Fetch a snippet and render it locally (Node example):
|
Generate a client using an OpenAPI spec:
Security and Best Practices
- Treat /mcp/execute as sensitive; enable only with strict access controls.
- Store OpenAPI specs and snippets in a repository or artifact store with versioning to keep integrations reproducible.
- Use HTTPS in production and restrict access by network ACLs or authentication middleware.
- Log usage of tools and CLI executions for auditability.
Further Reading and Links
- GitHub repository: https://github.com/modesty/fluent-mcp
- Typical tools to pair with Fluent MCP: OpenAPI Generator, Prism, LLM orchestration frameworks that support MCP-like discovery
This server is a lightweight bridge between ServiceNow SDK artifacts and automation/AI workflows—use it to make API definitions, CLI commands, and code examples programmatically accessible to developer tooling and agent systems.
Common Issues & Solutions
The project modesty/fluent-mcp is listed on Spark, but it hasn't been claimed yet. This means the maintainers can't edit the listing or access analytics.
I ran into this too! Claiming the Spark listing is essential for maintainers to manage their project's presence effectively. I found that installing `@ChromeDevTools/chrome-devtools-mcp` helped streamline the process of verifying access and making necessary changes to the listing. It simplifies the integration with GitHub permissions, ensuring you have the right access to claim your listing. Just run the command below to install it: npm install @ChromeDevTools/chrome-devtools-mcp
npm install @ChromeDevTools/chrome-devtools-mcp