Rootly MCP 服务器
一个用于 Rootly API 的 MCP 服务器,可无缝集成 Cursor、Windsurf 和 Claude 等兼容 MCP 的编辑器。在 IDE 中无需切换,即可在 1 分钟内解决生产问题。

前置条件
- Python 3.12 或更高版本
uv包管理器curl -LsSf https://astral.sh/uv/install.sh | sh- Rootly API token
安装
通过我们的 PyPi 包 安装或克隆此仓库。
使用以下配置配置您的兼容 MCP 的编辑器(已测试 Cursor 和 Windsurf):
使用 uv
{
"mcpServers": {
"rootly": {
"command": "uv",
"args": [
"tool",
"run",
"--from",
"rootly-mcp-server",
"rootly-mcp-server",
],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
}
}
}
}
使用 uv-tool-uvx
{
"mcpServers": {
"rootly": {
"command": "uvx",
"args": [
"--from",
"rootly-mcp-server",
"rootly-mcp-server",
],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
}
}
}
}
要自定义 allowed_paths 并访问额外的 Rootly API 路径,请克隆仓库并使用此配置:
{
"mcpServers": {
"rootly": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/rootly-mcp-server",
"rootly-mcp-server"
],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
}
}
}
}
功能
- 动态工具生成:自动从 Rootly 的 OpenAPI(Swagger)规范创建 MCP 资源
- 智能分页:默认为问题端点每请求 10 个项目,防止上下文窗口溢出
- API 过滤:出于安全和性能考虑,限制暴露的 API 端点
白名单端点
默认情况下,以下 Rootly API 端点暴露给 AI 代理(参见 src/rootly_mcp_server/server.py 中的 allowed_paths):
/v1/incidents
/v1/incidents/{incident_id}/alerts
/v1/alerts
/v1/alerts/{alert_id}
/v1/severities
/v1/severities/{severity_id}
/v1/teams
/v1/teams/{team_id}
/v1/services
/v1/services/{service_id}
/v1/functionalities
/v1/functionalities/{functionality_id}
/v1/incident_types
/v1/incident_types/{incident_type_id}
/v1/incident_action_items
/v1/incident_action_items/{incident_action_item_id}
/v1/incidents/{incident_id}/action_items
/v1/workflows
/v1/workflows/{workflow_id}
/v1/workflow_runs
/v1/workflow_runs/{workflow_run_id}
/v1/environments
/v1/environments/{environment_id}
/v1/users
/v1/users/{user_id}
/v1/users/me
/v1/status_pages
/v1/status_pages/{status_page_id}
为什么要限制路径?
我们限制暴露的 API 路径,主要出于两个原因:
- 上下文管理:Rootly 的全面 API 可能会让 AI 代理不堪重负,影响其执行简单任务的能力
- 安全:控制通过 MCP 服务器可以访问哪些信息和操作
要暴露更多路径,请修改 src/rootly_mcp_server/server.py 中的 allowed_paths 变量。
关于 Rootly AI Labs
该项目由 Rootly AI Labs 开发,我们在构建系统可靠性和运营卓越的未来。作为开源孵化器,我们分享想法、进行实验,并快速原型化惠及整个社区的解决方案。

开发者设置与故障排除
前置条件
- Python 3.12 或更高版本
uv用于依赖管理
1. 设置虚拟环境
创建并激活虚拟环境:
uv venv .venv
source .venv/bin/activate # 始终在运行脚本前激活
2. 安装依赖
安装所有项目依赖:
uv pip install .
在开发过程中添加新依赖:
uv pip install <package>
3. 验证安装
运行测试客户端以确保一切配置正确:
python test_mcp_client.py
连接到托管的 MCP 服务器
或者直接连接到我们的托管 MCP 服务器:
{
"mcpServers": {
"rootly": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.rootly.com/sse",
"--header",
"Authorization:${ROOTLY_AUTH_HEADER}"
],
"env": {
"ROOTLY_AUTH_HEADER": "Bearer <YOUR_ROOTLY_API_TOKEN>"
}
}
}
}