servicenow
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@servicenowlist recent incidents with high priority"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ServiceNow MCP Server
MCP server that gives Claude Code tools to read, write, and configure a ServiceNow instance.
🔧 Flow Designer — hands-off flow build
This server can build, compile, and publish Flow Designer flows programmatically — no browser, no UI "Activate", any scope — via the undocumented processflow API plus the CSRF g_ck header (the missing piece that makes basic auth work). Tools: flow_designer_get / flow_designer_save / flow_designer_compile (only basic-auth admin creds needed — no Script Runner).
➡️ See docs/flow-designer/ for the full kit: the recipe, the bundled servicenow-flow-creator skill, the gotchas, and a worked catalog-item example.
Related MCP server: snow-mcp-gateway
Setup
1. Install and build
npm install
npm run build2. Configure credentials
Credentials are passed to the server through the MCP config env block (step 4). The code reads process.env only — there is no .env loading, so a .env file is ignored. You need three values:
SN_INSTANCE— your instance subdomain only (e.g.dev12345, not the fullhttps://…URL)SN_USERNAME— an admin userSN_PASSWORD— that user's password
The flow-designer kit (
flow_designer_*) and everytable_*tool need only these basic-auth admin creds — no Script Runner (step 3 is optional).
3. (Optional) Deploy Script Runner — only for the run_script tool
Flow-designer users can skip this entirely.
flow_designer_get/save/compileand everytable_*tool work with just the basic-auth admin creds from step 2. Script Runner is required only if you want therun_scripttool (arbitrary server-side GlideScript).
To enable run_script, deploy a Scripted REST API app to your PDI:
Open ServiceNow Studio on your PDI
Create a new scoped app: scope =
x_mcp_snc, name = "MCP Script Runner"Create a Scripted REST API: name =
script_runnerAdd a POST resource at
/executewith this script:
(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
var body = request.body.data;
var script = '' + body.script;
var evaluator = new GlideScopedEvaluator();
evaluator.putVariable('request', request);
evaluator.putVariable('response', response);
var result;
try {
var gr = new GlideRecord('sys_script_include');
gr.initialize();
gr.setValue('script', script);
result = evaluator.evaluateScript(gr, 'script', null);
if (result !== null && result !== undefined) {
response.setBody({ result: '' + result });
}
} catch (e) {
response.setStatus(500);
response.setBody({ error: '' + e });
return;
}
})(request, response);Note: GlideScopedEvaluator allows injecting request and response into the script scope, so scripts CAN use response.setBody() directly for complex output. For simple scripts, the last expression value is auto-returned.
Set the resource to require
adminrole
4. Add to Claude Code
Add to your Claude Code MCP config (~/.claude/settings.json or project settings):
{
"mcpServers": {
"servicenow": {
"command": "node",
"args": ["/absolute/path/to/servicenow-mcp-server/dist/index.js"],
"env": {
"SN_INSTANCE": "your-instance-name",
"SN_USERNAME": "admin",
"SN_PASSWORD": "your-password"
}
}
}
}Available Tools
Tool | Description |
| Query any ServiceNow table with filtering and pagination |
| Insert a record into any table |
| Update a record (tracks before/after state) |
| Delete a record |
| Get field definitions for a table |
| Get choice list values for a field |
| Get instance version and active plugins |
| Execute server-side GlideScript |
| Read system properties |
| Set a system property value |
| Fetch a flow's editable processflow JSON |
| Build/save a flow (PUT the raw processflow object) |
| Compile + publish a flow — hands-off "Activate" via |
Plus more tool groups not listed above: catalog, change, CMDB, knowledge, import-set, batch, aggregate, and attachments. See
src/index.tsfor the full registration.
This server cannot be installed
Maintenance
Latest Blog Posts
- 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/Declade/servicenow-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server