madosh
服务介绍
MCP ITSM 集成
概述
该项目提供了一个统一的接口,使大型语言模型(LLMs)能够通过模型上下文协议(MCP)与多个IT服务管理(ITSM)系统(如ServiceNow、Jira、Zendesk、Ivanti Neurons for ITSM和Cherwell)进行交互。与其要求LLMs学习每个ITSM系统的不同API,不如通过此集成提供一套跨所有系统工作的标准化工具。

MCP 服务器信息
这是一个符合MCP标准的服务器,实现了模型上下文协议规范。它为大型语言模型提供了与多个ITSM系统通过一组统一工具进行交互的标准接口。
MCP 兼容性
- 协议版本: MCP 1.0
- 工具格式: 符合JSON Schema
- 运行时: Node.js
- 传输方式: HTTP 和 stdio
- 认证方式: API密钥
MCP 服务器使用
该服务器可以直接与任何兼容MCP的客户端一起使用,包括:
- MCP Inspector CLI 工具
- 通过MCP集成的Claude
- 支持MCP的任何LLM
要本地检查服务器:
bash
npx @modelcontextprotocol/inspector node index.js
功能
- 统一接口:在所有ITSM系统中保持一致的工具定义
- 智能路由:自动将请求路由到适当的ITSM系统
- 上下文管理:在交互过程中维护上下文
- MCP合规:遵循模型上下文协议规范
- Smithery集成:设计为与Smithery无缝协作
前提条件
- Node.js (v14或更高版本)
- Smithery CLI
- 访问ITSM系统(ServiceNow, Jira, Zendesk, Ivanti Neurons for ITSM, Cherwell)
安装
-
克隆仓库:
bash
git clone https://github.com/yourusername/mcp-itsm.git
cd mcp-itsm -
安装依赖项:
bash
npm install -
配置您的ITSM凭证(参见配置部分)
-
部署到Smithery:
bash
smithery deploy
配置
ITSM 凭证
创建一个包含您的ITSM凭证的.env文件:
plaintext
ServiceNow
SERVICENOW_INSTANCE=your-instance
SERVICENOW_USERNAME=your-username
SERVICENOW_PASSWORD=your-password
Jira
JIRA_URL=https://your-instance.atlassian.net
JIRA_USERNAME=your-username
JIRA_API_TOKEN=your-api-token
Zendesk
ZENDESK_URL=https://your-instance.zendesk.com
ZENDESK_EMAIL=your-email
ZENDESK_API_TOKEN=your-api-token
Ivanti Neurons for ITSM
IVANTI_URL=https://your-instance.ivanti.com
IVANTI_CLIENT_ID=your-client-id
IVANTI_CLIENT_SECRET=your-client-secret
IVANTI_TENANT_ID=your-tenant-id
Cherwell
CHERWELL_URL=https://your-instance.cherwell.com
CHERWELL_CLIENT_ID=your-client-id
CHERWELL_AUTH_MODE=internal
CHERWELL_USERNAME=your-username
CHERWELL_PASSWORD=your-password
Smithery 配置
smithery.yaml 文件配置了如何将您的工具部署到Smithery:
yaml
name: mcp-itsm
description: 跨多个系统的MCP ITSM工具用于工单管理
version: 1.0.0
tools: ./tools.json
command: node index.js## 可用工具
此集成提供了以下工具:
- create_ticket: 在任何ITSM系统中创建新工单
- get_ticket: 检索工单详情
- update_ticket: 更新现有工单
- list_tickets: 列出带有过滤选项的工单
- assign_ticket: 将工单分配给用户
- add_comment: 向工单添加评论
- search_knowledge_base: 搜索知识库以查找相关文章
有关完整的工具定义,请参阅 tools.json。
使用方法
一旦部署到Smithery,LLM可以使用这些工具与您的ITSM系统进行交互。下面是一个LLM如何创建工单的例子:
用户: "我需要报告我们会计软件中的一个bug"
LLM: (调用工具)
{
"type": "tool_call",
"data": {
"name": "create_ticket",
"parameters": {
"title": "会计软件中的bug",
"description": "用户报告了会计软件的问题",
"priority": "medium",
"system": "jira"
}
}
}
响应:
{
"type": "tool_response",
"data": {
"name": "create_ticket",
"content": {
"id": "ACCT-123",
"status": "open",
"url": "https://your-instance.atlassian.net/browse/ACCT-123"
}
}
}
调试
此项目包括几个调试工具:
debug_smithery_mcp.bat: 诊断Smithery中的MCP特定问题force_redeploy_smithery.bat: 强制使用MCP配置重新部署test_tools.js: 本地测试MCP工具调用
文档
- MCP集成: Model Context Protocol实现的详细信息
- MCP快速参考: MCP概念的快速参考指南
- ITSM系统参考: 支持的每个ITSM系统的详细信息
- 从OpenAI到MCP转换: 从OpenAI函数调用转换到MCP的指南
图表
- MCP ITSM架构: 集成的整体架构
- 系统碎片化: ITSM系统碎片化的挑战
- LLM推理: LLM如何选择适当的ITSM系统
- 优势比较: 传统方法与MCP方法的对比
- Smithery集成: MCP如何与Smithery集成
贡献
欢迎贡献!请随时提交Pull Request。
许可证
本项目根据MIT许可证发布 - 详情请参阅LICENSE文件。