mcpField
S
Servicenow Devtools MCP

Servicenow Devtools MCP

本地服务
github.com/Xerrion开发工具42 天前更新

关于 Servicenow Devtools MCP

ServiceNow Devtools MCP 将 AI 应用连接到 ServiceNow,用于处理工单、检查实例、排查问题和审阅变更。可访问范围由账户角色、API 策略和 ACL 决定。

主要功能

  1. 01读取 ITSM 记录和历史
  2. 02检查表、字段、脚本和流程
  3. 03调查错误和事务
  4. 04审阅拟议的记录与脚本变更

适用场景

  1. 01汇总事件和请求答案
  2. 02查找脚本或检查 Flow Designer 流程
  3. 03应用前审阅工单或脚本变更
  4. 04调查近期错误和表健康状况

MCP 相关

这是通过 stdio 在本地启动的 MCP 服务,向 AI 应用提供 ServiceNow 记录、配置和诊断工具。启用写入工具后可预览变更,仍受 ServiceNow 权限和本地策略约束。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"servicenow-devtools": {
"command": "uvx",
"args": [
"servicenow-devtools-mcp"
],
"env": {
"SERVICENOW_INSTANCE_URL": "<SERVICENOW_INSTANCE_URL>",
"SERVICENOW_USERNAME": "<SERVICENOW_USERNAME>",
"SERVICENOW_PASSWORD": "<SERVICENOW_PASSWORD>",
"MCP_TOOL_PACKAGE": "<MCP_TOOL_PACKAGE>",
"SERVICENOW_ENV": "<SERVICENOW_ENV>"
}
}
}
}
启动命令uvx servicenow-devtools-mcp
需要配置的环境变量
SERVICENOW_INSTANCE_URL
SERVICENOW_USERNAME
SERVICENOW_PASSWORD密钥
MCP_TOOL_PACKAGE
SERVICENOW_ENV

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiservicenow-devtools-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ServiceNow 平台 MCP

将 AI 应用连接到 ServiceNow,以读取工单、检查配置,并准备对记录或脚本进行更改。此服务使用 Model Context Protocol(MCP)。

使用你的 ServiceNow 账户登录。你的角色、API 访问策略和 访问控制规则(ACL)决定你可以读取或更改哪些内容。

从这里开始

如果服务已配置,请向 AI 应用提问:

使用 ServiceNow 显示我可以访问的 5 个活动事件。包括事件 编号、简短描述、优先级和负责人。不要进行任何更改。

如果需要登录,服务会在其所在的计算机上打开浏览器。

ITSM 工作

读取事件、问题、变更和请求记录。查看历史记录、检查 附件,或统计某个状态更新涉及的记录数量。

例如:

  • “显示分配给 Service Desk 组的 10 个活动事件,按优先级排序。”
  • “总结 INC0012345,包括过去 30 天的评论和工作备注。”
  • “按分配组统计未结事件数量。注明使用的筛选条件。”
  • “显示随 RITM0012345 提交的答案。”

使用实例中的记录编号和组名。列出记录和历史记录时,请注明时间段 并设置数量上限。

创建工单、更新工作备注和更改分配需要写入工具和 ServiceNow 权限。请参阅进行更改。

实例管理和开发

检查配置、调查问题并准备更改。可从记录名称或问题开始。 你无需知道 MCP 工具名称。

工作可检查的内容
表和字段字段类型、选项标签、引用和继承字段。
脚本Business Rules、Script Includes、Client Scripts 和代码搜索匹配项。
Flow DesignerFlow 和子流程的触发器、输入、输出及已配置步骤。
故障排查最近的错误、缓慢的事务、表健康状况和审计历史记录。
配置管理数据库(CMDB)配置项、它们之间的关系及类元数据。

例如:

  • “读取名为 ‘Validate priority’ 的 Business Rule。说明其运行时机及脚本的作用。”
  • “查找调用 gs.eventQueue 的脚本。显示匹配记录。”
  • “检查 ‘New starter’ 流程。说明其触发器和已配置步骤。”
  • “调查过去 24 小时内的脚本错误。为每项发现提供证据。”

