Rootly MCP Server
Official Rootly MCP server for incident management, on-call operations, and post-incident analysis from inside AI coding assistants.
The Rootly MCP server connects Rootly's incident management platform to MCP-compatible AI clients like Claude, Cursor, Windsurf, Claude Code, and Gemini CLI. It exposes 150+ tools generated dynamically from Rootly's OpenAPI specification, covering incidents, alerts, on-call schedules, workflows, retrospectives, and more, so responders can triage and resolve production issues without leaving their IDE.
Beyond the auto-generated API coverage, the server adds a set of custom agentic tools built specifically for AI workflows: ML-based similarity search for related historical incidents, solution suggestions mined from past resolutions, on-call workload health risk detection, and shift handoff summaries. It also implements bounded pagination to avoid context window overflow and supports tool allowlists so teams can scope the agent's surface area for a given workflow (incident response, on-call management, analytics, etc.).
Rootly offers a hosted endpoint at https://mcp.rootly.com/mcp (recommended) as well as an open-source self-hosted version published as the rootly-mcp-server Python package by Rootly AI Labs under Apache 2.0. Both options authenticate with a Rootly API token (global, team-scoped, or personal).
Tools
| Tool | Description |
|---|---|
find_related_incidents |
ML-based historical similarity matching to surface past incidents related to the current one. |
suggest_solutions |
Recommends remediation steps based on resolutions from similar past incidents. |
createIncident |
Agent-optimized incident creation in Rootly. |
updateIncident |
Scoped updates to an existing incident, including summary and retrospective status. |
check_oncall_health_risk |
Detects workload and burnout risk for currently scheduled responders. |
get_oncall_handoff_summary |
Returns current and next on-call responders alongside in-shift incident correlation. |
get_oncall_shift_metrics |
Shift analytics grouped by user, team, or schedule. |
OpenAPI-generated tools |
150+ tools auto-generated from the Rootly OpenAPI spec covering incidents, alerts, schedules, workflows, post-incident reviews, services, teams, and more. |
Prerequisites
- A Rootly account and an API token from Account > Manage API keys (Global, Team, or Personal scope)
- An MCP-compatible client (Claude Desktop, Cursor, Windsurf, Claude Code, Gemini CLI, etc.)
Option 1: Hosted server (recommended)
Point your MCP client at https://mcp.rootly.com/mcp and pass your API token as a Bearer header.
Cursor (.cursor/mcp.json):
{
"mcpServers": {
"rootly": {
"url": "https://mcp.rootly.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_ROOTLY_API_TOKEN>"
}
}
}
}
Claude Desktop (claude_desktop_config.json), via mcp-remote:
{
"mcpServers": {
"rootly": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.rootly.com/mcp",
"--transport", "http",
"--header", "Authorization: Bearer <YOUR_ROOTLY_API_TOKEN>"
]
}
}
}
Alternative transports: https://mcp.rootly.com/sse (SSE) and https://mcp.rootly.com/mcp-codemode (Code Mode).
Option 2: Self-hosted with uvx (Python 3.12+)
{
"mcpServers": {
"rootly": {
"command": "uvx",
"args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>",
"ROOTLY_MCP_ENABLE_WRITE_TOOLS": "true"
}
}
}
}
Environment variables (self-hosted)
ROOTLY_API_TOKEN: required, your Rootly API tokenROOTLY_MCP_ENABLE_WRITE_TOOLS: toggle write operations (set tofalsefor read-only)ROOTLY_MCP_ENABLED_TOOLS: comma-separated allowlist of specific toolsONCALLHEALTH_API_KEY: optional, enables on-call health risk integration
Docker
docker run -p 8000:8000 \
-e ROOTLY_TRANSPORT=streamable-http \
-e ROOTLY_API_TOKEN=<TOKEN> \
-e ROOTLY_MCP_ENABLE_WRITE_TOOLS=true \
rootly-mcp-server
- Triage a paging alert from inside the IDE by querying the current incident, fetching related past incidents, and surfacing suggested remediations
- Create or update Rootly incidents during a live production issue without context-switching to the Rootly UI
- Check who is currently on-call, who is next, and whether any responders are at workload/burnout risk before paging
- Generate post-incident review drafts by pulling incident timelines, services involved, and resolution notes
- Run shift analytics (incidents per shift, per team, per schedule) for on-call health reviews and retrospectives
- "Find incidents in Rootly similar to the current checkout 500 error and summarize how we resolved them."
- "Who is on-call for the payments team right now, and is anyone at burnout risk this week?"
- "Create a P2 incident in Rootly titled 'Elevated latency on /api/orders' and assign the platform team."
- "Give me a handoff summary for the SRE on-call schedule, including any open incidents from this shift."
- "Pull last quarter's on-call shift metrics grouped by team and flag any schedules with more than 5 pages per shift."
- Official server maintained by Rootly AI Labs, with both a hosted endpoint and an open-source Python package
- Broad coverage: 150+ tools auto-generated from Rootly's OpenAPI spec plus custom agentic tools for similarity search and on-call health
- Granular security controls: read-only mode, tool allowlists, and three API token scopes (global, team, personal)
- Multiple transports (HTTP streamable, SSE, Code Mode) and first-class configs for Claude Desktop, Cursor, Windsurf, and others
- Requires a paid Rootly account; not useful without an active Rootly tenant
- Self-hosted version is labeled a prototype by Rootly AI Labs and may lag the hosted endpoint
- Large tool surface (150+) can crowd the model's context unless
ROOTLY_MCP_ENABLED_TOOLSis scoped to a workflow
- PagerDuty MCP server for on-call and incident response on PagerDuty
- incident.io MCP server community/official implementations for incident.io
- Sentry MCP server for error monitoring and issue triage adjacent to incident workflows