ServiceNow MCP Server

平台与服务

by jschuller

为 ServiceNow 提供 18 个 MCP tools,覆盖 incidents、CMDB、update sets,并支持 OAuth 2.1 与 Tokyo+。

什么是 ServiceNow MCP Server?

为 ServiceNow 提供 18 个 MCP tools,覆盖 incidents、CMDB、update sets,并支持 OAuth 2.1 与 Tokyo+。

README

<!-- mcp-server: servicenow | tools: 20 | resources: 5 | skills: 4 | transport: stdio,streamable-http | auth: basic,oauth,api_key | framework: fastmcp-4.1 --> <!-- mcp-name: io.github.jschuller/mcp-server-servicenow --> <p align="center"> <img src="https://raw.githubusercontent.com/jschuller/mcp-server-servicenow/main/docs/hero.png" alt="ServiceNow MCP Server" width="100%"> </p> <h1 align="center">ServiceNow MCP Server</h1> <p align="center"> <a href="https://pypi.org/project/mcp-server-servicenow/"><img src="https://img.shields.io/pypi/v/mcp-server-servicenow?color=005E4D&label=PyPI" alt="PyPI"></a> <a href="https://pypi.org/project/mcp-server-servicenow/"><img src="https://img.shields.io/pypi/dm/mcp-server-servicenow?color=005E4D&label=downloads" alt="Downloads"></a> <a href="https://github.com/jschuller/mcp-server-servicenow/actions/workflows/ci.yml"><img src="https://github.com/jschuller/mcp-server-servicenow/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://github.com/jschuller/mcp-server-servicenow/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue" alt="License"></a> </p> <p align="center"> Connect Claude Code, GitHub Copilot, Codex, opencode, Antigravity or any MCP client to ServiceNow:<br> query any table, read schema and CMDB, review update sets. Free, MIT, works on a free developer instance. </p>

uvx mcp-server-servicenow gives an AI assistant the ServiceNow developer data plane: the Table API, the data dictionary, Stats API aggregates, the CMDB and update sets, on any release from Tokyo up. It runs alongside ServiceNow's own MCP servers (how they differ).

What you can ask

  • "Which fields does cmdb_ci_server have, including inherited ones?"
  • "Who holds admin, and which roles are granted directly instead of through a group?"
  • "Review update set 'Q3 fixes' before I promote it."
  • "Which server CIs are missing an IP address or an owner?"
  • "How many open incidents does each assignment group have?" (any table works, not just the platform ones)

Quick start

About ten minutes on a free developer instance. On a company instance, ask your ServiceNow admin for the user in step 2.

1. Get a ServiceNow instance

Sign up for a free Personal Developer Instance (PDI) — it comes with demo incidents, changes and CIs. PDIs hibernate after a few hours idle: wake yours from the developer portal before you start.

2. Create an integration user

Don't connect as admin: new instances refuse REST basic auth for it (why), and the server needs far less.

  1. Sign in as admin and go to All › User Administration › Users › New.
  2. User ID mcp.integration, Identity type Machine (this ticks Web service access only), and tick Internal Integration User. If your form has no Identity type, tick Web service access only yourself. Submit, then open the user again.
  3. Set Password, and keep the password for step 3.
  4. Roles › Edit: add itil and snc_read_only, save.

That user can read incidents, changes, problems, CMDB and aggregates, and can't change anything. Schema, update sets and writes need more: see roles.

3. Add the server to your client

You need uv (uvx runs the server without installing it). In Claude Code:

bash
read -rs SERVICENOW_PASSWORD     # paste the password; it is not shown or kept in your history
claude mcp add servicenow \
  -e SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com \
  -e SERVICENOW_USERNAME=mcp.integration \
  -e SERVICENOW_PASSWORD="$SERVICENOW_PASSWORD" \
  -- uvx mcp-server-servicenow

Or install the Claude Code plugin, which adds the four skills as slash commands. It reads the same SERVICENOW_* variables from the shell that starts Claude Code (details):

bash
claude plugin marketplace add jschuller/mcp-server-servicenow
claude plugin install servicenow@mcp-server-servicenow
<details> <summary><strong>Windows (PowerShell)</strong></summary>

Install uv with winget install astral-sh.uv, then:

powershell
$s = Read-Host 'Password' -AsSecureString
$p = [Runtime.InteropServices.Marshal]::PtrToStringBSTR([Runtime.InteropServices.Marshal]::SecureStringToBSTR($s))
claude mcp add servicenow -e SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com -e SERVICENOW_USERNAME=mcp.integration -e "SERVICENOW_PASSWORD=$p" -- uvx mcp-server-servicenow
</details> <details> <summary><strong>VS Code (GitHub Copilot)</strong></summary>

Install in VS Code

The button adds the server to your VS Code user profile and asks for the instance URL, user and password on first start, storing the password securely. Or add this to .vscode/mcp.json. Use Copilot Chat in Agent mode.

json
{
  "inputs": [
    { "type": "promptString", "id": "servicenow-url", "description": "ServiceNow instance URL, e.g. https://devNNNNNN.service-now.com" },
    { "type": "promptString", "id": "servicenow-password", "description": "Password for mcp.integration", "password": true }
  ],
  "servers": {
    "servicenow": {
      "type": "stdio",
      "command": "uvx",
      "args": ["mcp-server-servicenow"],
      "env": {
        "SERVICENOW_INSTANCE_URL": "${input:servicenow-url}",
        "SERVICENOW_USERNAME": "mcp.integration",
        "SERVICENOW_PASSWORD": "${input:servicenow-password}"
      }
    }
  }
}
</details> <details> <summary><strong>Claude Desktop</strong></summary>

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

