ServiceNow MCP Server

io.github.jschuller由 GitHub 帳號 jschuller 發布v0.9.3更新於 Oct 30, 2026

ServiceNow MCP server: Table API, CMDB, schema, aggregates, update sets and four Agent Skills.

概覽

AI 產生的概覽

把助理連接到 ServiceNow 執行個體,可查詢資料表、讀取結構與 CMDB 資料、執行彙總統計並檢視更新集。

可以做什麼
  • 在任意 ServiceNow 資料表中查詢、建立、更新與刪除記錄,並執行彙總計數與統計
  • 列出、讀取與寫入 CMDB 組態項目,並檢視其關聯關係
  • 查看資料表結構、目前使用者、系統屬性,以及某資料表或欄位被哪些地方引用
  • 列出、讀取與建立更新集,設定目前更新集並檢視其變更
  • 讀取隨套件提供的資源(資料表結構、執行個體資訊、CMDB 類別階層),以及四套引導式技能工作流程
適用情境
適合需要處理 ServiceNow ITSM 或 CMDB 資料、希望助理直接回答記錄、欄位、角色、資料品質或待發布更新集相關問題的情境,省去在平台上逐頁點選。適用於開發者與管理員,可在開發者執行個體或設有整合使用者的公司執行個體上使用。
執行需求
以 Python 套件形式在本機執行,透過 uvx 啟動,需先安裝 uv。需設定 SERVICENOW_INSTANCE_URL 及憑證:基本驗證用 SERVICENOW_USERNAME 與 SERVICENOW_PASSWORD,OAuth 用 SERVICENOW_CLIENT_ID 與 SERVICENOW_CLIENT_SECRET,或使用 SERVICENOW_API_KEY。需要能連線至該執行個體的網路,可見範圍由該使用者在 ServiceNow 中的角色決定。
安裝前請注意
用戶端設定中會保存 ServiceNow 憑證(SERVICENOW_PASSWORD、SERVICENOW_CLIENT_SECRET、SERVICENOW_API_KEY),請勿寫入共用檔案。寫入類工具會建立、更新與刪除記錄、組態項目與更新集;在不會確認寫入的用戶端上應啟用 SERVICENOW_READ_ONLY 或使用唯讀身分。SERVICENOW_ALLOW_JS_QUERIES 允許在查詢中使用任意 javascript。更新集與系統屬性需要管理員角色。資料只會傳送到你的執行個體。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ServiceNow MCP Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[ServiceNow MCP Server]

ServiceNow MCP Server

[PyPI] [Downloads] [CI] [License]

Connect Claude Code, GitHub Copilot, Codex, opencode, Antigravity or any MCP client to ServiceNow:
query any table, read schema and CMDB, review update sets. Free, MIT, works on a free developer instance.


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 historyclaude 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-servicenowclaude plugin install servicenow@mcp-server-servicenow
Windows (PowerShell)

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
VS Code (GitHub Copilot)

[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}"      }    }  }}
Claude Desktop

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"      }    }  }}

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.

To run with the tools only, add the server without the plugin (claude mcp add, or an mcp.json entry) and set SERVICENOW_SKILLS=off (or --skills off). off changes only what the server serves: the Claude Code plugin still loads the four skills from its own folder (configuration).

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.

來源:README.md,提交 cac68dd

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

5
  1. v0.9.3最新Oct 29, 2026
  2. v0.9.2Oct 21, 2026
  3. v0.9.1Oct 13, 2026
  4. v0.8.0Oct 12, 2026
  5. v0.7.0Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分