ServiceNow MCP 服务器
一个与 ServiceNow 交互的模型上下文协议 (MCP) 服务器,允许 AI 代理通过安全的 API 访问和操作 ServiceNow 数据。该服务器支持与 ServiceNow 进行自然语言交互,从而更轻松地搜索、更新记录和管理脚本。
特征
资源
servicenow://incidents:列出最近发生的事件servicenow://incidents/{number}:通过编号获取特定事件servicenow://users:列出用户servicenow://knowledge:列出知识文章servicenow://tables:列出可用表servicenow://tables/{table}:从特定表中获取记录servicenow://schema/{table}:获取表的架构
工具
基本工具
create_incident:创建新事件update_incident:更新现有事件search_records:使用文本查询搜索记录get_record:通过 sys_id 获取特定记录perform_query:针对 ServiceNow 执行查询add_comment:向事件添加评论(客户可见)add_work_notes:向事件添加工作注释(内部)
自然语言工具
natural_language_search:使用自然语言搜索记录(例如,“查找有关 SAP 的所有事件”)natural_language_update:使用自然语言更新记录(例如,“更新事件 INC0010001,并说明我正在处理此事”)update_script:更新 ServiceNow 脚本文件(脚本包含、业务规则等)
Related MCP server: SupaUI MCP Server
安装
来自 PyPI
pip install mcp-server-servicenow来自源
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
pip install -e .用法
命令行
使用 Python 模块运行服务器:
python -m mcp_server_servicenow.cli --url "https://your-instance.service-now.com/" --username "your-username" --password "your-password"或者使用环境变量:
export SERVICENOW_INSTANCE_URL="https://your-instance.service-now.com/"
export SERVICENOW_USERNAME="your-username"
export SERVICENOW_PASSWORD="your-password"
python -m mcp_server_servicenow.cliCline 中的配置
要将此 MCP 服务器与 Cline 一起使用,请将以下内容添加到您的 MCP 设置文件中:
{
"mcpServers": {
"servicenow": {
"command": "/path/to/your/python/executable",
"args": [
"-m",
"mcp_server_servicenow.cli",
"--url", "https://your-instance.service-now.com/",
"--username", "your-username",
"--password", "your-password"
],
"disabled": false,
"autoApprove": []
}
}
}**注意:**确保使用安装了mcp-server-servicenow包的 Python 可执行文件的完整路径。
自然语言示例
搜索记录
您可以使用自然语言查询来搜索记录:
find all incidents about email
search for incidents related to network issues
show me all incidents with high priority更新记录
您可以使用自然语言命令更新记录:
Update incident INC0010001 saying I'm working on it
Set incident INC0010002 to in progress
Close incident INC0010003 with resolution: fixed the issue管理脚本
您可以从本地文件更新 ServiceNow 脚本:
Update the ServiceNow script include "HelloWorld" with the contents of hello_world.js
Upload utils.js to ServiceNow as a script include named "UtilityFunctions"
Update @form_validation.js, it's a client script called "FormValidation"身份验证方法
服务器支持多种认证方式:
基本身份验证:用户名和密码
令牌认证:OAuth 令牌
OAuth 身份验证:客户端 ID、客户端密钥、用户名和密码
发展
先决条件
Python 3.8+
具有 API 访问权限的 ServiceNow 实例
设置开发环境
# Clone the repository
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"运行测试
pytest贡献
欢迎贡献代码!欢迎提交 Pull 请求。
分叉存储库
创建你的功能分支(
git checkout -b feature/amazing-feature)提交您的更改(
git commit -m 'Add some amazing feature')推送到分支(
git push origin feature/amazing-feature)打开拉取请求
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to authenticate as an admin.