json
{
  "mcpServers": {
    "servicenow": {
      "command": "uvx",
      "args": ["mcp-server-servicenow"],
      "env": {
        "SERVICENOW_INSTANCE_URL": "https://devNNNNNN.service-now.com",
        "SERVICENOW_USERNAME": "mcp.integration",
        "SERVICENOW_PASSWORD": "your-password"
      }
    }
  }
}
</details>

Codex, opencode, Antigravity, Cursor, pi, the Claude Code plugin and keeping the password out of config files: client setup.

4. Check it works

Ask: "List the 5 most recent incidents." The start-here user holds snc_read_only, so the server lists only the 13 read-only tools. Give the user write roles (and remove snc_read_only) and the 7 write tools appear; your client asks before each write.

No answer? Run the same configuration with --check. It makes read-only requests, prints one line per check (instance reachable, identity, roles, table read, schema, aggregates) and never prints a secret:

bash
SERVICENOW_INSTANCE_URL=https://devNNNNNN.service-now.com SERVICENOW_USERNAME=mcp.integration \
  SERVICENOW_PASSWORD="$SERVICENOW_PASSWORD" uvx mcp-server-servicenow --check

Got an answer back? Say which client and ServiceNow release in Show and tell — it tells us what works. Questions go to Q&A.

If it doesn't work

You seeFix
Got HTML instead of JSONThe PDI is asleep: wake it and retry
401The user isn't Web service access only, or the password is wrong (401)
403The user lacks a role for that table or tool (roles)

Everything else: run --check (above), then TROUBLESHOOTING.

Tools

20 tools, 5 resources and 4 skills. Full reference: tools, resources and skills.

GroupTools
Table APIlist_records get_record create_record update_record delete_record aggregate_records
CMDBlist_ci get_ci create_ci update_ci get_ci_relationships
Systemget_table_schema get_current_user get_system_properties find_references
Update setslist_update_sets get_update_set create_update_set set_current_update_set list_update_set_changes

Resources: table schemas, instance info, the current update set, the CMDB class hierarchy and an encoded-query reference — read without a tool call.

Skills: four guided workflows for the Now Platform, served over MCP as skill:// resources so every client gets them with no plugin:

  • exploring-tables: schemas, choice lists, a record's history, what touches a table or field, the encoded-query reference;
  • analyzing-access: who holds which roles, team rosters and group members, and what a 403 or a missing field means;
  • reviewing-update-sets: risk categories and a pre-promotion checklist;
  • servicenow-cmdb: CMDB data quality and CSDM conformance.

Community skills: skills for applications such as ITSM, and for your own conventions, live in their authors' repositories, each with its own eval results:

The incident triage skill that shipped here until 0.9.0 is now an example.

Roles

ServiceNow's ACLs decide what the user can do; the server adds nothing on top.

You wantRolesRun with
Read ITSM and CMDB data (the start-here user)itil + snc_read_onlyno flag: write tools are hidden for snc_read_only
…and create or update incidents and CIsitil (no snc_read_only)no flag; the client asks before writes (--read-only on clients that don't ask)
…and delete incidents, problems, changesadd itil_admin
Table schemasadd personalize_dictionary
Update sets, system propertiesadmin — on a PDI only

Per-tool detail: roles per tool. Setting up a company instance: recommended integration identity.

Safety and governance

  • Read-only mode — --read-only hides the 7 write tools and refuses any non-GET request.
  • Read-only identities see read-only tools — when the user holds snc_read_only the write tools are hidden without a flag. A convenience, not a control: ServiceNow refuses those writes anyway.
  • Table scope lives in ServiceNow — ACLs and REST API access policies on the integration user decide which tables and fields it can read, dot-walks included.
  • Audit log — one JSON line per tool call or resource read: who, which table, outcome; written fields by name only, never their values, and secret-like values in queries masked.
  • Your client approves writes — every tool is annotated read-only or destructive, so Claude Code, Copilot and Codex ask before a write. Clients that don't ask (opencode by default, pi) need a read-only identity, or --read-only when the identity can write.

Flags and environment variables: configuration.

Works with

Verified with 0.8.0 on 2026-10-11 against ServiceNow Brazil, and the 0.9.0 skills re-checked in Claude Code and Codex: Claude Code 2.1.296, VS Code 1.140 with GitHub Copilot, Codex CLI 0.162.1, opencode 1.19.0, Antigravity CLI 1.1.20 and pi 1.1.0. Claude Desktop, Cursor and any other client that speaks MCP over stdio or Streamable HTTP should work too; behaviour per client: client setup.

More

Write your own skills: EXTENDING.md covers the template, the validator and how to share them. Next: MCP prompts.

Related: sn-app-template — a ServiceNow scoped app template for Claude Code + now-sdk that pairs with this server.

License

MIT. An independent project, not affiliated with or endorsed by ServiceNow, Inc. ServiceNow is a trademark of ServiceNow, Inc.

常见问题

ServiceNow MCP Server 是什么?

为 ServiceNow 提供 18 个 MCP tools,覆盖 incidents、CMDB、update sets,并支持 OAuth 2.1 与 Tokyo+。

相关 Skills

MCP构建

by anthropics

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描176.4k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描176.4k

接口测试套件

by alirezarezvani

Universal
热门

扫描 Next.js、Express、FastAPI、Django REST 的 API 路由,自动生成覆盖鉴权、参数校验、错误码、分页、上传与限流场景的 Vitest 或 Pytest 测试套件。

✎ 帮你把API与集成测试自动化跑顺,减少回归漏测;能力全面,尤其适合复杂接口场景的QA团队。

平台与服务
未扫描26.0k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
89.7k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
80.0k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
72.9k

评论