servicenow-mcp
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., "@servicenow-mcpFind all open incidents with high urgency"
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
A small MCP server that lets AI agents create, search and
update ServiceNow incidents through the Table API. Built with the official Python
mcp package (FastMCP-style decorators), httpx and python-dotenv. Runs over stdio.
Everything lives in a single file: server.py.
Setup
Requires Python 3.12+ and uv.
uv syncCreate a .env next to server.py (it is git-ignored) with basic-auth credentials for
your instance — a Personal Developer Instance works fine:
SNOW_INSTANCE_URL=https://devXXXXXX.service-now.com
SNOW_USERNAME=admin
SNOW_PASSWORD=your-password
# optional, default 15
SNOW_TIMEOUT_SECONDS=15Run the server (it speaks MCP over stdin/stdout, so there is nothing to see — an MCP client must launch it):
uv run server.pyRegistering with an MCP client
Point the client at uv with the project directory so the .venv and .env are picked up:
{
"mcpServers": {
"servicenow": {
"command": "uv",
"args": ["--directory", "/absolute/path/to/servicenow-mcp", "run", "server.py"]
}
}
}For Claude Code: claude mcp add servicenow -- uv --directory /absolute/path/to/servicenow-mcp run server.py.
Environment variables already set in the client's environment take precedence over .env.
Related MCP server: sn-mcp-bridge
Tools
Tool | Parameters | What it does | Returns |
|
| Creates a new incident. |
|
|
| Lists incidents newest first. |
|
|
| Looks the incident up by number, appends a work note and/or sets the state. At least one of |
|
All tools raise a readable tool error (surfaced to the agent as isError) instead of a
stack trace, e.g.:
Authentication failed (401): check SNOW_USERNAME and SNOW_PASSWORD. ServiceNow said: User is not authenticated …Could not connect to https://…: [Errno 8] nodename nor servname provided … Check SNOW_INSTANCE_URL and your network connection.Timed out after 15s talking to https://… The instance may be hibernating (PDI) or unreachable.Incident 'INC9999999' was not found on https://….Forbidden (403): the user lacks permission … or the update was rejected by a business rule. ServiceNow said: …(e.g. resolving an incident without resolution fields).
Design notes
ServiceNowClientwraps a singlehttpx.AsyncClient(basic auth, JSON headers, timeout) and exposescreate_record / query_records / get_record_by_number / update_record. All errors are translated toServiceNowErrorwith a human-readable message.The tools get the client through
get_client(); callset_client(fake)in tests to swap in a mock without touching the network.Records are fetched with
sysparm_display_value=all, so state/urgency labels come from the instance itself rather than a hard-coded map (the friendly-name aliases are input-only).mcp2.x renamedFastMCPtoMCPServer;server.pyimports whichever exists so it runs on both 1.x and 2.x.
Smoke test
Run against the live instance (writes one incident):
uv run python -c "
import asyncio, server
async def main():
c = await server.create_incident('MCP server smoke test', 'created by smoke test')
print(c)
print(await server.query_incidents(query_text='MCP server smoke test'))
print(await server.update_incident(c['number'], work_notes='hello from MCP'))
asyncio.run(main())
"This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityCmaintenanceA production-ready MCP server that turns any MCP-compatible AI assistant into an AI-powered ServiceNow Incident Management Assistant, exposing incidents, users, CMDB records, and knowledge articles through validated tools.12
- Alicense-qualityBmaintenanceA lightweight MCP server that gives AI coding assistants full development capability on ServiceNow through the Table API, enabling CRUD and script execution without local installation.17MIT
- Flicense-qualityBmaintenanceMCP server that enables LLMs to interact with ServiceNow instances for managing incidents, users, stories, workflows, knowledge base articles, and script includes via the FastMCP framework.
- AlicenseAqualityCmaintenanceAn MCP server for interacting with a ServiceNow instance via its Table API, enabling CRUD operations on incident, request, and requested item tables, as well as generic operations on any table by name.22MIT
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
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/matheuscalma/servicenow-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server