请将示例规则和流程名称替换为实例中的名称。 诊断结果可帮助你调查问题,但不能确定根本原因,也不会修复实例。 flow 工具会检查配置,在本地检查已保存的 V2 结构,并读取状态。 它不能更改或执行流程。

启用写入工具后,你可以创建或更新配置记录, 包括脚本字段。应用脚本更改前,请遵循变更工作流。

连接设置

管理员负责准备 OAuth。每位用户使用自己的 ServiceNow 账户授权访问。AI 应用会使用 stdio 在本地启动服务。 你需要 Python 3.14 或更高版本、uv, 以及能够启动本地 MCP 服务的 AI 应用。

1. 在 ServiceNow 中准备 OAuth

OAuth 允许用户在浏览器中授权连接。公共客户端 ID 用于标识应用,不是密码或客户端密钥。

打开 System OAuth > Application Registry。选择 New,然后选择 Create an OAuth API endpoint for external clients,或选择现有的入站应用。 配置应用以满足以下要求:

要求值
客户端类型公共,无客户端密钥
授权流程使用 PKCE 的授权码
PKCE 方法S256
范围useraccount
重定向 URLhttp://127.0.0.1:8765/oauth/callback

保存应用并复制其公共客户端 ID。如果无法配置 OAuth,请向管理员索取客户端 ID 和实例 URL。 用户仍需要 API 访问权限以及表和字段权限。

2. 将连接添加到 AI 应用

将 https://your-instance.service-now.com 和 your-public-client-id 替换为管理员提供的值。使用实例的 HTTPS 地址, 不要包含 /nav_to.do 之类的页面路径。

以下示例选择 readonly,并通过 SERVICENOW_ENV=prod 阻止写入。 环境设置用于控制写保护,不会选择实例,也不会检测实例是否为生产环境。

添加此配置时,请保留现有服务条目。 不要添加密码、API 密钥、客户端密钥或令牌。

VS Code 搭配 GitHub Copilot,或 Claude Code

将此配置保存为 AI 应用所打开的顶层文件夹中的 .mcp.json:

{
  "mcpServers": {
    "servicenow-platform": {
      "command": "uvx",
      "args": ["servicenow-platform-mcp"],
      "env": {
        "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
        "SERVICENOW_OAUTH_CLIENT_ID": "your-public-client-id",
        "MCP_TOOL_PACKAGE": "readonly",
        "SERVICENOW_ENV": "prod"
      }
    }
  }
}

在 VS Code 中,打开聊天并启用 ServiceNow 工具。 在 Claude Code 中,出现提示时批准项目 MCP 服务。 如需了解用户级配置和连接控制,请参阅 VS Code 指南 或 Claude Code 指南。

打开 OpenCode 配置

将以下内容添加到项目中的 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servicenow-platform": {
      "type": "local",
      "command": ["uvx", "servicenow-platform-mcp"],
      "enabled": true,
      "environment": {
        "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com",
        "SERVICENOW_OAUTH_CLIENT_ID": "your-public-client-id",
        "MCP_TOOL_PACKAGE": "readonly",
        "SERVICENOW_ENV": "prod"
      }
    }
  }
}

重启 OpenCode。其他配置选项请参阅其 MCP 指南。

对于其他本地 MCP 应用,请使用命令 uvx servicenow-platform-mcp 并设置相同的四个环境变量。其配置格式可能有所不同。 安装指南中包含可供改编的服务条目。

3. 登录并检查访问权限
  1. 保存配置后,重启 AI 应用或其 ServiceNow MCP 服务。
  2. 提问:“列出可用的 ServiceNow 工具。”
  3. 提问:“使用 ServiceNow 显示一条未关闭的事件记录,并包含其编号和简短描述。”
  4. 如果出现提示,请在浏览器中使用预期的 ServiceNow 账户登录。

