Introduction
The Rootly MCP Server implements the Model Context Protocol to expose Rootly incident data and actions as tools that any MCP-compatible client can use. This means you can query incidents, check on-call schedules, find similar past incidents, and take action — all from within Cursor, Windsurf, Claude Code, Gemini CLI, or any other MCP-compatible environment. The server dynamically generates tools from Rootly’s OpenAPI specification, so it always reflects the current API surface. It also includes a set of intelligent tools built on top of that foundation:Two Rootly MCP surfaces. This page covers the Product MCP Server at
https://mcp.rootly.com — the one that exposes Rootly’s API as tools your AI client can call. Rootly also publishes a Docs MCP Server at https://docs.rootly.com/mcp that exposes the documentation content for search and retrieval. The two are complementary: connect both and your AI client can answer “how do I configure X?” (docs MCP) and “now configure X for me” (product MCP) in the same session. Setup for the Docs MCP is at the bottom of this page — see Rootly Docs MCP Server.find_related_incidents— uses TF-IDF similarity analysis to surface historically similar incidentssuggest_solutions— mines past incident resolutions to recommend actionable next stepsget_oncall_shift_metrics— shift counts, hours, and days on-call grouped by user, team, or scheduleget_oncall_handoff_summary— current and next on-call plus incidents during shifts, with optional regional filteringget_shift_incidents— incidents during a time window, filterable by severity, status, and tags
Authentication
The hosted MCP server supports two authentication methods:OAuth2 (Recommended)
MCP clients that support OAuth2 (Claude Desktop, Claude Code, Cursor) authenticate automatically — a browser window opens for you to log in to Rootly and grant access. No API token needed. Permissions are scoped through Rootly’s granular OAuth2 consent screen. OAuth2 is supported on all hosted transport endpoints: Streamable HTTP (/mcp), SSE (/sse), and Code Mode (/mcp-codemode).
API Token
For clients that don’t support OAuth2, or for local/self-hosted installations, use a Rootly API token. Generate one in Account > Manage API keys > Generate New API Key.| Token Type | Access Level |
|---|---|
| Global API Key (recommended) | Full access across all teams, schedules, and incidents |
| Team API Key | Full read/write access scoped to a single team |
| Personal API Key | Inherits the permissions of the user who created it |
Tools like
get_oncall_handoff_summary and get_oncall_shift_metrics require organization-wide visibility. A Global API Key is recommended for full functionality.- Python 3.12 or higher
- The
uvpackage manager
Installation
Choose the deployment option that fits your team. The hosted option is the fastest way to get started and requires no local setup.Hosted (recommended)
Connect to Rootly’s managed MCP server — always up to date, zero maintenance. The standard hosted URL exposes the full tool surface by default. If you want a smaller remote profile, add?tool_profile=slim to the URL or send X-Rootly-Tool-Profile: slim.
Transport Options:
- Code Mode (recommended):
https://mcp.rootly.com/mcp-codemode - Streamable HTTP:
https://mcp.rootly.com/mcp - SSE:
https://mcp.rootly.com/sse
Use Code Mode. Instead of registering ~200 individual tools — whose schemas are re-sent on every model turn — Code Mode exposes a compact set of meta-tools (
list_tools, tool_search, get_schema, tags, execute). The model discovers the tools it needs and writes a short async Python block in execute that chains multiple call_tool(...) calls server-side, returning only the final result. This means dramatically lower token usage and fewer round-trips for multi-step work. It supports OAuth2 and API tokens identically to the other endpoints.Connect Code Mode instead of the classic endpoints, not alongside them. If both surfaces are available to the same client, the model tends to call the classic tools directly and skip execute — so the full tool surface still loads and you lose the savings.Client-Specific Setup
Claude Code
With OAuth2 (recommended):.mcp.json in your project root:
Cursor
Add to.cursor/mcp.json or ~/.cursor/mcp.json:
With OAuth2 (recommended):
Windsurf
Add to~/.codeium/windsurf/mcp_config.json:
Codex
Add to~/.codex/config.toml:
Claude Desktop
Add toclaude_desktop_config.json:
With OAuth2 (recommended):
Gemini CLI
Install as an extension:~/.gemini/settings.json:
Local Installation
The package is downloaded automatically when you first open your editor. Local installation provides additional security controls not available in the hosted version. Withuv:
uvx:
Security Controls (Local Only)
Local installations support granular permission controls through environment variables: Default Mode (All Tools):Full Access by Default — Local installations match hosted behavior with all tools available. Use
ROOTLY_MCP_ENABLE_WRITE_TOOLS=false to restrict to read-only mode.| Variable | Description | Default |
|---|---|---|
ROOTLY_API_TOKEN | Your Rootly API authentication token | Required |
ROOTLY_MCP_ENABLE_WRITE_TOOLS | Enable write operations (create, update) | true |
ROOTLY_MCP_ENABLED_TOOLS | Comma-separated allowlist of specific tools | All available tools |
Self-Hosted
For organizations that need full control over infrastructure or data flow:--no-enable-write-tools or set ROOTLY_MCP_ENABLE_WRITE_TOOLS=false.
To expose only a specific subset of MCP tools, set ROOTLY_MCP_ENABLED_TOOLS (or pass --enabled-tools) with a comma-separated allowlist of exact tool names.
Discover available tool names:
http://127.0.0.1:8000/mcp and verify tools/list returns only the specified tools.
Run with Docker (Streamable HTTP):
The MCP server is now connected. Your MCP client can call Rootly tools to list incidents, check on-call schedules, find related incidents, and more.
Alternative: Rootly CLI — For terminal-based workflows, check out the Rootly CLI which provides direct command-line access to incidents, alerts, and on-call operations.
Available Tools
The MCP server exposes 200+ tools dynamically generated from Rootly’s OpenAPI specification, plus custom agentic tools for intelligent incident analysis.- Hosted default: full tool surface
- Hosted slim profile: about 70 high-usage tools via
?tool_profile=slim - Local and self-hosted default: full tool surface
- Exact custom subset: use
ROOTLY_MCP_ENABLED_TOOLSto expose only a specific allowlist
Custom Agentic Tools
check_oncall_health_risk— detects workload health risk in scheduled responderscheck_responder_availability— checks responder availabilitycollect_incidents— collects incident data with filteringcreateIncident— create incidents with scoped fields for agent workflowscreate_override_recommendation— suggests on-call override recommendationsfind_related_incidents— uses TF-IDF similarity to find historically similar incidentsgetIncident— retrieve single incidents with PIR-related fieldsget_alert_by_short_id— get alerts using short IDsget_oncall_handoff_summary— complete handoff informationget_oncall_schedule_summary— schedule overviewget_oncall_shift_metrics— comprehensive shift analyticsget_server_version— server version informationget_shift_incidents— incidents during specific time periodslist_endpoints— available API endpointslist_incidents— incident listing with filterslist_shifts— on-call shift informationsearch_incidents— advanced incident searchsuggest_solutions— mines past resolutions for actionable recommendationsupdateIncident— scoped incident updates for summary and retrospective progress
OpenAPI-Generated Tools
The server also includes all standard Rootly API operations — covering alerts, escalation policies, schedules, services, teams, workflows, dashboards, playbooks, post-incident reviews, and more. Security-sensitive operations (API key management, user creation/deletion, role management, webhook configuration) and delete operations are excluded from the default tool surface. To see the exact tools available under your configuration:Workflow-Focused Tool Subsets
With 200+ tools available by default, you can either use the hosted slim profile or configure focused subsets for optimal AI agent performance usingROOTLY_MCP_ENABLED_TOOLS.
For hosted clients that want the smaller remote profile without maintaining a custom allowlist, use https://mcp.rootly.com/mcp?tool_profile=slim or send X-Rootly-Tool-Profile: slim.
Pre-built subsets are available for:
| Subset | Tools | Use Case |
|---|---|---|
| Incident Response | 25 | Emergency responders and incident commanders |
| On-Call Management | 35 | Schedule coordinators and on-call managers |
| Monitoring & Alerting | 41 | Platform teams setting up observability |
| Post-Incident Analysis | 30 | SREs doing retrospectives and process improvement |
| Analytics & Reporting | 15 | Leadership and metrics teams (read-only) |
MCP Resources
AI agents can access these resources for situational awareness:| Resource | Description |
|---|---|
incident://{incident_id} | Detailed incident information for specific incidents |
team://{team_id} | Team details including name, color, and metadata |
rootly://incidents | List of recent incidents for quick reference |
rootly://oncall-status | Current on-call status across all schedules |
rootly://workflow-guide | Step-by-step workflow guidance for common operations |
rootly://oncall-status resource.
Example Skills
Rootly Incident Responder
The MCP server includes a pre-built Rootly Incident Responder skill for Claude Code that demonstrates a complete incident response workflow:- Analyzes production incidents with full context
- Finds similar historical incidents using ML-based similarity matching
- Suggests solutions based on past successful resolutions
- Coordinates with on-call teams across timezones
- Correlates incidents with recent code changes and deployments
- Creates action items and remediation plans
- Provides confidence scores and time estimates
Example Tools
On-Call Shift Metrics
Get shift counts, hours, and days on-call for any time period, grouped by user, team, or schedule:On-Call Handoff Summary
Get current and next on-call responders plus incidents that occurred during their shifts. Supports optional regional filtering to show only responders on-call during business hours in a given timezone:Shift Incidents
Incidents during a time window, filterable by severity, status, and tags. Returns an incident list plus a summary with counts and average resolution time:On-Call Health Integration
The MCP server integrates with On-Call Health to detect workload health risk in scheduled responders. Set theONCALLHEALTH_API_KEY environment variable to enable it:
Troubleshooting
The server connects but tools are not appearing
The server connects but tools are not appearing
Some MCP clients require a restart after adding a new server configuration. Fully restart your editor or AI assistant after saving the configuration. Also confirm that the JSON configuration is valid — a missing comma or bracket will silently prevent the server from loading.
Authentication errors when calling tools
Authentication errors when calling tools
Confirm that the API token is active and has not been revoked. Go to Account > Manage API keys in Rootly and verify the key exists. Also check that the token is passed correctly — for hosted configurations it goes in the
Authorization header as Bearer <token>, and for local/self-hosted it goes in the ROOTLY_API_TOKEN environment variable.Organization-wide tools return incomplete data
Organization-wide tools return incomplete data
Tools like
get_oncall_handoff_summary and get_oncall_shift_metrics require visibility across all teams. If results are incomplete, your API token may be scoped to a single team. Switch to a Global API Key for full access.The local server fails to start
The local server fails to start
Confirm that Python 3.12 or higher is installed (
python --version) and that uv is available (uv --version). If using uvx, the package is downloaded on first run — ensure you have network access. For proxy environments, you may need to configure uv proxy settings.On-Call Health tools are not available
On-Call Health tools are not available
The
check_oncall_health_risk tool only appears when ONCALLHEALTH_API_KEY is set. Confirm the environment variable is present in your MCP server configuration and that the key is valid at oncallhealth.ai.Rootly Docs MCP Server
In addition to the Product MCP server documented above, Rootly publishes a Docs MCP Server that exposes the content of docs.rootly.com for AI-driven search and retrieval. Connect it to your AI client and the model can ground its answers in current Rootly documentation — no copy-pasting docs into prompts, no stale training data.What It’s For
| Question your AI client is being asked | Which MCP answers it |
|---|---|
| ”How do I configure Datadog alert routing in Rootly?” | Docs MCP — searches the relevant pages and returns the answer |
| ”What’s the difference between Alert Deduplication and Alert Grouping?” | Docs MCP — surfaces the comparison page |
| ”What does the Slack Channel Created workflow trigger fire on?” | Docs MCP |
| ”Page the on-call for the payments team.” | Product MCP — calls the Rootly API |
| ”Create a SEV1 incident with these details.” | Product MCP |
| ”Show me incidents from last week with Datadog as a source.” | Product MCP |
What The Docs MCP Exposes
Two tools and one auto-generated skill resource:| Capability | Type | What it does |
|---|---|---|
search_rootly | Tool | Semantic search across the Rootly knowledge base. Returns titles, links, and excerpts of the most relevant pages for a natural-language query. Best for “how do I…” and conceptual questions. |
query_docs_filesystem_rootly | Tool | Read-only shell-like access to a virtualized filesystem of every Rootly docs page. Supports rg (ripgrep), grep, find, tree, ls, cat, head, tail, stat, wc, sort, uniq, cut, sed, awk, jq. Best when your AI needs exact keyword matching, structural exploration of the docs tree, or the full content of a specific page. |
mintlify://skills/rootly | Resource | Auto-generated Rootly Skill Reference — a Markdown document that tells your AI client when to reach for Rootly (incident management, on-call paging, alert routing, etc.), where the API and CLI live, and the canonical entry points for each task type. Your AI client reads this once at session start for grounding. |
Installation
The Docs MCP is hosted by Mintlify athttps://docs.rootly.com/mcp and uses Streamable HTTP transport with the standard MCP protocol (version 2024-11-05). It’s read-only and unauthenticated — no API key, no Rootly account required.
Claude Code
Cursor
Add to.cursor/mcp.json or ~/.cursor/mcp.json:
Claude Desktop
Add toclaude_desktop_config.json:
Windsurf
Add to~/.codeium/windsurf/mcp_config.json:
Running Both MCPs Together
If you already have the Product MCP configured, add the Docs MCP as a second entry undermcpServers — don’t replace the existing rootly block. The two servers don’t conflict, and your AI client routes queries to whichever surface is relevant.
Add this stanza alongside your existing rootly block:
Verifying the Connection
The most reliable check is tool discovery in your client. After connecting, confirm the Docs MCP is registered by looking for these tools in your client’s MCP or tools list:search_rootlyquery_docs_filesystem_rootly
The client-specific commands above target current stable versions of Claude Code, Cursor, Claude Desktop, and Windsurf as of publication. If your client uses a different pattern for adding a Streamable HTTP MCP server, follow its documentation and set the URL to
https://docs.rootly.com/mcp (transport: Streamable HTTP; auth: none).Related Pages
API Reference
Browse the full Rootly API — all endpoints exposed by the MCP server come from here.
Rootly AI
Learn about Rootly’s built-in AI features for incident management.
MCP Server on GitHub
Source code, issues, and release notes for the Rootly MCP Server.