Being able to fetch the API specification, the conventions and a working snippet for a metadata type before generating code is what separates this from an agent shelling out to the SDK. The project-context rule is deliberate and worth knowing: every project command resolves its directory from an explicit argument, the session or an environment variable, and refuses rather than guessing — which is what stops a build landing in the wrong app.
A wrapper around the ServiceNow Fluent SDK: the project commands as tools, plus the specifications, authoring guidance and code snippets for ServiceNow metadata types.
- The application lifecycle as calls: initialize a new app or convert an existing scoped one, build it, pack it into a zip, deploy it to an instance, and clean the build output
- Dependencies and TypeScript type definitions downloaded from the project's configuration, and application metadata downloaded from an instance into a local directory
- XML metadata converted into Fluent TypeScript source, either from a local path or straight from an instance
- Read-only Table API queries against an instance, returning matching records
- Authoring support per metadata type — the API specification, the instructions and conventions, and a code snippet — for the metadata types the SDK covers
- Documentation lookup for any Fluent API or guide by topic name, with no project required
- Authentication validated lazily and then cached, with a status call that reports where it stands
- Structured content alongside the text on the read tools, for programmatic consumers
The ServiceNow SDK and a ServiceNow instance you can authenticate to. SN_INSTANCE_URL and SN_AUTH_TYPE — basic or oauth — configure the lazy authentication. Project-aware tools need a working directory: pass workingDirectory on the call, establish a session by initializing an app, or set FLUENT_MCP_WORKING_DIR; the server never guesses from its own process directory and fails with an explanation instead. Published on npm as @modesty/fluent-mcp over stdio, and also built as a self-contained bundle.
One command plus a key — npx -y @modesty/fluent-mcp, then supply credentials