返回的记录可确认对该表的读取权限。如果无法读取事件, 请改用账户有权访问的表。仅发现工具并不能确认连接正常。

默认情况下,令牌保留在服务内存中。服务会在可能的情况下续订过期的访问令牌。 可选设置 SERVICENOW_OAUTH_CACHE=os 会将刷新令牌存储在操作系统原生凭据存储中, 以便新的本地进程复用之前的登录信息。请参阅 OAuth 缓存配置。

进行更改

请先使用开发或测试实例。请管理员仅启用所需的写入工具,并授予相应的 ServiceNow 权限。

例如,MCP_TOOL_PACKAGE=query,describe,record_read,record_write 可启用记录检查和更改。为该非生产实例设置 SERVICENOW_ENV=dev。更改配置后,请重启服务。

记录、附件和目录更改在 apply_change 之前都必须先预览。 服务端不会强制要求人工审批。应用更改前,请逐项检查:

  1. 请应用读取当前记录。
  2. 请应用预览拟议的更改。
  3. 检查目标实例、记录、字段值和脚本差异。
  4. 仅在你批准后,才告知应用执行该预览。
  5. 在 ServiceNow 中检查结果,并在实例上测试任何更改后的行为。

对于工单更新:

预览向 INC0012345 添加以下工作备注:“等待来电者确认修复情况。”显示拟议更改,并等待我的批准。

对于脚本更新:

读取名为 'Validate priority' 的业务规则。提出修正建议并加以说明。显示包含完整替换脚本的预览。在我批准前,请勿应用更改。

预览工具会返回一次性令牌。apply_change 会检查策略、授权和可检测到的状态更改。令牌会在 300 秒后过期,并在重启后失效。如果结果为 UNKNOWN_OUTCOME,请先读取目标状态,再创建另一个预览。请勿自动重放该操作。

readonly 软件包包含目录浏览功能。目录更改需要 service_catalog_write 组权限。预览不会模拟履行流程,也不保证价格。

脚本更新会替换整个字段值。服务端不会检查 JavaScript 语法。请先检查并测试脚本,再依赖其行为。

将 SERVICENOW_ENV 设置为 prod 或 production,即可阻止通过此服务端进行写入。ServiceNow 权限仍会控制记录访问。工具选择和环境设置提供额外的本地控制。

选择可用工具

MCP_TOOL_PACKAGE 控制 AI 应用可调用哪些工具:

软件包用途
readonlyITSM 读取、元数据、附件、调查、审计、流程、代码搜索和 CMDB 检查。
core_readonly仅查询、表描述和附件读取。
full所有工具,包括经过审核的记录、附件和目录更改。
none仅 list_tool_packages,用于检查服务端是否能够启动。

软件包默认为 readonly,环境默认为 prod。 软件包会启用工具,但不会授予 ServiceNow 权限。 list_tool_packages 会列出可用的软件包和组,而非当前启用的软件包。 完整清单和工具输入请参阅工具参考。

如果遇到问题

问题后续操作
AI 应用无法启动服务检查 Python、uv、服务命令以及两个必需的 ServiceNow 设置。
未打开浏览器,或授权超时使用服务所在计算机上的浏览器。检查已注册的重定向 URL 是否准确。
ServiceNow 拒绝 OAuth请管理员检查公共客户端模式、PKCE S256、客户端 ID、范围和重定向 URL。
登录成功,但记录请求返回 401 或 403请管理员检查 API 策略、角色以及记录或字段访问规则。
缺少工具,或设置未生效检查 MCP_TOOL_PACKAGE 并重启 MCP 服务。

请求失败时,请在报告中注明操作、记录或表以及经过脱敏的错误信息。 请勿包含密码、令牌、原始标头或浏览器回调 URL。 如需更详细的检查步骤,请参阅安装故障排除。

工具返回的 ServiceNow 数据会提供给 AI 应用使用。 请使用获准处理相应数据的应用。

更多帮助

报告问题 · PyPI 软件包 · MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。