Rootly
STDIOHTTP-SSEOfficialIDE内解决生产事故的Rootly API服务器
IDE内解决生产事故的Rootly API服务器
An MCP server for the Rootly API that integrates seamlessly with MCP-compatible editors like Cursor, Windsurf, and Claude. Resolve production incidents in under a minute without leaving your IDE.

uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
The MCP server requires a Rootly API token. Choose the appropriate token type based on your needs:
For full functionality of tools like get_oncall_handoff_summary, get_oncall_shift_metrics, and organization-wide incident search, a Global API Key is recommended.
Configure your MCP-compatible editor (tested with Cursor) with one of the configurations below. The package will be automatically downloaded and installed when you first open your editor.
{ "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>" } } } }
To customize allowed_paths and access additional Rootly API paths, clone the repository and use this configuration:
{ "mcpServers": { "rootly": { "command": "uv", "args": [ "run", "--directory", "/path/to/rootly-mcp-server", "rootly-mcp-server" ], "env": { "ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>" } } } }
Alternatively, connect directly to our hosted MCP server:
{ "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: Uses TF-IDF similarity analysis to find historically similar incidentssuggest_solutions: Mines past incident resolutions to recommend actionable solutionsAlerts
listIncidentAlertslistAlertsattachAlertcreateAlertEnvironments
listEnvironmentscreateEnvironmentFunctionalities
listFunctionalitiescreateFunctionalityWorkflows
listWorkflowscreateWorkflowIncidents
listIncidentActionItemscreateIncidentActionItemlistIncident_TypescreateIncidentTypesearch_incidentsfind_related_incidentssuggest_solutionsOn-Call
get_oncall_shift_metricsget_oncall_handoff_summaryget_shift_incidentsServices & Severities
listServicescreateServicelistSeveritiescreateSeverityTeams & Users
listTeamscreateTeamlistUsersgetCurrentUserMeta
list_endpointsWe limit exposed API paths for two key reasons:
To expose additional paths, modify the allowed_paths variable in src/rootly_mcp_server/server.py.
The MCP server includes intelligent tools that analyze historical incident data to provide actionable insights:
find_related_incidentsFinds historically similar incidents using text similarity analysis:
find_related_incidents(incident_id="12345", similarity_threshold=0.15, max_results=5)
suggest_solutionsRecommends solutions by analyzing how similar incidents were resolved:
suggest_solutions(incident_id="12345", max_solutions=3)
# OR for new incidents:
suggest_solutions(incident_title="Payment API errors", incident_description="Users getting 500 errors during checkout")
For optimal results, ensure your Rootly incidents have descriptive:
Example good resolution summary: "Restarted auth-service, cleared Redis cache, and increased connection pool from 10 to 50"
Get on-call shift metrics for any time period, grouped by user, team, or schedule. Includes primary/secondary role tracking, shift counts, hours, and days on-call.
get_oncall_shift_metrics(
    start_date="2025-10-01",
    end_date="2025-10-31",
    group_by="user"
)
Complete handoff: current/next on-call + incidents during shifts.
# All on-call (any timezone) get_oncall_handoff_summary( team_ids="team-1,team-2", timezone="America/Los_Angeles" ) # Regional filter - only show APAC on-call during APAC business hours get_oncall_handoff_summary( timezone="Asia/Tokyo", filter_by_region=True )
Regional filtering shows only people on-call during business hours (9am-5pm) in the specified timezone.
Returns: schedules with current_oncall, next_oncall, and shift_incidents
Incidents during a time period, with filtering by severity/status/tags.
get_shift_incidents( start_time="2025-10-20T09:00:00Z", end_time="2025-10-20T17:00:00Z", severity="critical", # optional status="resolved", # optional tags="database,api" # optional )
Returns: incidents list + summary (counts, avg resolution time, grouping)
This project was developed by Rootly AI Labs, where we're building the future of system reliability and operational excellence. As an open-source incubator, we share ideas, experiment, and rapidly prototype solutions that benefit the entire community.

uv for dependency managementCreate and activate a virtual environment:
uv venv .venv source .venv/bin/activate # Always activate before running scripts
Install all project dependencies:
uv pip install .
To add new dependencies during development:
uv pip install <package>
Install pre-commit hooks to automatically run linting and tests before commits:
./scripts/setup-hooks.sh
This ensures code quality by running:
The server should now be ready to use with your MCP-compatible editor.
For developers: Additional testing tools are available in the tests/ directory.