Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated
  • Submit MCP

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

© 2026 TrackMCP. All rights reserved.

Built with ❤️ by Krishna Goyal

    Rootly Mcp Server

    Rootly MCP server

    35 stars
    Python
    Updated Nov 3, 2025

    Table of Contents

    • Quick Start
    • Hosted Transport Options
    • General Remote Setup
    • Agent Setup
    • Rootly CLI
    • Alternative Installation (Local)
    • Prerequisites
    • API Token Types
    • With uv
    • Self-Hosted Transport Options
    • Workflow-Focused Tool Subsets
    • 🚨 Incident Response (25 tools)
    • 📅 On-Call Management (35 tools)
    • 📊 Monitoring & Alerting (40 tools)
    • 📋 Post-Incident Analysis (30 tools)
    • 📈 Analytics & Reporting (15 tools)
    • Multiple MCP Instances for Different Teams
    • With uvx
    • Features
    • Supported Tools
    • Custom Agentic Tools
    • OpenAPI-Generated Tools
    • On-Call Health Integration
    • Setup
    • Usage
    • Example Skills
    • 🚨 Rootly Incident Responder
    • On-Call Shift Metrics
    • On-Call Handoff Summary
    • MCP Resources for Context
    • Shift Incidents
    • Contributing
    • Play with it on Postman
    • About Rootly AI Labs

    Table of Contents

    • Quick Start
    • Hosted Transport Options
    • General Remote Setup
    • Agent Setup
    • Rootly CLI
    • Alternative Installation (Local)
    • Prerequisites
    • API Token Types
    • With uv
    • Self-Hosted Transport Options
    • Workflow-Focused Tool Subsets
    • 🚨 Incident Response (25 tools)
    • 📅 On-Call Management (35 tools)
    • 📊 Monitoring & Alerting (40 tools)
    • 📋 Post-Incident Analysis (30 tools)
    • 📈 Analytics & Reporting (15 tools)
    • Multiple MCP Instances for Different Teams
    • With uvx
    • Features
    • Supported Tools
    • Custom Agentic Tools
    • OpenAPI-Generated Tools
    • On-Call Health Integration
    • Setup
    • Usage
    • Example Skills
    • 🚨 Rootly Incident Responder
    • On-Call Shift Metrics
    • On-Call Handoff Summary
    • MCP Resources for Context
    • Shift Incidents
    • Contributing
    • Play with it on Postman
    • About Rootly AI Labs

    Documentation

    Rootly MCP Server

    PyPI version

    PyPI - Downloads

    Python Version

    An MCP server for the Rootly API for Cursor, Windsurf, Claude, and other MCP clients.

    Demo GIF

    Quick Start

    Use the hosted MCP server. No local installation required.

    Hosted Transport Options

    • Streamable HTTP (recommended): https://mcp.rootly.com/mcp
    • SSE (stable alternative): https://mcp.rootly.com/sse
    • Code Mode: https://mcp.rootly.com/mcp-codemode

    General Remote Setup

    Default remote config (HTTP streamable):

    json
    {
      "mcpServers": {
        "rootly": {
          "url": "https://mcp.rootly.com/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_ROOTLY_API_TOKEN"
          }
        }
      }
    }

    SSE (alternative):

    json
    {
      "mcpServers": {
        "rootly": {
          "url": "https://mcp.rootly.com/sse",
          "headers": {
            "Authorization": "Bearer YOUR_ROOTLY_API_TOKEN"
          }
        }
      }
    }

    Code Mode:

    json
    {
      "mcpServers": {
        "rootly": {
          "url": "https://mcp.rootly.com/mcp-codemode",
          "headers": {
            "Authorization": "Bearer YOUR_ROOTLY_API_TOKEN"
          }
        }
      }
    }

    Agent Setup

    Claude Code

    Streamable HTTP

    bash
    claude mcp add --transport http rootly https://mcp.rootly.com/mcp \
      --header "Authorization: Bearer YOUR_ROOTLY_API_TOKEN"

    Code Mode:

    bash
    claude mcp add rootly-codemode --transport http https://mcp.rootly.com/mcp-codemode \
      --header "Authorization: Bearer YOUR_ROOTLY_API_TOKEN"

    SSE (alternative):

    bash
    claude mcp add --transport sse rootly-sse https://mcp.rootly.com/sse \
      --header "Authorization: Bearer YOUR_ROOTLY_API_TOKEN"

    Manual Configuration

    Create .mcp.json in your project root:

    json
    {
      "mcpServers": {
        "rootly": {
          "type": "http",
          "url": "https://mcp.rootly.com/mcp",
          "headers": {
            "Authorization": "Bearer YOUR_ROOTLY_API_TOKEN"
          }
        }
      }
    }

    Restart Claude Code after updating the config.

    Gemini CLI

    Install the extension:

    bash
    gemini extensions install https://github.com/Rootly-AI-Labs/Rootly-MCP-server

    Or configure manually in ~/.gemini/settings.json:

    json
    {
      "mcpServers": {
        "rootly": {
          "command": "uvx",
          "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
          "env": {
            "ROOTLY_API_TOKEN": ""
          }
        }
      }
    }

    Cursor

    Add to .cursor/mcp.json or ~/.cursor/mcp.json:

    json
    {
      "mcpServers": {
        "rootly": {
          "url": "https://mcp.rootly.com/mcp",
          "headers": {
            "Authorization": "Bearer "
          }
        }
      }
    }

    Windsurf

    Add to ~/.codeium/windsurf/mcp_config.json:

    json
    {
      "mcpServers": {
        "rootly": {
          "serverUrl": "https://mcp.rootly.com/mcp",
          "headers": {
            "Authorization": "Bearer "
          }
        }
      }
    }

    Codex

    Add to ~/.codex/config.toml:

    toml
    [mcp_servers.rootly]
    url = "https://mcp.rootly.com/mcp"
    bearer_token_env_var = "ROOTLY_API_TOKEN"

    Claude Desktop

    Add to claude_desktop_config.json:

    Note: The --transport http flag ensures HTTP streamable transport is used instead of auto-falling back to SSE.

    json
    {
      "mcpServers": {
        "rootly": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://mcp.rootly.com/mcp",
            "--transport",
            "http",
            "--header",
            "Authorization: Bearer "
          ]
        }
      }
    }

    Rootly CLI

    Standalone CLI for incidents, alerts, services, and on-call operations.

    Install via Homebrew:

    bash
    brew install rootlyhq/tap/rootly-cli

    Or via Go:

    bash
    go install github.com/rootlyhq/rootly-cli/cmd/rootly@latest

    For more details, see the Rootly CLI repository.

    Alternative Installation (Local)

    Run the MCP server locally if you do not want to use the hosted service.

    Prerequisites

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

    API Token Types

    Choose the token type based on the access you need:

    • Global API Key: Full access across the Rootly instance. Best for organization-wide visibility.
    • Team API Key: Access limited to entities owned by that team.
    • Personal API Key: Access matches the user who created it.

    A Global API Key is recommended for organization-wide queries and for actions that modify data, especially when workflows may span multiple teams, schedules, or incidents.

    With uv

    json
    {
      "mcpServers": {
        "rootly": {
          "command": "uv",
          "args": [
            "tool",
            "run",
            "--from",
            "rootly-mcp-server",
            "rootly-mcp-server"
          ],
          "env": {
            "ROOTLY_API_TOKEN": "",
            "ROOTLY_MCP_ENABLE_WRITE_TOOLS": "true"
          }
        }
      }
    }

    Self-Hosted Transport Options

    Choose one transport per server process:

    • Streamable HTTP endpoint path: /mcp
    • SSE endpoint path: /sse
    • Code Mode (experimental) endpoint path: /mcp-codemode in hosted dual-transport mode

    Both hosted and self-hosted deployments expose the same curated tool surface by default, including the default write-enabled tools. To restrict that surface to read-only tools, start the server with --no-enable-write-tools or set ROOTLY_MCP_ENABLE_WRITE_TOOLS=false.

    To expose only a specific subset of MCP tools on a self-hosted deployment, set ROOTLY_MCP_ENABLED_TOOLS (or pass --enabled-tools) with a comma-separated allowlist of exact tool names, for example list_incidents,getIncident,get_server_version.

    To discover the exact tool names available under your current self-hosted configuration, run:

    bash
    ROOTLY_API_TOKEN= \
    uv run python -m rootly_mcp_server --list-tools

    This prints the effective MCP tool names after applying your current settings, including ROOTLY_MCP_ENABLE_WRITE_TOOLS and ROOTLY_MCP_ENABLED_TOOLS.

    Smoke-test a self-hosted allowlist:

    bash
    ROOTLY_API_TOKEN= \
    ROOTLY_MCP_ENABLED_TOOLS=list_incidents,getIncident,get_server_version \
    uv run python -m rootly_mcp_server --transport streamable-http --log-level ERROR

    Then connect an MCP client to http://127.0.0.1:8000/mcp and verify tools/list returns only:

    text
    get_server_version
    getIncident
    list_incidents

    To include specific write tools for self-hosted testing, add both the write flag and the allowlist:

    bash
    ROOTLY_API_TOKEN= \
    ROOTLY_MCP_ENABLE_WRITE_TOOLS=true \
    ROOTLY_MCP_ENABLED_TOOLS=createIncident,createWorkflowTask,listTeams \
    uv run python -m rootly_mcp_server --transport streamable-http --log-level ERROR

    Example Docker run (Streamable HTTP):

    bash
    docker run -p 8000:8000 \
      -e ROOTLY_TRANSPORT=streamable-http \
      -e ROOTLY_API_TOKEN= \
      -e ROOTLY_MCP_ENABLE_WRITE_TOOLS=true \
      rootly-mcp-server

    Example Docker run (SSE):

    bash
    docker run -p 8000:8000 \
      -e ROOTLY_TRANSPORT=sse \
      -e ROOTLY_API_TOKEN= \
      rootly-mcp-server

    Example Docker run (Dual transport + Code Mode):

    bash
    docker run -p 8000:8000 \
      -e ROOTLY_TRANSPORT=both \
      -e ROOTLY_API_TOKEN= \
      rootly-mcp-server

    Workflow-Focused Tool Subsets

    With 150+ tools available, you may want to configure focused subsets for optimal AI agent performance. Use ROOTLY_MCP_ENABLED_TOOLS to activate specific workflows:

    🚨 Incident Response (25 tools)

    *Essential tools for emergency responders and incident commanders*

    bash
    ROOTLY_MCP_ENABLED_TOOLS="listIncidents,getIncident,createIncident,updateIncident,search_incidents,find_related_incidents,suggest_solutions,createIncidentActionItem,listIncidentActionItems,updateIncidentFormFieldSelection,listTeams,getCurrentUser,listServices,listSeverities,getAlert,listAlerts,updateAlert,listEscalationPolicies,getEscalationPolicy,listOnCallRoles,listSchedules,getScheduleShifts,get_oncall_handoff_summary,get_shift_incidents,list_endpoints"

    📅 On-Call Management (35 tools)

    *For schedule coordinators and on-call managers*

    bash
    ROOTLY_MCP_ENABLED_TOOLS="listSchedules,getSchedule,updateSchedule,getScheduleShifts,listShifts,list_shifts,createScheduleRotation,updateScheduleRotation,listScheduleRotations,getScheduleRotation,listScheduleRotationUsers,updateScheduleRotationUser,createOnCallShadow,updateOnCallShadow,listOnCallShadows,createOverrideShift,updateOverrideShift,listOverrideShifts,listOnCallRoles,updateOnCallRole,get_oncall_schedule_summary,get_oncall_shift_metrics,check_oncall_health_risk,check_responder_availability,create_override_recommendation,listTeams,getTeam,listUsers,getUser,getCurrentUser,listEscalationPolicies,updateEscalationPolicy,listEscalationPaths,updateEscalationPath,listEscalationLevels"

    📊 Monitoring & Alerting (40 tools)

    *For platform teams setting up observability*

    bash
    ROOTLY_MCP_ENABLED_TOOLS="listAlerts,getAlert,updateAlert,createAlertGroup,updateAlertGroup,listAlertGroups,createAlertRoutingRule,updateAlertRoutingRule,listAlertRoutingRules,listAlertEvents,getAlertEvent,updateAlertEvent,createHeartbeat,updateHeartbeat,listHeartbeats,getHeartbeat,createPulse,updatePulse,listPulses,getPulse,createDashboard,updateDashboard,listDashboards,getDashboard,createDashboardPanel,updateDashboardPanel,listStatusPages,getStatusPage,updateStatusPage,createStatusPageTemplate,updateStatusPageTemplate,listCommunicationsTemplates,updateCommunicationsTemplate,createLiveCallRouter,updateLiveCallRouter,listServices,listTeams,getCurrentUser,listEnvironments,listSeverities,list_endpoints"

    📋 Post-Incident Analysis (30 tools)

    *For SREs doing retrospectives and process improvement*

    bash
    ROOTLY_MCP_ENABLED_TOOLS="getIncident,updateIncident,find_related_incidents,suggest_solutions,listIncidentActionItems,createIncidentActionItem,updateIncidentFormFieldSelection,createPostIncidentReview,updatePostIncidentReview,listPostIncidentReviews,getPostIncidentReview,createRetrospectiveStep,updateRetrospectiveStep,listRetrospectiveSteps,createRetrospectiveProcess,updateRetrospectiveProcess,listRetrospectiveProcesses,createPlaybook,updatePlaybook,listPlaybooks,getPlaybook,createPlaybookTask,updatePlaybookTask,listCauses,getCause,updateCause,listIncidentTypes,getIncidentType,updateIncidentType,getCurrentUser"

    📈 Analytics & Reporting (15 tools)

    *For leadership and metrics teams (read-only focus)*

    bash
    ROOTLY_MCP_ENABLED_TOOLS="listIncidents,search_incidents,collect_incidents,listTeams,listServices,listSchedules,get_oncall_shift_metrics,get_shift_incidents,listDashboards,getDashboard,listAlerts,listHeartbeats,listPulses,getCurrentUser,list_endpoints"

    Multiple MCP Instances for Different Teams

    You can run multiple MCP instances with different tool subsets:

    json
    {
      "mcpServers": {
        "rootly-incident-response": {
          "command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
          "env": {
            "ROOTLY_API_TOKEN": "",
            "ROOTLY_MCP_ENABLED_TOOLS": "listIncidents,getIncident,createIncident,find_related_incidents,suggest_solutions..."
          }
        },
        "rootly-oncall-management": {
          "command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
          "env": {
            "ROOTLY_API_TOKEN": "",
            "ROOTLY_MCP_ENABLED_TOOLS": "listSchedules,updateSchedule,createOverrideShift,get_oncall_shift_metrics..."
          }
        }
      }
    }

    With uvx

    json
    {
      "mcpServers": {
        "rootly": {
          "command": "uvx",
          "args": [
            "--from",
            "rootly-mcp-server",
            "rootly-mcp-server"
          ],
          "env": {
            "ROOTLY_API_TOKEN": ""
          }
        }
      }
    }

    Features

    • Dynamic Tool Generation: Automatically creates MCP resources from Rootly's OpenAPI (Swagger) specification
    • Smart Pagination: Uses bounded pagination and compact incident responses to prevent context window overflow
    • API Filtering: Limits exposed API endpoints for security and performance
    • Intelligent Incident Analysis: Smart tools that analyze historical incident data
    • **find_related_incidents**: Uses TF-IDF similarity analysis to find historically similar incidents
    • **suggest_solutions**: Mines past incident resolutions to recommend actionable solutions
    • MCP Resources: Exposes incidents, teams, on-call status, and workflow guides as structured resources for AI context
    • Intelligent Pattern Recognition: Automatically identifies services, error types, and resolution patterns
    • On-Call Health Integration: Detects workload health risk in scheduled responders

    Supported Tools

    The default server configuration exposes 150+ tools.

    Custom Agentic Tools

    • check_oncall_health_risk
    • check_responder_availability
    • collect_incidents
    • createIncident - create a new incident with a scoped set of fields for agent workflows
    • create_override_recommendation
    • find_related_incidents
    • getIncident - retrieve a single incident for direct verification, including PIR-related fields
    • get_alert_by_short_id
    • get_oncall_handoff_summary
    • get_oncall_schedule_summary
    • get_oncall_shift_metrics
    • get_server_version
    • get_shift_incidents
    • list_endpoints
    • list_incidents
    • list_shifts
    • search_incidents
    • suggest_solutions
    • updateIncident - scoped incident update tool for summary and retrospective_progress_status

    OpenAPI-Generated Tools

    text
    ListWorkflowRuns
    createIncidentActionItem
    createIncidentFormFieldSelection
    createWorkflowTask
    getAlert
    getAlertEvent
    getAlertGroup
    getAlertRoutingRule
    getAlertSource
    getAlertUrgency
    getCatalog
    getCatalogEntity
    getCause
    getCurrentUser
    getCustomForm
    getEnvironment
    getEscalationLevel
    getEscalationPath
    getEscalationPolicy
    getFormField
    getFormFieldOption
    getFunctionality
    getFunctionalityIncidentsChart
    getFunctionalityUptimeChart
    getIncidentActionItems
    getIncidentFormFieldSelection
    getIncidentType
    getOnCallRole
    getOnCallShadow
    getOverrideShift
    getSchedule
    getScheduleRotation
    getScheduleShifts
    getService
    getServiceIncidentsChart
    getServiceUptimeChart
    getSeverity
    getStatusPage
    getStatusPageTemplate
    getTeam
    getTeamIncidentsChart
    getUser
    getWorkflow
    getWorkflowFormFieldCondition
    getWorkflowGroup
    getWorkflowTask
    listAlertEvents
    listAlertGroups
    listAlertRoutingRules
    listAlertSources
    listAlertUrgencies
    listAlerts
    listAllIncidentActionItems
    listCatalogEntities
    listCatalogs
    listCauses
    listCustomForms
    listEnvironments
    listEscalationLevels
    listEscalationLevelsPaths
    listEscalationPaths
    listEscalationPolicies
    listFormFieldOptions
    listFormFields
    listFunctionalities
    listIncidentActionItems
    listIncidentAlerts
    listIncidentFormFieldSelections
    listIncident_Types
    listIncidents
    listOnCallRoles
    listOnCallShadows
    listOverrideShifts
    listScheduleRotationActiveDays
    listScheduleRotationUsers
    listScheduleRotations
    listSchedules
    listServices
    listSeverities
    listShifts
    listStatusPageTemplates
    listStatusPages
    listTeams
    listUsers
    listWorkflowFormFieldConditions
    listWorkflowGroups
    listWorkflows
    listWorkflowTasks
    updateEnvironment
    updateEscalationLevel
    updateEscalationPath
    updateEscalationPolicy
    updateFunctionality
    updateIncidentType
    updateOnCallRole
    updateOnCallShadow
    updateOverrideShift
    updateSchedule
    updateScheduleRotation
    updateService
    updateSeverity
    updateTeam
    updateWorkflow
    updateIncidentFormFieldSelection
    updateWorkflowTask

    Major Expansion: This version includes 50+ new endpoints covering communications, dashboards, playbooks, post-incident reviews, monitoring, and advanced form management - while carefully excluding security-sensitive operations like API key management, user creation/deletion, role management, and webhook configuration.

    Delete operations remain disabled in the default tool surface.

    On-Call Health Integration

    Integrates with On-Call Health to detect workload health risk in scheduled responders.

    Setup

    Set the ONCALLHEALTH_API_KEY environment variable:

    json
    {
      "mcpServers": {
        "rootly": {
          "command": "uvx",
          "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
          "env": {
            "ROOTLY_API_TOKEN": "your_rootly_token",
            "ONCALLHEALTH_API_KEY": "och_live_your_key"
          }
        }
      }
    }

    Usage

    code
    check_oncall_health_risk(
        start_date="2026-02-09",
        end_date="2026-02-15"
    )

    Returns at-risk users who are scheduled, recommended safe replacements, and action summaries.

    Example Skills

    Pre-built Claude Code skills:

    🚨 Rootly Incident Responder

    This skill:

    • 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

    Quick Start:

    bash
    # Copy the skill to your project
    mkdir -p .claude/skills
    cp examples/skills/rootly-incident-responder.md .claude/skills/
    
    # Then in Claude Code, invoke it:
    # @rootly-incident-responder analyze incident #12345

    It demonstrates a full incident response workflow using Rootly tools and GitHub context.

    On-Call Shift Metrics

    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.

    code
    get_oncall_shift_metrics(
        start_date="2025-10-01",
        end_date="2025-10-31",
        group_by="user"
    )

    On-Call Handoff Summary

    Complete handoff: current/next on-call + incidents during shifts.

    python
    # 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

    MCP Resources for Context

    AI agents can access these resources for situational awareness:

    • **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 (critical for incident response)
    • **rootly://workflow-guide** - Step-by-step workflow guidance for common operations

    Example usage: *"Check the current on-call status"* → AI reads rootly://oncall-status resource

    Shift Incidents

    Incidents during a time period, with filtering by severity/status/tags.

    python
    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)

    Contributing

    See CONTRIBUTING.md for developer setup and guidelines.

    Play with it on Postman

    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

    Similar MCP

    Based on tags & features

    • MA

      Mayamcp

      Python·
      27
    • BI

      Biothings Mcp

      Python·
      25
    • FH

      Fhir Mcp Server

      Python·
      55
    • MC

      Mcp Aoai Web Browsing

      Python·
      30

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • MA

      Mayamcp

      Python·
      27
    • BI

      Biothings Mcp

      Python·
      25
    • FH

      Fhir Mcp Server

      Python·
      55
    • MC

      Mcp Aoai Web Browsing

      Python·
      30

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScript·
      22.1k
    • SE

      Serena

      Python·
      14.5k
    • MC

      Mcp Playwright

      TypeScript·
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScript·
      3.0k