Skip to main content
Glama

servicenow-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

Related MCP server: snow-mcp

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.

  1. Make sure you have Docker Desktop installed and running.

  2. Copy .env.example to .env and fill in your ServiceNow credentials:

    cp .env.example .env
    # then open .env and set SERVICENOW_INSTANCE_URL, SERVICENOW_USERNAME, SERVICENOW_PASSWORD
  3. Build and start the container:

    docker-compose up --build

    The first run will take a minute to download and build everything. After that it's fast.

  4. 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.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/mady22070/servicenow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server