Incident management meets AI-powered development.
Prevent, respond, and learn from incidents -- without leaving your terminal.
You're in the zone writing code. Then:
- You
git pushand realize there's a SEV-1 in progress - You get paged and scramble between Slack, Datadog, and your incident tool
- The retro after an incident takes hours to compile
This plugin brings Rootly's incident lifecycle into Claude Code -- so you can assess deployment risk, investigate incidents, check on-call, and generate retrospectives from the same terminal where you write code.
Analyzes your git diff against past incidents. Warns you if similar changes caused outages before. Checks if on-call coverage exists. |
Pulls full incident context, finds similar past incidents, suggests proven solutions, and shows who's on-call -- all in one brief. |
See who's on-call across all schedules, shift metrics, upcoming handoffs, and health risk indicators. |
Generates a structured retrospective from incident data: timeline, contributing factors, action items, and systemic patterns. |
We've applied to have this plugin listed on the official Claude Code plugin marketplace. In the meantime, install manually:
The plugin requires the Rootly MCP server to access incident data. You must configure it before using the plugin.
Get an API token from your Rootly dashboard under Settings > API Keys, then configure the MCP server for your platform:
Claude Code (CLI)
The plugin's .mcp.json handles this automatically. Just set the token:
# Add to your shell profile (~/.bashrc, ~/.zshrc)
export ROOTLY_API_TOKEN="your-token-here"Or add to ~/.claude/settings.json:
{
"env": {
"ROOTLY_API_TOKEN": "your-token-here"
}
}Claude Desktop / Cowork
Add the Rootly MCP server to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"rootly": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"https://mcp.rootly.com/mcp",
"--header", "Authorization:Bearer YOUR_TOKEN_HERE"
]
}
}
}Replace YOUR_TOKEN_HERE with your Rootly API token. Restart Claude Desktop after saving.
Note: Claude Desktop requires stdio-based MCP servers. The
mcp-remotepackage bridges the remote Rootly HTTP server into the stdio transport that Desktop expects.
Claude Code (CLI):
git clone https://github.com/Rootly-AI-Labs/claude-rootly-plugin.git
claude --plugin-dir ./claude-rootly-pluginClaude Desktop / Cowork: Upload rootly.zip via the Customize menu in Cowork, or browse the plugin marketplace once listed.
/rootly:setup
| Command | What It Does |
|---|---|
/rootly:setup |
First-run configuration and connection check |
/rootly:deploy-check |
Pre-deploy risk analysis against incident history |
/rootly:respond [id] |
Investigate and respond to a live incident |
/rootly:oncall [team] |
On-call dashboard with shift metrics |
/rootly:retro [id] |
Generate a post-incident retrospective |
/rootly:status [service] |
Service health overview -- active incidents at a glance |
/rootly:ask [question] |
Ask anything about your incident data in plain English |
/rootly:ask how many SEV-1 incidents did we have last month?
/rootly:ask which service has the most incidents this quarter?
/rootly:ask who's been on-call the most in the last 30 days?
When a slash command isn't enough, Claude automatically invokes specialized agents for deeper analysis:
| Agent | Triggered When | What It Does |
|---|---|---|
| Incident Investigator | You need root cause analysis beyond initial triage | Builds hypothesis trees, correlates alerts with code changes, traces causation chains |
| Deploy Guardian | Multi-service deployments with cross-team impact | Maps blast radius across dependent services, evaluates downstream risk, builds coordination checklists |
| Retro Analyst | You want to understand patterns across incidents | Clusters incidents by failure mode, calculates frequency trends, identifies systemic reliability issues |
Two lightweight hooks run in the background -- they never block your workflow:
| Hook | When | What It Does |
|---|---|---|
| Token check | Session start | Validates your API token and nudges you to set one if missing |
| Incident warning | Before git commit / git push |
Warns if there's an active critical incident -- so you don't deploy into a fire |
Map your repository to Rootly services by creating .claude/rootly-config.json:
{
"services": ["auth-service", "auth-worker"],
"team": "platform-team"
}/rootly:setup walks you through creating this. Without it, the plugin falls back to matching your git repo name against Rootly service names.
Self-hosted Rootly
export ROOTLY_API_URL="https://rootly.internal.example.com"This overrides the REST API base URL used by hook scripts. Configure the MCP endpoint separately in .mcp.json.
Local MCP server
Replace the HTTP transport in .mcp.json:
{
"mcpServers": {
"rootly": {
"command": "uvx",
"args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
"env": {
"ROOTLY_API_TOKEN": "<YOUR_TOKEN>"
}
}
}
}CLI MCP setup
claude mcp add rootly --transport http https://mcp.rootly.com/mcp \
--header "Authorization: Bearer YOUR_TOKEN"Post-push deployment registration
An optional script (scripts/register-deploy.sh) can register deployments with Rootly after git push. It's not enabled by default -- see the script header for hook configuration.
| Problem | Fix |
|---|---|
| "No API token found" | Set ROOTLY_API_TOKEN in your shell profile or Claude settings. See Installation. |
| "API token appears invalid" | Regenerate your key in Rootly: Settings > API Keys. |
| MCP tools not responding | Check connectivity: curl -H "Authorization: Bearer $ROOTLY_API_TOKEN" https://api.rootly.com/v1/users/me |
| Skills not appearing | Run /reload-plugins, then check /plugin installed tab. |
| Hook scripts not running | Run chmod +x scripts/*.sh and ensure jq or python3 is available. |
See ARCHITECTURE.md for the full technical design: MCP integration, hook system, agent orchestration, and data flow.
Apache 2.0 -- see LICENSE.
Built by Rootly AI Labs
