ServiceNow MCP 变更管理工具
本文档介绍 ServiceNow MCP 服务器中可用的变更管理工具。
变更管理工具让 Claude 能够与 ServiceNow 的变更管理功能交互,使用户能够通过自然语言对话来创建、更新和管理变更请求。
ServiceNow MCP 服务器提供以下变更管理工具:
核心变更请求管理
Section titled “核心变更请求管理”-
manage_change- 变更请求的捆绑式 CRUD(表:change_request)action(必填):create/update/add_task之一- 对于
action="create":short_description、type(normal/standard/emergency),以及可选的description、risk、impact、category、requested_by、assignment_group、start_date、end_date - 对于
action="update":change_id加上至少一个可更新字段(short_description、description、state、risk、impact、category、assignment_group、start_date、end_date、work_notes);支持dry_run=True以进行预览 - 对于
action="add_task":change_id、task_short_description,以及可选的task_description、task_assigned_to、task_planned_start_date、task_planned_end_date
-
sn_query(搭配table=change_request)- 用任意过滤器列出变更请求- 使用通用的表查询原语来列出变更请求。
sn_query的参数见工具清单。
- 使用通用的表查询原语来列出变更请求。
-
manage_change(action="get")- 获取特定变更请求的详细信息- 参数:
change_id(必填):变更请求 ID 或 sys_id
- 参数:
变更审批工作流
Section titled “变更审批工作流”-
submit_change_for_approval - 提交变更请求以供审批
- 参数:
change_id(必填):变更请求 ID 或 sys_idapproval_comments:审批请求的备注
- 参数:
-
approve_change - 批准变更请求
- 参数:
change_id(必填):变更请求 ID 或 sys_idapprover_id:审批人的 IDapproval_comments:审批的备注
- 参数:
-
reject_change - 拒绝变更请求
- 参数:
change_id(必填):变更请求 ID 或 sys_idapprover_id:审批人的 IDrejection_reason(必填):拒绝的原因
- 参数:
与 Claude 的使用示例
Section titled “与 Claude 的使用示例”一旦 ServiceNow MCP 服务器在 Claude Desktop 中配置完成,你就可以让 Claude 执行如下操作:
创建和管理变更请求
Section titled “创建和管理变更请求”- “创建一个变更请求,用于明天晚上对服务器进行维护以应用安全补丁”
- “为下周二凌晨 2 点到 4 点安排一次数据库升级”
- “创建一个紧急变更,以修复我们 Web 应用中的严重安全漏洞”
添加任务和实施细节
Section titled “添加任务和实施细节”- “为服务器维护变更添加一个用于实施前检查的任务”
- “添加一个在开始数据库升级前验证系统备份的任务”
- “更新网络变更的实施计划,加入回滚流程”
- “提交服务器维护变更以供审批”
- “给我看看所有等待我审批的变更”
- “批准数据库升级变更,备注:实施计划看起来很周密”
- “由于测试不足,拒绝该网络变更”
查询变更信息
Section titled “查询变更信息”- “给我看看本周安排的所有紧急变更”
- “数据库升级变更的状态如何?”
- “列出所有指派给 Network 团队的变更”
- “给我看看变更 CHG0010001 的详细信息”
以下示例展示如何以编程方式使用变更管理工具:
from servicenow_mcp.auth.auth_manager import AuthManagerfrom servicenow_mcp.tools.change_tools import ManageChangeParams, manage_changefrom servicenow_mcp.utils.config import ServerConfig
# 创建服务器配置server_config = ServerConfig( instance_url="https://your-instance.service-now.com",)
# 创建认证管理器auth_manager = AuthManager( auth_type="basic", username="your-username", password="your-password", instance_url="https://your-instance.service-now.com",)
# 通过捆绑式 manage_change 工具创建一个变更请求params = ManageChangeParams( action="create", short_description="Server maintenance - Apply security patches", description="Apply the latest security patches to the application servers.", type="normal", risk="moderate", impact="medium", category="Hardware", start_date="2023-12-15 01:00:00", end_date="2023-12-15 03:00:00",)
result = manage_change(server_config, auth_manager, params)print(result)上面的示例展示了编程式请求的形态,以及将变更管理集成到你自己的自动化中所需的关键导入。
与 Claude Desktop 集成
Section titled “与 Claude Desktop 集成”要在 Claude Desktop 中配置带变更管理工具的 ServiceNow MCP 服务器:
- 编辑位于
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或你操作系统对应路径的 Claude Desktop 配置文件:
{ "mcpServers": { "ServiceNow": { "command": "/Users/yourusername/dev/servicenow-mcp/.venv/bin/python", "args": [ "-m", "servicenow_mcp.cli" ], "env": { "SERVICENOW_INSTANCE_URL": "https://your-instance.service-now.com", "SERVICENOW_USERNAME": "your-username", "SERVICENOW_PASSWORD": "your-password", "SERVICENOW_AUTH_TYPE": "basic" } } }}- 重启 Claude Desktop 以应用更改
变更管理工具可以定制以匹配你组织特定的 ServiceNow 配置:
- 状态值可能需要根据你的 ServiceNow 实例配置进行调整
- 如有需要,可向参数模型添加额外字段
- 审批工作流可能需要修改以匹配你组织的审批流程
要定制这些工具,请修改 src/servicenow_mcp/tools 目录下的 change_tools.py 文件。