科罗特mcp
    
Coroot MCP是一个模型上下文协议(MCP)服务器 科罗特 可观察性堆栈到一组类型良好的工具中,LLM助手可以调用这些工具进行根本原因分析。
这是一个由社区维护的集成,不是官方的Coroot产品或认可。
它作为一个 弹簧靴3 / Spring AI 1.1.x 应用程序,并在HTTP上公开JSON-RPC 2.0 MCP端点 /mcp.
该项目根据麻省理工学院许可证获得许可。
快速启动(无需Coroot)
您可以通过启用内置的存根客户端配置文件来尝试没有Coroot实例的MCP服务器。这将返回足够用于测试工具接线的合成事件和运行状况快照。
./mvnw spring-boot:run -Dspring-boot.run.profiles=stub-corootMCP JSON-RPC端点将在以下位置可用:
POST http://localhost:8080/mcp
快速入门(真正的Coroot)
指向 coroot-mcp 在真实的Coroot实例中:
- 创建本地
.env.local此仓库中的文件(gitignored)包含:
COROOT_API_URL=https://coroot.your-company.com
COROOT_API_KEY=
COROOT_DEFAULT_PROJECT_ID=production
OPENAI_API_KEY=
OPENAI_MODEL=gpt-4.1-mini- 启动服务器:
set -a
source .env.local
set +a
./mvnw spring-boot:run- 验证它是否正在运行:
curl -s http://localhost:8080/actuator/health
curl -s http://localhost:8080/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":"init-1","method":"initialize","params":{}}'- 将您的MCP感知客户端(Codex、Claude、Toolhive等)指向
http://localhost:8080/mcp并开始使用以下工具list_recent_incidents和investigate_incident.
与AI编码代理一起使用
该项目通过HTTP使用MCP。一旦您将客户端指向,任何支持MCP的编码助手都可以与它交谈 /mcp 终点。
Codex CLI(本地MCP)
假设 coroot-mcp 运行于 http://localhost:8080/mcp,在Codex配置中添加MCP服务器条目,例如:
[mcp_servers.coroot-mcp]
command = "npx"
args = ["-y", "mcp-remote", "http://localhost:8080/mcp", "--allow-http", "--transport", "http-first"]重新启动Codex CLI并列出MCP服务器以确认 coroot-mcp 可用。
克劳德/克劳德代码(HTTP MCP)
如果使用支持HTTP MCP服务器的基于Claude的环境,请配置一个名为的新MCP服务器 coroot-mcp 与:
- 类型:HTTP
- 网址:
http://localhost:8080/mcp
然后,您可以致电 list_recent_incidents 和 summarize_incident_root_cause 在这种环境中。
配置示例(JSON)
一些工具和IDE更喜欢基于JSON的MCP配置文件。下面的片段反映了许多了解MCP的代理对2025年底的预期;根据环境调整路径和秘密。
通用的 .mcp.json (项目级)
您可以将项目范围的MCP配置保存在 .mcp.json 在repo的根:
{
"mcpServers": {
"coroot-mcp": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}一些客户还支持 env 封锁在这里;如果你的是这样,你可以记录预期的变量:
{
"mcpServers": {
"coroot-mcp": {
"type": "http",
"url": "http://localhost:8080/mcp",
"env": {
"OPENAI_API_KEY": "sk-…",
"COROOT_API_URL": "https://coroot.your-company.com",
"COROOT_DEFAULT_PROJECT_ID": "production"
}
}
}
}Claude JSON配置(~/.claude.json)
Claude CLI和Claude Desktop都从JSON配置文件中读取MCP服务器。最小全局配置如下:
{
"mcpServers": {
"coroot-mcp": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}如果你更喜欢范围 coroot-mcp 将相同的内容添加到单个文件夹中 mcpServers 项目入口下的块 ~/.claude.json 或者在每个项目的设置文件中(有关最新支持的位置,请参阅Claude文档)。
此MCP服务器的功能
- 通过以下方式提供基于Coroot数据的自然语言根本原因摘要 基于人工智能的根本原因分析 概念,在这里用Spring AI实现。
- 返回事件和摘要的紧凑JSON有效负载,以便下游工具(事后分析、执行报告、仪表板等)可以在此基础上构建。
用例
- 无需离开编辑器,即可从支持AI的IDE或CLI(Codex、Claude等)对Coroot事件进行分类。
- 为事后分析、状态更新或事件审查会议生成清晰、便于执行的事件摘要。
- 使用Coroot的机器可读事件上下文丰富运行手册、仪表板或其他内部工具。
可用工具
MCP服务器通过以下方式公开工具 tools/list 和 tools/call.
| MCP刀具 | 它的作用 | Coroot特征 |
|---|---|---|
list_projects | 返回当前API密钥可以访问的Corot项目。 | 项目 在Coroot UI中可见。 |
list_recent_incidents | 列出最近发生的事件,包括id、标题、服务、严重性和时间戳,并带有可选过滤器。 | 事件. |
get_incident_details | 返回详细的事件上下文(摘要、疑似根本原因、受影响的服务、指标、时间线)。 | Coroot UI中的事件详细信息视图。 |
summarize_incident_root_cause | 生成事件可能的根本原因、爆炸半径和补救步骤的自然语言解释。 | 基于人工智能的根本原因分析. |
investigate_incident | 执行完整的事件调查,并返回RCA摘要和结构化JSON有效负载。 | Coroot中的事件、AI RCA、SLO和相关概述。 |
get_applications_overview | 返回项目应用程序运行状况的概述(每个服务的状态和关键指标)。 | 应用程序运行状况摘要. |
get_service_health | 返回单个服务的紧凑运行状况快照,包括关键指标。 | “应用程序运行状况摘要”视图中的每项服务运行状况指标。 |
get_nodes_overview | 返回项目节点运行状况的概述(CPU、内存、网络、磁盘、私有/公共IP)。 | 节点部分 概述. |
get_deployments_overview | 返回最近的部署,包括服务、版本、状态、年龄和简洁的事件摘要。 | 部署跟踪. |
get_risks_overview | 返回项目的风险摘要,包括风险敞口(IP、端口)和可用性信息。 | 风险概述. |
get_traces_overview | 返回项目的跟踪概述,可选择按查询字符串(服务、端点等)进行筛选。 | 跟踪概述. |
get_application_traces | 返回单个应用程序在有界时间窗口内的最近跨度,汇总以供分析。 | Coroot跟踪UI中的应用程序跟踪视图。 |
get_logs_overview | 返回项目的日志概览,可选择按日志查询字符串进行筛选 | 日志概述. |
get_application_logs | 返回单个应用程序在有限时间窗口内的最新日志条目,并附带严重性细分。 | Coroot日志UI中的应用程序日志视图。 |
get_costs_overview | 返回项目中节点和应用程序的成本概览。 | 成本概述. |
get_slo_overview | 返回项目和每个服务级别的SLO可用性和延迟目标。 | 斯洛斯. |
默认情况下,所有工具都是只读的,可以安全地暴露给助手。
设计
- 配置是通过环境变量提供的(例如
OPENAI_API_KEY,COROOT_API_URL,COROOT_DEFAULT_PROJECT_ID). - HTTP/MCP层与Coroot客户端和域模型分离,因此工具保持小而集中。
- 工具是只读的,没有副作用,返回显式的JSON模式。
- MCP服务器是无状态的;Coroot和LLM是外部支持服务。
需求
- Java 21+
- Maven 3.9+
- 正在运行的Coroot实例(用于生产)
- 与OpenAI兼容的API密钥(用于Spring AI)
配置
环境变量(12因素风格):
OPENAI_API_KEY–Spring AI用于与OpenAI兼容模型对话的API密钥。OPENAI_MODEL–可选,默认为gpt-4.1-mini.COROOT_API_URL–Coroot实例的基本URL,默认为https://coroot.vitayou.io.COROOT_DEFAULT_PROJECT_ID–刀具调用省略Coroot项目ID时的默认Coroot项目标识(例如。production).MCP_AUTH_TOKEN–需要可选的持票人令牌/mcp当设置时。客户端必须发送Authorization: Bearer.
这些映射到Spring Boot配置 src/main/resources/application.properties.
在本地运行Coroot(开发)
export OPENAI_API_KEY=sk-...
export MCP_AUTH_TOKEN=some-secret-token # optional
export COROOT_API_URL=https://coroot.your-company.com
export COROOT_DEFAULT_PROJECT_ID=production
./mvnw spring-boot:runMCP JSON-RPC端点将在以下位置可用:
POST http://localhost:8080/mcp
如果 MCP_AUTH_TOKEN 如果已设置,客户端必须发送:
Authorization: Bearer
Docker/容器镜像
使用已发布的图像
一旦图像发布到GitHub容器注册表等注册表中,您就可以直接运行它。例如,假设:
- 图片:
ghcr.io/meritocra/coroot-mcp:0.2.0
运行一个真正的Coroot实例:
docker run --rm -p 8080:8080 \
-e OPENAI_API_KEY=sk-... \
-e MCP_AUTH_TOKEN=some-secret-token \
-e COROOT_API_URL=https://coroot.your-company.com \
-e COROOT_DEFAULT_PROJECT_ID=production \
ghcr.io/meritocra/coroot-mcp:0.2.0在短轴模式下运行(不需要Coroot):
docker run --rm -p 8080:8080 \
-e MCP_AUTH_TOKEN=some-secret-token \
-e SPRING_PROFILES_ACTIVE=stub-coroot \
ghcr.io/meritocra/coroot-mcp:0.2.0在当地建立形象
使用提供的多阶段构建容器映像 Dockerfile:
docker build -t coroot-mcp:latest .运行它:
docker run --rm -p 8080:8080 \
-e OPENAI_API_KEY=sk-... \
-e COROOT_API_URL=https://coroot.your-company.com \
-e COROOT_DEFAULT_PROJECT_ID=production \
coroot-mcp:latest建议设置 JAVA_OPTS 对于资源限制,例如:
docker run --rm -p 8080:8080 \
-e JAVA_OPTS="-Xms256m -Xmx512m" \
-e OPENAI_API_KEY=sk-... \
-e COROOT_API_URL=https://coroot.your-company.com \
-e COROOT_DEFAULT_PROJECT_ID=production \
coroot-mcp:latestDocker Compose
对于本地实验,您还可以使用提供的 docker-compose.yml:
docker compose up --build默认情况下,这将启动 coroot-mcp 随着 stub-coroot 配置并公开MCP端点:
POST http://localhost:8080/mcp
MCP清单
MCP清单定义见 mcp.json.它声明:
- 服务器名称和描述。
- 指向的HTTP传输
http://localhost:8080/mcp. - 宣布的秘密:
OPENAI_API_KEY,COROOT_API_KEY. - 声明的非机密环境变量:
OPENAI_MODEL,COROOT_API_URL,COROOT_DEFAULT_PROJECT_ID.
MCP兼容客户端可以:
- 从磁盘加载清单(例如。
mcp.json在项目目录中),或 - 直接使用MCP HTTP端点URL进行配置(
http://localhost:8080/mcp).
与Toolhive一起使用(示例)
工具箱 是一个多服务器MCP管理器,可以在集群或桌面上运行。
- 构建并运行服务器(本地或容器中)。
- 确保
mcp.jsonToolhive可以访问(通过本地文件路径或将其内容复制到Toolhive的MCP配置中)。 - 在Toolhive中,添加一个新的MCP服务器并将其指向:
- 显示: mcp.json - 传输URL: http://localhost:8080/mcp
- 从Toolhive的助手那里,问以下问题:
- “列出生产中最新的关键事件。” - “解释事件的根本原因 inc-1 并建议下一步行动。”
Toolhive将调用引擎盖下的MCP工具并显示其输出。
链接
- Coroot网站:https://coroot.com
- GitHub上的Coroot:https://github.com/coroot/coroot
- MCP规范和工具:https://modelcontextprotocol.io
- GitHub上的Toolhive:https://github.com/stacklok/toolhive
许可和归属
- 此存储库(
coroot-mcp)根据MIT许可证获得许可(参见LICENSE). - 它与Coroot社区版集成,后者在Apache-2.0下获得许可:
- Coroot回购:https://github.com/coroot/coroot - 许可证:Apache许可证,版本2.0。
- 此MCP服务器是社区维护的集成,不是官方的Coroot产品或认可。
