与 Cursor、Windsurf 和 Claude 等兼容 MCP 的编辑器无缝集成的 Rootly API 服务器。无需离开您的 IDE 即可在一分钟内解决生产问题。

uv 包管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
MCP 服务器需要一个 Rootly API 令牌。根据您的需求选择适当的令牌类型:
为了实现工具如 get_oncall_handoff_summary、get_oncall_shift_metrics 和组织级事件搜索的全部功能,建议使用 全局 API 密钥。
配置兼容 MCP 的编辑器(已测试 Cursor),使用以下配置之一。当您首次打开编辑器时,包将自动下载并安装。
{
"mcpServers": {
"rootly": {
"command": "uv",
"args": [
"tool",
"run",
"--from",
"rootly-mcp-server",
"rootly-mcp-server"
],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
}
}
}
}
{
"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>"
}
}
}
}
或者,直接连接到我们的托管 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>"
}
}
}
}
find_related_incidents:使用 TF-IDF 相似性分析找到历史上相似的事件suggest_solutions:挖掘过去的事件解决方案以推荐可操作的解决方案警报
listIncidentAlertslistAlertsattachAlertcreateAlert环境
listEnvironmentscreateEnvironment功能
listFunctionalitiescreateFunctionality工作流
listWorkflowscreateWorkflow事件
listIncidentActionItemscreateIncidentActionItemlistIncident_TypescreateIncidentTypesearch_incidentsfind_related_incidentssuggest_solutions值班
get_oncall_shift_metricsget_oncall_handoff_summaryget_shift_incidents服务及严重程度
listServicescreateServicelistSeveritiescreateSeverity团队及用户
listTeamscreateTeamlistUsersgetCurrentUser元数据
list_endpoints我们限制暴露的 API 路径有两个关键原因:
要暴露额外的路径,请修改 src/rootly_mcp_server/server.py 中的 allowed_paths 变量。
MCP 服务器包括智能工具,分析历史事件数据以提供可操作的见解:
find_related_incidents使用文本相似性分析找到历史上相似的事件:
find_related_incidents(incident_id="12345", similarity_threshold=0.15, max_results=5)
suggest_solutions通过分析类似事件是如何解决的来推荐解决方案:
suggest_solutions(incident_id="12345", max_solutions=3)
# 或对于新事件:
suggest_solutions(incident_title="支付 API 错误", incident_description="用户在结账时收到 500 错误")
为了获得最佳效果,请确保您的 Rootly 事件具有描述性的:
好的解决方案摘要示例:"重启了 auth-service,清除了 Redis 缓存,并将连接池从 10 增加到 50"
获取任意时间段的值班班次指标,按用户、团队或时间表分组。包括主要/次要角色跟踪、班次计数、小时数和值班天数。
get_oncall_shift_metrics(
start_date="2025-10-01",
end_date="2025-10-31",
group_by="user"
)
完整的交接:当前/下一个值班人员+班次期间的事件。
# 所有值班(任何时区)
get_oncall_handoff_summary(
team_ids="team-1,team-2",
timezone="America/Los_Angeles"
)
# 区域过滤 - 仅显示亚太地区业务时间内亚太地区的值班人员
get_oncall_handoff_summary(
timezone="Asia/Tokyo",
filter_by_region=True
)
区域过滤仅显示指定时区业务时间(上午 9 点至下午 5 点)内的值班人员。
返回:带有 current_oncall、next_oncall 和 shift_incidents 的 schedules
一段时间内的事件,按严重程度/状态/标签过滤。
get_shift_incidents(
start_time="2025-10-20T09:00:00Z",
end_time="2025-10-20T17:00:00Z",
severity="critical", # 可选
status="resolved", # 可选
tags="database,api" # 可选
)
返回:incidents 列表 + summary(计数、平均解决时间、分组)
uv创建并激活虚拟环境:
uv venv .venv
source .venv/bin/activate # 在运行脚本之前始终激活
安装所有项目依赖项:
uv pip install .
在开发过程中添加新的依赖项:
uv pip install <package>
安装预提交钩子以在提交前自动运行代码检查和测试:
./scripts/setup-hooks.sh
这通过运行以下内容确保代码质量:
现在,服务器应该可以与兼容 MCP 的编辑器一起使用了。
对于开发者:在 tests/ 目录中提供了额外的测试工具。
<img src="https://run.pstmn.io/button.svg" alt="在 Postman 上运行" style="width: 128px; height: 32px;">
该项目由 Rootly AI 实验室 开发,在那里我们正在构建系统可靠性和运营卓越的未来。作为一个开源孵化器,我们分享想法、实验并快速原型化解决方案,以造福整个社区。
