关于 Invgate Service Desk
Invgate Service Desk 是连接 AI 助手与 InvGate Service Desk 和 Service Management 的 MCP 服务,覆盖服务台操作。默认只读,写入功能须通过配置文件显式启用。
主要功能
- 01查询和管理事件
- 02查找用户与群组
- 03搜索和编辑知识文章
- 04查看资产、工作流和触发器
- 05跟踪工时与公告
- 06按配置启用写入
适用场景
- 01查看工单状态和详情
- 02查找用户或知识文章
- 03启用写入后更新事件
- 04检查与事件关联的资产
MCP 相关
通过 11 个领域的 MCP 工具提供 InvGate Service Desk 操作。默认启用只读工具;写入操作需要显式指定配置文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx invgate-service-desk-mcpINVGATE_BASE_URLInvGate SD instance base URL, e.g. https://acme.sd.cloud.invgate.netINVGATE_API_TOKEN密钥InvGate Service Desk API tokenINVGATE_WRITE_PROFILEWrite access profile: none (default, read-only) | support | full本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
invgate-service-desk-mcp
一个用于 InvGate Service Desk / Service Management 的 Model Context Protocol 服务。
让你的 AI 助手全面访问 InvGate Service Desk——通过自然语言查询事件、查找用户、搜索知识库、检查资产和管理工单。
涵盖 11 个领域,共提供 96 个工具。默认只读,写入操作需显式选择启用。
一键安装
将此服务与 Claude Desktop(以及其他兼容 MCPB 的客户端)搭配使用的最简单方式是安装预构建套件:
➡️ 下载 invgate-service-desk.mcpb — 然后双击。Claude Desktop 会打开安装程序,提示你输入 InvGate 基础 URL 和 API 令牌,之后即可使用。无需 Python、npx/uvx 或配置文件。
.mcpb 附在每个 GitHub Release 中,并同步发布在 Smithery 上。更喜欢使用包管理器或容器?请参阅下方的快速入门。
它能做什么?
| 领域 | 工具数 | 示例 |
|---|---|---|
| 目录 | 5 | 列出优先级、状态、事件类型、类别(支持搜索)和来源 |
| 事件 | 34 | 获取工单详情,按状态/Agent/客户列出工单,创建和更新工单、重新分配、评论、管理审批 |
| 用户和群组 | 7 | 查找用户,按电子邮件/电话号码查找,列出群组成员 |
| 知识库 | 10 | 搜索文章、浏览类别、创建和更新文章 |
| 自定义字段 | 9 | 列出字段定义,获取选项(列表/树形),按类别查询字段 |
| 组织 | 11 | 服务台、级别、位置、公司结构 |
| 资产 / CI | 6 | 查找与事件关联的资产、CI 关系 |
| 时间跟踪 | 4 | 查看已记录工时、记录新的工时条目 |
| 触发器 | 2 | 列出自动化规则及其执行记录 |
| 工作流 | 3 | 检查工作流字段、流程和字段值 |
| 突发新闻 | 5 | 查看公告、状态和类型 |
63 个只读工具开箱即用。33 个写入工具(事件、知识库、时间跟踪)仅在你显式选择启用后才会激活。
快速入门
1. 安装
pip install invgate-service-desk-mcp
也可以不安装直接运行(需要 uv):
uvx invgate-service-desk-mcp
2. 连接到 Claude Desktop
将以下内容添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"invgate": {
"command": "uvx",
"args": ["invgate-service-desk-mcp"],
"env": {
"INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
"INVGATE_API_TOKEN": "your-api-token"
}
}
}
}
重启 Claude Desktop。就这么简单——开始询问你的工单吧。
使用 pip install 替代 uvx
{
"mcpServers": {
"invgate": {
"command": "invgate-service-desk-mcp",
"env": {
"INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
"INVGATE_API_TOKEN": "your-api-token"
}
}
}
}
启用写入操作
默认情况下,服务为只读。通过 INVGATE_WRITE_PROFILE 选择启用写入操作:
| 配置文件 | 读取 | 写入 |
|---|---|---|
none(默认) | 所有内容 | 无 |
support | 所有内容 | 事件(工单、评论、重新分配、审批)+ 时间跟踪 |
full | 所有内容 | 事件 + 时间跟踪 + 知识库 |
{
"mcpServers": {
"invgate": {
"command": "uvx",
"args": ["invgate-service-desk-mcp"],
"env": {
"INVGATE_BASE_URL": "https://acme.sd.cloud.invgate.net",
"INVGATE_API_TOKEN": "your-api-token",
"INVGATE_WRITE_PROFILE": "support"
}
}
}
}
兼容性: 旧版
INVGATE_ENABLE_WRITES=1仍然有效,并会映射为full。 如果两者都已设置,以配置文件为准,并向 stderr 输出警告。注意:support会有意将知识库保持为只读状态。无效的配置文件名称会导致启动快速失败。
警告: 写入模式允许已连接的 Agent 使用你的 InvGate 凭据创建、修改和删除真实内容。没有删除工单的 API——创建的工单只能取消,不能删除。
3. 获取 API 令牌
在你的 InvGate Service Desk 实例中:Settings > Integrations > API(或咨询管理员)。服务使用 HTTP Basic 进行身份验证,用户名为 api,密码为你的令牌。
配置
配置按以下顺序解析(优先级从高到低):
- 环境变量(始终优先)
~/.config/invgate-service-desk-mcp/config.toml中的 TOML 配置
| 环境变量 | TOML 键 | 说明 |
|---|---|---|
INVGATE_BASE_URL | base_url | 实例 URL,例如 https://acme.sd.cloud.invgate.net |
INVGATE_API_TOKEN | api_token | API 令牌(HTTP Basic 密码) |
INVGATE_API_USERNAME | api_username | HTTP Basic 用户名(可选,默认为 api) |
INVGATE_WRITE_PROFILE | write_profile | 写入权限配置文件:none(默认)、support 或 full |
INVGATE_TELEMETRY | telemetry_enabled | 启用 OpenTelemetry(默认:false) |
INVGATE_TELEMETRY_DETAIL | telemetry_detail | Span 详细程度:metadata(默认)、ids 或 full |
# ~/.config/invgate-service-desk-mcp/config.toml
base_url = "https://acme.sd.cloud.invgate.net"
api_token = "..."
# api_username = "api"
# write_profile = "none" # "none" (default) | "support" | "full"
# telemetry_enabled = false
# telemetry_detail = "metadata"
提示: 请先创建配置目录:
mkdir -p ~/.config/invgate-service-desk-mcp
请参阅 config.toml.example 获取可直接复制粘贴的模板。
运行服务
invgate-service-desk-mcp # STDIO transport (default)
invgate-service-desk-mcp --transport sse # SSE/HTTP transport
安全提示: STDIO(默认传输方式)会将所有内容保留在本地。
sse和streamable-http传输方式没有内置身份验证——仅在绑定到回环地址或位于经过身份验证的反向代理之后时使用。
可观测性(可选)
服务可以输出 OpenTelemetry 跟踪、指标和日志——完全自愿启用,且不绑定任何供应商。可导出到任何兼容 OTLP 的后端(Dynatrace、Grafana、Datadog、Jaeger 等)。
pip install "invgate-service-desk-mcp[telemetry]"
export INVGATE_TELEMETRY=1
OTLP 端点和标头通过标准 OpenTelemetry 环境变量配置(不在 TOML 文件中):
Dynatrace 设置
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<your-env>.live.dynatrace.com/api/v2/otlp"
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token <YOUR_DT_TOKEN>"
export OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=delta
export OTEL_SERVICE_NAME=invgate-service-desk-mcp
所需令牌范围:openTelemetryTrace.ingest、metrics.ingest、logs.ingest。
详细指南请参阅 docs/observability-dynatrace.md。
通用 OTLP 收集器
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318"
export OTEL_SERVICE_NAME=invgate-service-desk-mcp
输出的信号:
- 跟踪 — 工具执行 Span(GenAI 语义约定)+ InvGate API 请求 Span,包含响应大小和项目数量
- 指标 —
mcp.tool.duration、invgate.client.request.duration、mcp.tool.errors、invgate.response.item_count、invgate.response.size - 日志 — 工具错误和意外的 API 响应结构,并关联到跟踪(仅通过 OTLP 输出,绝不输出到 stdout)
开发
git clone https://github.com/tracegazer/invgate-service-desk-mcp.git
cd invgate-service-desk-mcp
uv venv && uv pip install -e ".[dev]"
pytest
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。