关于 openITCOCKPIT
openITCOCKPIT 是供监控运维人员通过 LLM 客户端查看和管理 openITCOCKPIT 实例的 MCP 服务。它提供只读监控工具和默认关闭的写入工具,并以工具集划分不同运维职责。
主要功能
- 01检查主机与服务健康状态及故障
- 02查看停机、确认状态和班次摘要
- 03解释通知并调查事件
- 04仅在配置后启用写入工具
- 05用运维工具集限制可用工具
适用场景
- 01查明当前监控故障的原因
- 02确认事件是否已有人员处理
- 03安排维护停机时间
- 04将 Agent 可用工具限制在指定监控任务
MCP 相关
该 MCP 服务向 MCP 客户端提供 openITCOCKPIT 监控与配置工具。写入工具默认不注册,工具集可限制可用工具范围。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm -e OITC_APIKEY -e OITC_BASEURL -e OITC_TRANSPORT -e OITC_ENABLE_WRITE_TOOLS -e OITC_VERIFY_TLS docker.io/openitcockpit/mcp-server:0.5.0OITC_APIKEY密钥API key of a dedicated, least-privilege openITCOCKPIT user. This server presents it to openITCOCKPIT; it is never handed to a client.OITC_BASEURLBase URL of the openITCOCKPIT instance, e.g. https://openitcockpit.example.org - without a path.OITC_TRANSPORTTransport mode. The image defaults to 'http', which additionally requires MCP_AUTH_TOKEN and a published port; a client that runs this container itself wants 'stdio'.OITC_ENABLE_WRITE_TOOLSRegister the 15 tools that change the monitoring configuration. Off by default: they are not even registered unless this is 'true'.OITC_VERIFY_TLSVerify the openITCOCKPIT TLS certificate. On by default; for a self-signed instance set OITC_CA_BUNDLE rather than turning this off.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
openITCOCKPIT MCP 服务
一个 MCP 服务,可将 openITCOCKPIT 监控实例接入 大模型客户端:了解哪些出了问题、原因是什么、当前由谁处理、发生了哪些变化——以及默认关闭的操作工具。
注意
使用风险自负。 此服务允许语言模型读取监控配置;启用写入工具后,还可以更改配置。模型可能会误解请求或选择错误的调用。请在批准前检查它的建议,并从只读访问开始。本软件按“原样”提供,不作任何保证,也不承担任何责任;请参阅 MIT License。
- 需要 openITCOCKPIT 5.6 或更高版本(兼容性)。
- 42 个工具,其中 20 个只读,22 个会进行更改。
- 写入工具默认关闭,只有启用后才会注册。
- 使用名称,而非 ID。 工具接受主机名、模板名称和容器路径;服务会解析这些名称。
- 写入操作经过范围检查。 发送任何内容前,都会根据目标容器验证引用,而 openITCOCKPIT 自带的 API 不会这样做。
快速开始
cp .env.example .env # fill in the two secrets, see Configuration
docker compose up --build
将客户端指向 http://localhost:8000/mcp,并使用 .env 中的 bearer token。Compose 会读取同一个文件来设置对外发布的端口,因此在其中设置 OITC_PORT 就能同时调整两端。
开始使用时有三个重要设置:MCP_AUTH_TOKEN(客户端向此服务提供的令牌)、OITC_BASEURL 和 OITC_APIKEY(此服务向 openITCOCKPIT 提供的令牌)。其他设置都有默认值——完整配置。
可以询问的问题
| 问题 | 回答工具 |
|---|---|
| “现在有什么问题?” | get_problem_overview - 将原因与后果区分开来 |
| “为什么 db-01 处于严重状态?” | get_service_health、investigate_problem |
| “已经有人在处理了吗?” | 同一组工具:状态中包含停机和确认信息 |
| “夜班期间发生了什么?” | get_shift_summary |
| “为什么我没有收到 web01 的告警?” | explain_notification |
| “让 web01 停机至周一” | schedule_downtime(写入) |
| “web-05 可以使用哪些模板?” | get_allowed_elements_for_container |
每个工具的名称、参数及上下文开销:docs/tools.md,由代码生成。结果示例及写入操作的影响:docs/using-the-tools.md。
限制实例
运行监控实例并非只有一种任务,因此,若要让工具集简单易用,功能就会不足。此服务会保留各项工作所需的全部工具,并通过工具集为每个 Agent 分配所需工具:约 10 个工具,足以完整完成相应任务,不包含额外工具。未注册的工具根本无法调用。
OITC_TOOLSETS=health # find things and see how they are doing
OITC_TOOLSETS=operations # acknowledge, maintenance windows, check now
OITC_TOOLSETS=lifecycle # take things out of the monitoring, or delete them
随附的工具集包括 health、operations、lifecycle、patch、reporting、catalog、onboarding、config 和 provisioning。工具集定义在一个可替换的文件中:docs/toolsets.md。
评估模型
oitc-mcp-eval 会针对你的实例提出运维人员的问题,并检查模型是否依据工具作答,而不是凭空编造。它会将每次运行都保存在 SQLite 中,以便比较不同模型和更改的效果。
oitc-mcp-eval --model your-model --samples 3 # against the configured instance
oitc-mcp-eval --compare # newest run of every model
./scripts/eval-throwaway.sh --model your-model # instance created and removed for you
文档
| 配置 | 每项设置,以及各类密钥的用途 |
| 连接客户端 | HTTP 和 stdio,附可运行的示例 |
| 安装 | Docker、从源代码安装、MCP Registry |
| 工具 | 所有工具,根据代码生成 |
| 使用工具 | 结果结构、容器范围、读取-修改-写入 |
| 工具集 | 限制实例范围、编写自己的工具集 |
| 技能和提示词 | 与工具一同提供的材料 |
| 评估模型 | 评估、评估用例以及如何解读结果 |
| 安全性 | 此服务可以访问的内容,以及它拒绝的内容 |
| 架构 | 各部分如何协同工作 |
| 工具设计 | 新工具遵循的规则 |
| openITCOCKPIT API 说明 | 此服务需要适配的行为 |
| 版本管理 | 版本号和兼容性 |
| 开发 | 检查、测试,以及从代码检出目录运行 |
一段话说明安全性
服务持有一个 openITCOCKPIT 凭据,绝不会将其发送给客户端。 客户端使用自己的令牌进行身份验证;在委派模式下,每个请求 都会携带一个短期有效的用户令牌,服务则以该用户的身份及权限执行操作。启用写入工具之前,这些工具不会注册。 详情(包括应授予 openITCOCKPIT 用户哪些权限)请见: docs/security.md。
许可证
MIT。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。