关于 🚀 ServiceNow MCP Server
ServiceNow MCP Server 通过 MCP 将 ServiceNow 实例连接到 AI 模型,提供事件、知识文章、脚本、规则、SLA 和目录记录相关工具,并使用环境变量管理凭据。
主要功能
- 01创建和管理事件
- 02创建知识文章
- 03创建客户端脚本和业务规则
- 04创建 SLA 定义
- 05创建记录生成器和变量集
- 06通过环境变量管理凭据
适用场景
- 01在 AI 工作流中创建事件
- 02撰写并发布知识文章
- 03配置 ServiceNow 脚本、规则和 SLA
- 04使用可复用变量集构建目录表单
MCP 相关
该 MCP 服务提供创建 ServiceNow 事件、知识文章、客户端脚本、业务规则、SLA 定义、记录生成器和变量集的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🚀 ServiceNow MCP 服务
用于模型上下文协议的 ServiceNow 集成
📋 概述
此代码仓库包含一个用于模型上下文协议(MCP)的 ServiceNow 集成服务。它通过标准化协议实现 ServiceNow 实例与 AI 模型之间的无缝交互,可用于自动化事件管理、创建知识库文章以及执行其他 ServiceNow 操作。
✨ 功能
- 🔌 ServiceNow 集成:直接集成 ServiceNow 实例
- 🛠️ 支持多种操作:
- 创建和管理事件
- 创建知识库文章
- 创建客户端脚本
- 创建业务规则
- 创建 SLA 定义
- 创建记录生成器
- 🔒 安全身份验证:基于环境变量管理凭据
- 🚀 基于 FastAPI 的服务:高性能异步操作
🛠️ 先决条件
- Python 3.12 或更高版本
- 拥有适当 API 访问权限的 ServiceNow 实例
- 有效的 ServiceNow 凭据
- 可选:用于 AI 功能的 Gemini API 密钥
- 用于运行服务的 UV icorn
- 用于构建服务的 FastAPI
⚙️ 配置
-
克隆代码仓库:
git clone https://github.com/your-org/mcp-server-now.git cd mcp-server-now -
创建包含凭据的
.env文件:SERVICENOW_INSTANCE=https://your-instance.service-now.com SERVICENOW_USERNAME=your_username SERVICENOW_PASSWORD=your_password GEMINI_API_KEY=your_api_key # Optional -
安装依赖项:
pip install -e .
🚀 开始使用
运行服务
mcp install <file_name>.py
使用示例
此服务提供了多个用于执行 ServiceNow 操作的工具。以下是一些示例:
-
创建事件:
create_incident( short_description="Network outage in building B", description="Users reporting connectivity issues", urgency="2", impact="2" ) -
创建知识库文章:
create_kb_article( short_description="How to Reset Your Password", article_body="<h1>Password Reset Instructions</h1><p>1. Navigate to the login page</p>", workflow_state="published" )
更多示例请参阅 servicenow-test-examples.md。
🧩 可用工具
此服务提供以下工具:
create_incident:创建事件create_kb_article:创建知识库文章create_client_script:创建客户端脚本create_business_rule:创建业务规则create_sla_definition:创建 SLA 定义create_record_producer:创建可自定义变量的记录生成器create_variable_set:为目录项创建可重复使用的变量集
记录生成器详情
create_record_producer 工具可用于创建 ServiceNow 记录生成器,支持以下功能:
create_record_producer(
name="Report Network Issue",
table_name="incident",
short_description="Use this form to report network connectivity issues",
category_sys_id="optional_category_sys_id",
script="optional_server_side_script",
variables=[
{
"name": "issue_type",
"label": "Type of Issue",
"type": "choice",
"choices": ["Connectivity", "Performance", "Access"],
"mandatory": True
},
{
"name": "affected_users",
"label": "Number of Affected Users",
"type": "integer",
"mandatory": True
}
]
)
主要功能:
- 可自定义多种类型的表单字段(字符串、整数、布尔值、引用等)
- 支持服务端脚本
- 类别分配
- 必填字段配置
- 默认值和帮助文本
变量集
create_variable_set 工具可用于创建可重复使用的变量集,并将其附加到多个目录项:
create_variable_set(
name="Hardware Request Variables",
description="Common variables for hardware requests",
variables=[
{
"name": "device_type",
"label": "Device Type",
"type": "choice",
"choices": ["Laptop", "Desktop", "Tablet", "Phone"],
"mandatory": True
},
{
"name": "justification",
"label": "Justification",
"type": "text",
"mandatory": True,
"help_text": "Please explain why you need this hardware"
}
]
)
变量集支持:
- 多种变量类型(字符串、整数、布尔值、引用、选项等)
- 自定义验证规则
- 帮助文本和说明
- 必填字段配置
- 默认值
- 对其他 ServiceNow 表的引用字段
🔧 开发
项目结构
mcp-server-now/
├── servicenow.py # Main server implementation
├── servicenow-test-examples.md # Example usage
├── pyproject.toml # Project configuration
├── .env # Environment variables
└── README.md # This file
添加新工具
添加新的 ServiceNow 操作:
- 在
servicenow.py中创建一个新的异步函数 - 使用
@mcp.tool()装饰该函数 - 添加适当的文档说明和错误处理
- 测试新功能
📚 资源
📄 许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
📞 支持
如需支持,请:
- 在此代码仓库中提交问题
- 联系维护者
- 查阅 ServiceNow 文档
👤 Author
🎥 Watch Live Demo
Live Demo
Made with ❤️ by Divya Shah
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。