ServiceNow MCP Server
by jschullerio.github.jschuller/mcp-server-servicenowv0.7.0
ServiceNow developer data plane: Table API, CMDB, update sets, schema. Read-only, allow/deny, audit.
context tax
queued
security
queued
cold start
queued
freshness
Maintained35d ago
Install ServiceNow MCP server
Install in Claude Code
claude mcp add servicenow-jschuller -e SERVICENOW_INSTANCE_URL='<servicenow-instance-url>' -e SERVICENOW_AUTH_TYPE='<servicenow-auth-type>' -e SERVICENOW_PASSWORD='<servicenow-password>' -e SERVICENOW_CLIENT_SECRET='<servicenow-client-secret>' -e SERVICENOW_API_KEY='<servicenow-api-key>' -- uvx mcp-server-servicenowInstall in Cursor
{
"mcpServers": {
"servicenow-jschuller": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<servicenow-instance-url>",
"SERVICENOW_AUTH_TYPE": "<servicenow-auth-type>",
"SERVICENOW_PASSWORD": "<servicenow-password>",
"SERVICENOW_CLIENT_SECRET": "<servicenow-client-secret>",
"SERVICENOW_API_KEY": "<servicenow-api-key>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"servicenow-jschuller": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<servicenow-instance-url>",
"SERVICENOW_AUTH_TYPE": "<servicenow-auth-type>",
"SERVICENOW_PASSWORD": "<servicenow-password>",
"SERVICENOW_CLIENT_SECRET": "<servicenow-client-secret>",
"SERVICENOW_API_KEY": "<servicenow-api-key>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"servicenow-jschuller": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<servicenow-instance-url>",
"SERVICENOW_AUTH_TYPE": "<servicenow-auth-type>",
"SERVICENOW_PASSWORD": "<servicenow-password>",
"SERVICENOW_CLIENT_SECRET": "<servicenow-client-secret>",
"SERVICENOW_API_KEY": "<servicenow-api-key>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"servicenow-jschuller": {
"command": "uvx",
"args": [
"mcp-server-servicenow"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<servicenow-instance-url>",
"SERVICENOW_AUTH_TYPE": "<servicenow-auth-type>",
"SERVICENOW_PASSWORD": "<servicenow-password>",
"SERVICENOW_CLIENT_SECRET": "<servicenow-client-secret>",
"SERVICENOW_API_KEY": "<servicenow-api-key>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| SERVICENOW_INSTANCE_URL | yes | — | ServiceNow instance URL |
| SERVICENOW_AUTH_TYPE | yes | — | Auth type: basic, oauth, or api_key |
| SERVICENOW_USERNAME | — | — | Username for basic or OAuth auth |
| SERVICENOW_PASSWORD | — | yes | Password for basic or OAuth auth |
| SERVICENOW_CLIENT_ID | — | — | OAuth client ID |
| SERVICENOW_CLIENT_SECRET | — | yes | OAuth client secret |
| SERVICENOW_API_KEY | — | yes | API key for api_key auth |
| SERVICENOW_API_KEY_HEADER | — | — | Header name for api_key auth (default X-ServiceNow-API-Key) |
| SERVICENOW_TOKEN_URL | — | — | OAuth token URL (default <instance>/oauth_token.do) |
| SERVICENOW_TIMEOUT | — | — | HTTP timeout in seconds (default 30) |
| SERVICENOW_READ_ONLY | — | — | Hide write tools and refuse non-GET requests |
| SERVICENOW_TABLE_ALLOWLIST | — | — | Comma-separated tables/globs that may be accessed |
| SERVICENOW_TABLE_DENYLIST | — | — | Comma-separated tables/globs that may never be accessed |
| SERVICENOW_ALLOW_JS_QUERIES | — | — | Permit arbitrary javascript: in caller queries |
| SERVICENOW_WRITE_CONFIRM | — | — | Confirm update/delete via MCP elicitation (opt-in) |
| SERVICENOW_AUDIT_LOG | — | — | Audit log target: stderr (default), off, or a file path |
Freshness
Maintained — last maintenance signal 35d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-05 · 35d ago · GitHub
Latest release
2026-09-05 · 35d ago · GitHub · v0.7.0
Package published
no data · npm/PyPI
Registry entry updated
2026-09-05 · 35d ago · official registry · v0.7.0
FAQ
›How do I install the ServiceNow MCP server in Claude Code?
Run: claude mcp add servicenow-jschuller -e SERVICENOW_INSTANCE_URL='<servicenow-instance-url>' -e SERVICENOW_AUTH_TYPE='<servicenow-auth-type>' -e SERVICENOW_PASSWORD='<servicenow-password>' -e SERVICENOW_CLIENT_SECRET='<servicenow-client-secret>' -e SERVICENOW_API_KEY='<servicenow-api-key>' -- uvx mcp-server-servicenow. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does ServiceNow require an API key?
Yes. It expects SERVICENOW_INSTANCE_URL, SERVICENOW_AUTH_TYPE, SERVICENOW_PASSWORD, SERVICENOW_CLIENT_SECRET, SERVICENOW_API_KEY, of which 3 are secrets.
›Can I use ServiceNow as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is ServiceNow in the official MCP registry?
Yes, as io.github.jschuller/mcp-server-servicenow.