Fluent MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SN_PASSWORD | No | Password for basic auth (informational) | |
| SN_AUTH_TYPE | No | Authentication method: basic or oauth | oauth |
| SN_USER_NAME | No | Username for basic auth (informational) | |
| SN_INSTANCE_URL | Yes | ServiceNow instance URL for auto-auth validation | |
| FLUENT_MCP_LOG_TO_STDERR | No | Also mirror logs to stderr (1/true/yes) for headless debugging | off |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| build_fluent_appA | Build a Fluent (ServiceNow SDK) application package from source code. Requires a valid Fluent project directory with now.config.json. Run after init_fluent_app and before deploy_fluent_app. Does NOT require instance authentication. |
| check_auth_statusA | Check current ServiceNow authentication status. Lazily validates configured auth once and returns JSON including status, profile alias, instance host, auth type, and any required user action. Call this before commands that require authentication (deploy_fluent_app, fluent_transform, download_fluent_dependencies, download_fluent_app) to verify credentials are configured. |
| clean_fluent_appA | Delete the build output directory of a Fluent (ServiceNow SDK) application. This is a destructive operation that removes all compiled artifacts. Run build_fluent_app afterward to regenerate. Does NOT require authentication. |
| deploy_fluent_appA | Deploy a built Fluent (ServiceNow SDK) application to a ServiceNow instance. Requires a prior build via build_fluent_app and valid instance authentication (auto-injected from session, or pass auth explicitly). Use skipFlowActivation to prevent auto-publishing of flows and subflows during deployment. |
| download_fluent_appA | Download application metadata from a ServiceNow instance into a local directory. Includes metadata deployed to the instance that may not exist locally. The directory argument specifies where to expand the application. Use incremental mode to download only changes since the last download. Requires instance authentication (auto-injected from session). |
| download_fluent_dependenciesA | Download configured dependencies from now.config.json and TypeScript type definitions for use in a Fluent application. Requires instance authentication (auto-injected from session, or pass auth explicitly). Supports pulling type definitions for tables and roles outside application scope via dependencies.global configuration. Run this after init_fluent_app to set up type definitions before development. |
| explain_fluent_apiA | Look up Fluent SDK documentation for any API or guide. Accepts a topic name (e.g., "BusinessRule", "Acl") or a keyword/tag (e.g., "flow", "atf"). Set list=true to enumerate available topics (optionally combined with topic to filter). Set peek=true for a brief summary. Set format="raw" for plain markdown. Read-only; no authentication or active Fluent project required. Use get-api-spec for metadata-type specifications and get-snippet for code examples. |
| fluent_transformA | Download and convert XML metadata records from a ServiceNow instance or local path into Fluent source code. Requires instance authentication when downloading from instance (auto-injected from session, or pass auth explicitly). Use from for local XML files, or omit to pull from instance. Use table (SDK v4.7.0+) to transform by table hierarchy, optionally with id to target a specific record and its relationships. |
| get-api-specA | Fetch the Fluent API specification for a ServiceNow metadata type (e.g., "business-rule", "script-include"). Call without arguments to list all available metadata types. Use this to understand the Fluent API for a specific metadata type before writing code. For code examples, use get-snippet instead. For best practices, use get-instruct instead. |
| get-instructA | Fetch instructions and best practices for creating a ServiceNow metadata type using the Fluent API (e.g., "business-rule", "script-include"). Provides guidance on patterns, conventions, and common pitfalls. For API specifications, use get-api-spec. For code examples, use get-snippet. |
| get-snippetA | Fetch a Fluent code snippet for a ServiceNow metadata type (e.g., "business-rule", "script-include"). Returns the first available snippet when called without an id. Provides additional snippet ids if more are available. For API specifications, use get-api-spec instead. For best practices, use get-instruct instead. |
| init_fluent_appA | Initialize a new Fluent (ServiceNow SDK) application or convert an existing scoped application. Set intent to "creation" for a new app (requires appName, packageName, scopeName, template) or "conversion" to convert from an instance sys_id or local directory (requires from, and auth for instance conversion). The workingDirectory must be an empty directory. After init, use build_fluent_app to compile. |
| pack_fluent_appA | Package a built Fluent (ServiceNow SDK) application into a zip artifact for installation. Requires a prior build via build_fluent_app. The output zip can be used for manual installation on a ServiceNow instance. Does NOT require authentication. |
| query_fluent_recordsA | Run a read-only query against a ServiceNow table via the Table REST API (SDK v4.8.0+). Returns matching records as a JSON envelope. Requires instance authentication (auto-injected from session, or pass auth explicitly). Provide table and an encoded query (e.g. "active=true^priority<=2"). |
| sdk_infoA | Get Fluent (ServiceNow SDK) version or help information. Use -v to check the installed SDK version, or -h for general help or help on a specific command (e.g., flag: "-h", command: "build"). Does NOT require authentication or a Fluent project directory. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| coding_in_fluent | Guide for coding in Fluent (ServiceNow SDK) with examples for specific metadata types |
| create_custom_ui | Guide for creating custom UIs with React (18.2.0) using the Fluent (ServiceNow SDK) UiPage API |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| sn-spec-acl | |
| sn-spec-ai-agent-workflow | |
| sn-spec-ai-agent | |
| sn-spec-alias-template | |
| sn-spec-alias | |
| sn-spec-application-menu | |
| sn-spec-atf-appnav | |
| sn-spec-atf-catalog-action | |
| sn-spec-atf-catalog-validation | |
| sn-spec-atf-catalog-variable | |
| sn-spec-atf-email | |
| sn-spec-atf-form-action | |
| sn-spec-atf-form-declarative-action | |
| sn-spec-atf-form-field | |
| sn-spec-atf-form-sp | |
| sn-spec-atf-form | |
| sn-spec-atf-reporting | |
| sn-spec-atf-rest-api | |
| sn-spec-atf-rest-assert-payload | |
| sn-spec-atf-server-catalog-item | |
| sn-spec-atf-server-record | |
| sn-spec-atf-server | |
| sn-spec-atf-ui-test-script | |
| sn-spec-business-rule | |
| sn-spec-catalog-client-script | |
| sn-spec-catalog-item-record-producer | |
| sn-spec-catalog-item | |
| sn-spec-catalog-ui-policy | |
| sn-spec-catalog-variable | |
| sn-spec-client-script | |
| sn-spec-column-generic | |
| sn-spec-column | |
| sn-spec-cross-scope-privilege | |
| sn-spec-custom-action | |
| sn-spec-dashboard | |
| sn-spec-data-lookup | |
| sn-spec-data-policy | |
| sn-spec-email-notification | |
| sn-spec-flow | |
| sn-spec-form | |
| sn-spec-import-set | |
| sn-spec-inbound-email-action | |
| sn-spec-instance-scan | |
| sn-spec-list | |
| sn-spec-now-assist-skill-config | |
| sn-spec-playbook | |
| sn-spec-property | |
| sn-spec-rest-message | |
| sn-spec-retry-policy | |
| sn-spec-role | |
| sn-spec-scheduled-script | |
| sn-spec-script-action | |
| sn-spec-script-include | |
| sn-spec-scripted-rest | |
| sn-spec-service-portal | |
| sn-spec-sla | |
| sn-spec-sp-header-footer | |
| sn-spec-sp-page-route-map | |
| sn-spec-table | |
| sn-spec-ui-action | |
| sn-spec-ui-page | |
| sn-spec-ui-policy | |
| sn-spec-user-preference | |
| sn-spec-variable-set | |
| sn-spec-workspace | |
| sn-instruct-acl | |
| sn-instruct-ai-agent-workflow | |
| sn-instruct-ai-agent | |
| sn-instruct-alias-template | |
| sn-instruct-alias | |
| sn-instruct-application-menu | |
| sn-instruct-atf-appnav | |
| sn-instruct-atf-catalog-action | |
| sn-instruct-atf-catalog-validation | |
| sn-instruct-atf-catalog-variable | |
| sn-instruct-atf-email | |
| sn-instruct-atf-form-action | |
| sn-instruct-atf-form-declarative-action | |
| sn-instruct-atf-form-field | |
| sn-instruct-atf-form-sp | |
| sn-instruct-atf-form | |
| sn-instruct-atf-reporting | |
| sn-instruct-atf-rest-api | |
| sn-instruct-atf-rest-assert-payload | |
| sn-instruct-atf-server-catalog-item | |
| sn-instruct-atf-server-record | |
| sn-instruct-atf-server | |
| sn-instruct-atf-ui-test-script | |
| sn-instruct-business-rule | |
| sn-instruct-catalog-client-script | |
| sn-instruct-catalog-item-record-producer | |
| sn-instruct-catalog-item | |
| sn-instruct-catalog-ui-policy | |
| sn-instruct-catalog-variable | |
| sn-instruct-client-script | |
| sn-instruct-column-generic | |
| sn-instruct-column | |
| sn-instruct-cross-scope-privilege | |
| sn-instruct-custom-action | |
| sn-instruct-dashboard |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/modesty/fluent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server