servicenow mcp
一个MCP(模型上下文协议)服务器,允许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代理SDK、任何web客户端 |
Claude桌面设置
将此添加到您的 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传输(游标、Cline、LangChain、OpenAI代理SDK)
以HTTP模式启动服务器:
MCP_TRANSPORT=http python -m servicenow_mcpMCP端点位于 http://localhost:8000/mcp.
要在所有请求上要求API密钥,请执行以下操作:
MCP_TRANSPORT=http MCP_API_KEY=your-secret-key python -m servicenow_mcp客户必须包括 Authorization: Bearer your-secret-key 在每一个请求中。
光标/线配置
{
"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 |
| 工作流 | 流设计器、管道、规划器 |
| 集成 | 脚本化REST API,集成中心 |
| UI | UI生成器、服务目录、用户体验 |
| 应用程序开发 | 范围应用程序、最佳实践、命名约定 |
| 测试 | ATF,故障排除 |
| 知识 | 文档搜索、知识库、RAG搜索 |
| 安全 | 治理、模拟、事件 |
使用Docker运行
如果你不想处理Python环境,你可以在Docker中运行服务器。
- 确保你有 安装并运行。
- 复制
.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贡献
看 贡献.md.
许可证
麻省理工学院——见 许可证.

