Skip to main content

A Model Context Protocol server for Rootly APIs using OpenAPI spec

Project description

Rootly MCP Server

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.

Install MCP Server

Demo GIF

Prerequisites

  • Python 3.12 or higher
  • uv package manager
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • Rootly API token

Installation

Install via our PyPi package or by cloning this repository.

Configure your MCP-compatible editor (tested with Cursor and Windsurf) with the following:

With uv

{
  "mcpServers": {
    "rootly": {
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "rootly-mcp-server",
        "rootly-mcp-server",
      ],      
      "env": {
        "ROOTLY_API_TOKEN": "<YOUR_ROOTLY_API_TOKEN>"
      }
    }
  }
}

With uv-tool-uvx

{
  "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>"
      }
    }
  }
}

Connect to Hosted MCP Server

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>"
      }
    }
  }
}

Features

  • Dynamic Tool Generation: Automatically creates MCP resources from Rootly's OpenAPI (Swagger) specification
  • Smart Pagination: Defaults to 10 items per request for incident endpoints to prevent context window overflow
  • API Filtering: Limits exposed API endpoints for security and performance

Whitelisted Endpoints

By default, the following Rootly API endpoints are exposed to the AI agent (see allowed_paths in src/rootly_mcp_server/server.py):

/v1/incidents
/v1/incidents/{incident_id}/alerts
/v1/alerts
/v1/alerts/{alert_id}
/v1/severities
/v1/severities/{severity_id}
/v1/teams
/v1/teams/{team_id}
/v1/services
/v1/services/{service_id}
/v1/functionalities
/v1/functionalities/{functionality_id}
/v1/incident_types
/v1/incident_types/{incident_type_id}
/v1/incident_action_items
/v1/incident_action_items/{incident_action_item_id}
/v1/incidents/{incident_id}/action_items
/v1/workflows
/v1/workflows/{workflow_id}
/v1/workflow_runs
/v1/workflow_runs/{workflow_run_id}
/v1/environments
/v1/environments/{environment_id}
/v1/users
/v1/users/{user_id}
/v1/users/me
/v1/status_pages
/v1/status_pages/{status_page_id}

Why Path Limiting?

We limit exposed API paths for two key reasons:

  1. Context Management: Rootly's comprehensive API can overwhelm AI agents, affecting their ability to perform simple tasks effectively
  2. Security: Control which information and actions are accessible through the MCP server

To expose additional paths, modify the allowed_paths variable in src/rootly_mcp_server/server.py.

About Rootly AI Labs

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. Rootly AI logo

Developer Setup & Troubleshooting

Prerequisites

  • Python 3.12 or higher
  • uv for dependency management

1. Set Up Virtual Environment

Create and activate a virtual environment:

uv venv .venv
source .venv/bin/activate  # Always activate before running scripts

2. Install Dependencies

Install all project dependencies:

uv pip install .

To add new dependencies during development:

uv pip install <package>

3. Verify Installation

Run the test client to ensure everything is configured correctly:

python src/rootly_mcp_server/test_client.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rootly_mcp_server-2.0.9.tar.gz (6.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rootly_mcp_server-2.0.9-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

Details for the file rootly_mcp_server-2.0.9.tar.gz.

File metadata

  • Download URL: rootly_mcp_server-2.0.9.tar.gz
  • Upload date:
  • Size: 6.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for rootly_mcp_server-2.0.9.tar.gz
Algorithm Hash digest
SHA256 6c9acdf5837a58ee85375dee7a80943583ec147a4aba07b429692272258db3ce
MD5 7911944d1b8b40a3de6eaabfa0e9ce6e
BLAKE2b-256 afd41b5d38a3d3b0dc614024de08a61368ae1dfbff76801f14292dc8b92825a1

See more details on using hashes here.

File details

Details for the file rootly_mcp_server-2.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for rootly_mcp_server-2.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 9d486c843c21127a6fc39e77236d152cc40d036e83c672bc0063ba6d733e0575
MD5 58f3490fd7dd5793ab9f4f6640d52b34
BLAKE2b-256 4eda92f1328be47e7d73ec96bbbd6a2f54c660e2e364ef00fb32d14b617f1608

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page