About MCP Server for ServiceNow
An MCP server that exposes ServiceNow operations to Claude and other MCP clients. Its domain-based tool packs cover ITSM, CMDB, development, integrations, and workflow tasks, with stdio and HTTP transports.
Key features
- 01ITSM incident and change tools
- 02CMDB and discovery operations
- 03Development and data-management tools
- 04Workflow and integration tools
- 05Optional RAG knowledge search
- 06stdio and HTTP transports
Use cases
- 01Handling incidents and service requests
- 02Managing CMDB and discovery tasks
- 03Working with ServiceNow development tools
- 04Searching ServiceNow knowledge semantically
MCP support
Exposes ServiceNow functionality as tools for MCP clients. Supports stdio and HTTP transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEservicenow-mcp
An MCP (Model Context Protocol) server that lets Claude interact with a ServiceNow instance. Exposes ServiceNow functionality as tools Claude can call directly from Claude Desktop or any MCP-compatible client.
Requirements
- Python 3.10+
- A ServiceNow instance (developer instance works fine)
- Claude Desktop or another MCP client
Installation
pip install -r requirements.txt
For RAG-based knowledge search (optional):
pip install chromadb sentence-transformers
Configuration
Set the following environment variables (or copy .env.example to .env):
SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
# Optional — enables semantic knowledge search
OPENAI_API_KEY=your-openai-key
Choosing a transport
The server supports two transports:
| Transport | When to use |
|---|---|
stdio (default) | Claude Desktop — the standard local setup |
http | Cursor, Cline, LangChain, OpenAI Agents SDK, any web client |
Claude Desktop setup
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"servicenow": {
"command": "python",
"args": ["-m", "servicenow_mcp"],
"env": {
"SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
"SERVICENOW_USERNAME": "your-username",
"SERVICENOW_PASSWORD": "your-password"
}
}
}
}
HTTP transport (Cursor, Cline, LangChain, OpenAI Agents SDK)
Start the server in HTTP mode:
MCP_TRANSPORT=http python -m servicenow_mcp
The MCP endpoint is at http://localhost:8000/mcp.
To require an API key on all requests:
MCP_TRANSPORT=http MCP_API_KEY=your-secret-key python -m servicenow_mcp
Clients must then include Authorization: Bearer your-secret-key in every request.
Cursor / Cline config
{
"mcpServers": {
"servicenow": {
"url": "http://localhost:8000/mcp",
"headers": {
"Authorization": "Bearer your-secret-key"
}
}
}
}
Docker + HTTP mode
docker run -p 8000:8000 \
-e MCP_TRANSPORT=http \
-e MCP_API_KEY=your-secret-key \
-e SERVICENOW_INSTANCE_URL=https://your-instance.service-now.com \
-e SERVICENOW_USERNAME=your-username \
-e SERVICENOW_PASSWORD=your-password \
servicenow-mcp
What's included
Tools are grouped into packs by domain:
| Category | Packs |
|---|---|
| Core development | scripts, dev, background scripts, senior dev |
| Data / config | tables, data import/export, update sets, attachments |
| ITSM | incidents, changes, problems, requests, approvals |
| CMDB / discovery | CMDB, CSDM, discovery, ITAM, ITOM, SAM/HAM |
| Workflow | Flow Designer, pipelines, planner |
| Integrations | Scripted REST APIs, integration hub |
| UI | UI Builder, service catalog, UX |
| App development | scoped apps, best practices, naming conventions |
| Testing | ATF, troubleshooting |
| Knowledge | docs search, knowledge base, RAG search |
| Security | governance, impersonation, events |
Running with Docker
If you don't want to deal with Python environments, you can run the server inside Docker instead.
-
Make sure you have Docker Desktop installed and running.
-
Copy
.env.exampleto.envand fill in your ServiceNow credentials:cp .env.example .env # then open .env and set SERVICENOW_INSTANCE_URL, SERVICENOW_USERNAME, SERVICENOW_PASSWORD -
Build and start the container:
docker-compose up --buildThe first run will take a minute to download and build everything. After that it's fast.
-
To stop it:
docker-compose down
That's it. Logs are saved to a logs/ folder in the project directory.
If you want to use it with Claude Desktop, you still need to run it via
python -m servicenow_mcp(the Claude Desktop integration talks over stdin/stdout, not HTTP). Docker is more useful if you're running this as a standalone service or testing it independently.
Running tests
pytest
Contributing
See CONTRIBUTING.md.
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.