关于 MCP Server for ServiceNow
这是一个将 ServiceNow 操作提供给 Claude 和其他 MCP 客户端的 MCP 服务。按领域划分的工具包涵盖 ITSM、CMDB、开发、集成和工作流,并支持 stdio 与 HTTP 传输。
主要功能
- 01ITSM 事件与变更工具
- 02CMDB 与发现操作
- 03开发和数据管理工具
- 04工作流与集成工具
- 05可选的 RAG 知识搜索
- 06stdio 与 HTTP 传输
适用场景
- 01处理事件和服务请求
- 02管理 CMDB 与发现任务
- 03使用 ServiceNow 开发工具
- 04语义搜索 ServiceNow 知识
MCP 相关
通过工具向 MCP 客户端提供 ServiceNow 功能,支持 stdio 和 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
servicenow-mcp
一个 MCP(Model Context Protocol)服务,可让 Claude 与 ServiceNow 实例交互。它将 ServiceNow 功能作为工具提供,Claude 可以通过 Claude Desktop 或任何兼容 MCP 的客户端直接调用这些工具。
要求
- Python 3.10+
- ServiceNow 实例(开发者实例也可以)
- Claude Desktop 或其他 MCP 客户端
安装
pip install -r requirements.txt
如需基于 RAG 的知识搜索(可选):
pip install chromadb sentence-transformers
配置
设置以下环境变量(或将 .env.example 复制为 .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
选择传输方式
此服务支持两种传输方式:
| 传输方式 | 使用场景 |
|---|---|
stdio(默认) | Claude Desktop — 标准本地配置 |
http | Cursor、Cline、LangChain、OpenAI Agents SDK 及任何 Web 客户端 |
Claude Desktop 配置
将以下内容添加到 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 传输(Cursor、Cline、LangChain、OpenAI Agents SDK)
以 HTTP 模式启动服务:
MCP_TRANSPORT=http python -m servicenow_mcp
MCP 端点位于 http://localhost:8000/mcp。
如需对所有请求启用 API 密钥验证:
MCP_TRANSPORT=http MCP_API_KEY=your-secret-key python -m servicenow_mcp
之后,客户端必须在每个请求中包含 Authorization: Bearer your-secret-key。
Cursor / Cline 配置
{
"mcpServers": {
"servicenow": {
"url": "http://localhost:8000/mcp",
"headers": {
"Authorization": "Bearer your-secret-key"
}
}
}
}
Docker + HTTP 模式
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
包含内容
工具按领域分组为工具包:
| 类别 | 工具包 |
|---|---|
| 核心开发 | 脚本、开发、后台脚本、高级开发 |
| 数据 / 配置 | 表、数据导入/导出、更新集、附件 |
| ITSM | 事件、变更、问题、请求、审批 |
| CMDB / 发现 | CMDB、CSDM、发现、ITAM、ITOM、SAM/HAM |
| 工作流 | Flow Designer、管道、规划器 |
| 集成 | 脚本化 REST API、集成中心 |
| UI | UI Builder、服务目录、UX |
| 应用开发 | 作用域应用、最佳实践、命名规范 |
| 测试 | ATF、故障排查 |
| 知识 | 文档搜索、知识库、RAG 搜索 |
| 安全 | 治理、模拟用户、事件 |
使用 Docker 运行
如果不想处理 Python 环境,也可以在 Docker 中运行此服务。
-
确保已安装并启动 Docker Desktop。
-
将
.env.example复制为.env,并填写 ServiceNow 凭据:cp .env.example .env # then open .env and set SERVICENOW_INSTANCE_URL, SERVICENOW_USERNAME, SERVICENOW_PASSWORD -
构建并启动容器:
docker-compose up --build首次运行需要一分钟左右来下载并构建所有内容。之后运行速度会很快。
-
停止容器:
docker-compose down
就这么简单。日志保存在项目目录中的 logs/ 文件夹内。
如果要与 Claude Desktop 配合使用,仍需通过
python -m servicenow_mcp运行(Claude Desktop 集成通过 stdin/stdout 通信,而不是 HTTP)。如果要将其作为独立服务运行或单独测试,Docker 会更实用。
运行测试
pytest
贡献
参见 CONTRIBUTING.md。
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。