by modesty
Provides a stdio MCP server that exposes all ServiceNow Fluent SDK commands, API specifications, code snippets, and instructional resources for seamless integration with AI‑driven development environments.
Fluent MCP Server bridges the ServiceNow Fluent SDK with modern AI assistants and IDEs by implementing the Model Context Protocol. It makes commands such as init
, build
, install
, transform
, and others accessible through natural‑language prompts and returns structured resources like API specs, snippets, and step‑by‑step instructions.
npx
command:
npx -y @modesty/fluent-mcp
fluent-mcp
server (examples for Claude Desktop, VS Code Copilot Agent, Cursor, Windsurf, Gemini CLI are provided in the README). The client will start the stdio process and communicate via MCP.sn-spec://business-rule
. The server translates these into Fluent CLI commands, runs them, and returns the output or the requested URI content.auth
command to add ServiceNow instance aliases, then reference the alias in subsequent commands (install
, transform
, etc.).version
, help
, auth
, init
, build
, install
, upgrade
, dependencies
, transform
).auth
, init
, dependencies
).sn-spec://{metadataType}
– API specifications.sn-instruct://{metadataType}
– Best‑practice instructions.sn-snippet://{metadataType}/{snippetId}
– Ready‑to‑use code examples.sn-prompt://{promptId}
– Development guides.npx
.Q: Do I need to install the Fluent SDK separately?
A: No. The MCP server runs the SDK internally via the npx @modesty/fluent-mcp
command.
Q: Which Node version is required? A: Node.js 22.15.1 or later, with npm 11.4.1 or newer.
Q: How do I change the working directory for a session?
A: Include the desired path in your initial prompt (e.g., "Set Fluent working directory to /path/to/project") or specify init
with the from
/appName
parameters.
Q: Can I use the server offline?
A: Yes, once the package is downloaded via npx
, all commands run locally without external network access.
Q: What if I need a custom environment variable (e.g., API key)?
A: Add it to the env
object in the client’s MCP configuration; the server will inherit the process environment.
A stdio MCP Server for Fluent (ServiceNow SDK), a TypeScript-based declarative domain-specific language for creating and managing metadata, modules, records and tests in ServiceNow platform. It supports all commands available in the ServiceNow SDK CLI and provides access to Fluent Plugin's API specifications, code snippets, and instructions for various metadata types. It can be configured for any MCP client, such as VSCode Agent mode, Claude Desktop, Cursor, or Windsurf, for either development or learning purposes.
Fluent (ServiceNow SDK) MCP bridges ServiceNow development tools with modern AI-assisted development environments by implementing the Model Context Protocol. It enables developers and AI assistants to interact with Fluent commands and access resources like API specifications, code snippets, and instructions through natural language.
Key capabilities include:
version
, help
, auth
, init
, build
, install
, upgrade
, dependencies
, transform
npx now-sdk auth --add <instance>
acl
, business-rule
, client-script
, table
, ui-action
and moreExample prompt:
Create a new Fluent app under ~/Downloads/fluent-app to track employee time off requests
Note: Use init
command to switch to a working directory for existing Fluent projects or to create a new one.
Tool Name | Description | Parameters |
---|---|---|
version |
Get ServiceNow SDK version information | None |
help |
Get help information about ServiceNow SDK commands | command : (Optional) The specific command to get help for |
upgrade |
Upgrade ServiceNow SDK to the latest version | check : (Optional) Only check for updates without upgrading, debug : (Optional) Enable debug - disabled for now |
auth |
Authenticate to a ServiceNow instance | add : (Optional) Instance URL to add, type : (Optional) Authentication method, alias : (Optional) Alias for the instance |
init |
Initialize a new ServiceNow application | from : (Optional) sys_id or path, appName : App name, packageName : Package name, scopeName : Scope name, auth : (Optional) Authentication alias |
build |
Build a ServiceNow application package | source : Path to source files, frozenKeys : (Optional) Whether to use frozen keys |
install |
Install a ServiceNow application to an instance | source : (Optional) Package path, reinstall : (Optional) Whether to reinstall, auth : (Optional) Authentication alias, open-browser : (Optional) Open browser after install, info : (Optional) Show info after install |
transform |
Transform ServiceNow metadata to Fluent source code | from : (Optional) Path to metadata, directory : (Optional) Package path, preview : (Optional) Preview only, auth : (Optional) Authentication alias |
dependencies |
Download application dependencies | directory : (Optional) Package path, auth : (Optional) Authentication alias |
All these three commands are interactive CLI commands that require user input. The easier way to use them is to have Fluent MCP generate the shell command then run them in a terminal. Preferably, whenever you start a session with Fluent MCP, specify the working directory please.
All resources follow standardized URI patterns according to the MCP specification:
API Specifications: sn-spec://{metadataType}
sn-spec://business-rule
Instructions: sn-instruct://{metadataType}
sn-instruct://script-include
Code Snippets: sn-snippet://{metadataType}/{snippetId}
sn-snippet://acl/0001
Prompts: sn-prompt://{promptId}
sn-prompt://coding_in_fluent
acl
: Access Control Listsapplication-menu
: Application Menusbusiness-rule
: Business Rulesclient-script
: Client Scriptscross-scope-privilege
: Cross Scope Privilegesform
: Formslist
: Listsproperty
: System Propertiesrole
: Rolesscheduled-script
: Scheduled Scriptsscript-include
: Script Includesscripted-rest
: Scripted REST APIstable
: Tablesui-action
: UI Actionsuser-preference
: User Preferencesatf
: Automated Test Framework, including various ATF componentsResources can be accessed by direct URI or through the resources/list
method.
{
"mcpServers": {
"fluent-mcp": {
"command": "npx",
"args": ["-y", "@modesty/fluent-mcp"]
}
}
}
Shift + CMD + p
to open command palette, search for MCP: Add Server...
NPM Package. (Model Assisted)
as server type.@modesty/fluent-mcp
and follow prompts.{
"mcp": {
"servers": {
"fluent-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modesty/fluent-mcp"]
}
}
}
}
Add MCP server configuration in Cursor settings:
{
"mcpServers": {
"fluent-mcp": {
"command": "npx",
"args": ["-y", "@modesty/fluent-mcp"]
}
}
}
CMD + ,
to open settings, navigate to Cascade => MCP Servers => Manage MCPs => View raw config{
"mcpServers": {
"fluent-mcp": {
"command": "npx",
"args": ["-y", "@modesty/fluent-mcp"]
}
}
}
Configure in ~/.gemini/settings.json
or ./.gemini/settings.json
:
{
"mcpServers": {
"fluent-mcp": {
"command": "npx",
"args": [
"-y",
"@modesty/fluent-mcp"
]
}
}
}
Authentication
a. Create a new auth alias: create Fluent auth to <instanceUrl>, add the credential alias as myFluentMcpAuth
b. List existing aliases: show all Fluent auth profiles
c. Switch default alias: use the alias <myFluentMcpAuth> as the default Fluent auth
Project Setup
a. Create a new project: Create a Fluent project to <what_you_want_the_app_to_do> under directory <cwd>
b. Convert an existing app:
• By sys_id: Create a Fluent project by converting the existing scoped app whose sys_id is <xxx> under directory <cwd>
• By local path: Create a Fluent project by converting the existing scoped app from <scoped_app_path>, new Fluent project should be stored in directory <cwd>
c. Continue an existing project: Initialize Fluent project in <cwd>
or Set Fluent working directory to <cwd>
When testing with Claude Desktop, check the MCP server logs (typically in ~/Library/Logs/Claude/mcp-server-fluent-mcp.log
) to see the actual resource requests being processed.
Prompt: "I'm building a ServiceNow application for IT asset management. Using Fluent, help me design and implement a domain-driven business rule for the following scenario: When an IT asset (like a laptop) is assigned to an employee, I need to:
Validate the asset is available and not already assigned Update the asset status to 'In Use' Create an audit trail entry Notify the asset manager if it's a high-value asset (>$2000)
Please show me the business rule structure using Fluent's TypeScript API, following SOLID principles. Think of this like designing a service layer in a traditional enterprise application - how would you structure the business logic to be maintainable and testable?"
Prompt: "I have a legacy ServiceNow application with scattered XML customizations that violate SOLID principles. Using Fluent MCP's transform capabilities, help me:
Transform the existing XML-based business rules into modern TypeScript code Refactor the code to follow single responsibility principle Show me how to extract reusable script includes for common operations
Use the transform command to convert my existing 'Incident Management' customizations, then demonstrate how to restructure them using proper separation of concerns - like how you'd refactor a monolithic service into microservices."
Prompt: "Using Fluent MCP tools, help me set up a test-driven development workflow for ServiceNow. I want to:
Create a new application for 'Employee Onboarding' Set up the project structure with proper dependency management Show me how to write ATF tests for business rules before implementing them Demonstrate the build and install process
Think of this like setting up a new Spring Boot project with Maven - show me the equivalent best practices for ServiceNow development using Fluent SDK."
Prompt:
"Help me design and implement a RESTful API for a ServiceNow application using Fluent MCP tools. The API should handle 'Project Management' operations:
GET /projects - list all projects POST /projects - create new project PUT /projects/{id} - update project DELETE /projects/{id} - delete project
Show me how to:
Use the scripted-rest metadata type to define the API endpoints Implement proper error handling and validation Follow REST best practices and HTTP status codes Structure the code using dependency injection patterns
This should be like building a REST controller in Spring Boot - clean, testable, and following OpenAPI standards."
Prompt: "Using all Fluent MCP capabilities, walk me through creating a complete ServiceNow application from scratch. I want to build a 'Vendor Management' system with:
Custom tables for vendors, contracts, and purchase orders Business rules for validation and workflow Client scripts for UI interactions REST APIs for external integration Proper authentication and authorization
Show me the complete development workflow:
Initialize the project with proper structure Set up dependencies and build configuration Implement the domain models and business logic Create the UI components and forms Build and deploy to a development instance
Think of this as building a full-stack application with proper CI/CD pipeline - what would be the ServiceNow equivalent using Fluent SDK?"
Prompt: "Create a UserService script include that depends on a BaseService script include. Show the TypeScript API calls for both, implementing constructor injection pattern. Use get-api-spec script-include to verify the structure."
Prompt: "Configure auth profiles for dev/test/prod environments, then create a build script that deploys to each sequentially. Handle auth failures with rollback. Show the exact manage_fluent_auth and fluent_install commands."
Prompt: "Create 3 client scripts: onChange validation for 'priority' field, onLoad to set field states, onSubmit for final validation. Make them work together using shared utility functions. Use the client-script API spec."
Prompt: "Transform existing business rules from instance using fluent_transform, identify SOLID violations, refactor into separate script includes, then rebuild. Show the complete transform → refactor → build workflow."
Prompt: "Create before/after/async business rules for incident creation with proper error handling, logging, and transaction rollback. Show how to coordinate execution order and handle failures gracefully."
"I'm working on a ServiceNow app. Can you show me how to create a UI Action?"
MIT
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "fluent-mcp": { "command": "npx", "args": [ "-y", "@modesty/fluent-mcp" ], "env": {} } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.