Rootly

Servidor MCP para la plataforma de gestión de incidentes Rootly.

Documentación

Servidor MCP de Rootly

PyPI version PyPI - Downloads Python Version

Un servidor MCP para la API de Rootly para Cursor, Windsurf, Claude y otros clientes MCP.

Demo GIF

Inicio rápido

Usa el servidor MCP alojado. No se requiere instalación local.

Opciones de transporte alojado

  • Streamable HTTP (recomendado): https://mcp.rootly.com/mcp
  • SSE (alternativa estable): https://mcp.rootly.com/sse
  • Modo Código: https://mcp.rootly.com/mcp-codemode

Perfiles de herramientas alojados:

  • Completo (predeterminado): usa las URL anteriores tal cual
  • Reducido (~70 herramientas): agrega ?tool_profile=slim a la URL alojada, por ejemplo https://mcp.rootly.com/mcp?tool_profile=slim
  • Alternativa de encabezado: envía X-Rootly-Tool-Profile: slim
  • Predeterminado de todo el servidor: establece ROOTLY_MCP_HOSTED_TOOL_PROFILE=full|slim
  • Anulación personalizada exacta: establece ROOTLY_MCP_ENABLED_TOOLS=...

Configuración remota general

Con OAuth2 (recomendado):

{
  "mcpServers": {
    "rootly": {
      "url": "https://mcp.rootly.com/mcp"
    }
  }
}

Tu cliente MCP maneja el inicio de sesión OAuth2 automáticamente: se abre una ventana del navegador para que te autentiques con Rootly. No se necesita token de API.

Con token de API:

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

SSE (alternativa):

{
  "mcpServers": {
    "rootly": {
      "url": "https://mcp.rootly.com/sse"
    }
  }
}

Modo Código:

{
  "mcpServers": {
    "rootly": {
      "url": "https://mcp.rootly.com/mcp-codemode"
    }
  }
}

Configuración de agentes

Claude Code

Con OAuth2 (recomendado):

claude mcp add --transport http rootly https://mcp.rootly.com/mcp

# Code Mode:
claude mcp add --transport http rootly-codemode https://mcp.rootly.com/mcp-codemode

Con token de API:

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

Configuración manual: crea .mcp.json en la raíz de tu proyecto:

{
  "mcpServers": {
    "rootly": {
      "type": "http",
      "url": "https://mcp.rootly.com/mcp"
    }
  }
}
Gemini CLI

Instala la extensión:

gemini extensions install https://github.com/rootlyhq/rootly-mcp-server

O configúralo manualmente en ~/.gemini/settings.json:

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

Agrega a .cursor/mcp.json o ~/.cursor/mcp.json:

Con OAuth2 (recomendado):

{
  "mcpServers": {
    "rootly": {
      "url": "https://mcp.rootly.com/mcp"
    }
  }
}

Con token de API:

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

Agrega a ~/.codeium/windsurf/mcp_config.json:

Con OAuth2 (recomendado):

{
  "mcpServers": {
    "rootly": {
      "serverUrl": "https://mcp.rootly.com/mcp"
    }
  }
}

Con token de API:

{
  "mcpServers": {
    "rootly": {
      "serverUrl": "https://mcp.rootly.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_ROOTLY_API_TOKEN>"
      }
    }
  }
}
Codex

Agrega a ~/.codex/config.toml:

Con OAuth2 (recomendado):

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

Con token de API:

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

Con OAuth2 (recomendado):

Agrega a claude_desktop_config.json:

{
  "mcpServers": {
    "rootly": {
      "url": "https://mcp.rootly.com/mcp"
    }
  }
}

Claude Desktop maneja el inicio de sesión OAuth2 automáticamente.

Con token de API (a través de mcp-remote):

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

CLI de Rootly

CLI independiente para operaciones de incidentes, alertas, servicios y guardias.

Instala a través de Homebrew:

brew install rootlyhq/tap/rootly-cli

O a través de Go:

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

Para más detalles, consulta el repositorio de la CLI de Rootly.

Instalación alternativa (local)

Ejecuta el servidor MCP localmente si no deseas usar el servicio alojado.

Requisitos previos

  • Python 3.12 o superior
  • uv administrador de paquetes
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • Token de API de Rootly

Tipos de token de API

Elige el tipo de token según el acceso que necesites:

  • Clave de API global: acceso completo en toda la instancia de Rootly. Mejor para visibilidad a nivel de organización.
  • Clave de API de equipo: acceso limitado a las entidades propiedad de ese equipo.
  • Clave de API personal: el acceso coincide con el usuario que la creó.

Se recomienda una clave de API global para consultas a nivel de organización y para acciones que modifican datos, especialmente cuando los flujos de trabajo pueden abarcar múltiples equipos, horarios o incidentes.

Con uv

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

Opciones de transporte autohospedado

Elige un transporte por proceso de servidor:

  • Streamable HTTP ruta del endpoint: /mcp
  • SSE ruta del endpoint: /sse
  • Modo Código (experimental) ruta del endpoint: /mcp-codemode en modo de transporte dual alojado

Las implementaciones alojadas y autohospedadas ahora exponen la superficie completa de herramientas de forma predeterminada.

  • Predeterminado alojado: superficie completa
  • Perfil reducido alojado: alrededor de 70 herramientas de alto uso a través de ?tool_profile=slim
  • Predeterminado autohospedado: superficie completa

Para restringir cualquiera de las implementaciones a herramientas de solo lectura, inicia el servidor con --no-enable-write-tools o establece ROOTLY_MCP_ENABLE_WRITE_TOOLS=false.

Para clientes alojados que deseen el perfil remoto más pequeño, agrega ?tool_profile=slim a la URL de MCP o envía X-Rootly-Tool-Profile: slim.

Telemetría de AgentCat y Sentry

Las implementaciones alojadas pueden enviar telemetría de MCP a AgentCat configurando ROOTLY_MCPCAT_PROJECT_ID. Para exportar también eventos de AgentCat a Sentry, proporciona SENTRY_DSN a través del almacén de secretos de la implementación. El ENVIRONMENT opcional tiene como valor predeterminado production, y SENTRY_RELEASE tiene como valor predeterminado la versión instalada del servidor MCP de Rootly. El rastreo de rendimiento de Sentry está habilitado cuando el exportador está configurado. El texto de eventos de formato libre se redacta y los nombres de actores se omiten de la telemetría vinculada a Sentry; los ID de actores internos estables permanecen disponibles para la correlación.

Las opciones enable_tool_call_context y enable_report_missing de AgentCat están deshabilitadas. El SDK no agrega un parámetro de análisis context ni la herramienta de comentarios get_more_tools. La telemetría de llamadas a herramientas permanece habilitada, incluidos argumentos, respuestas, tiempos, errores e información de identidad configurada, sujeta a los ganchos de redacción existentes.

La telemetría se ejecuta en AgentCat v2 (especificación MCP 2026-07-28). La correlación de sesiones utiliza el modo de gancho del SDK (resolve_session_id): el servidor deriva la sesión de la solicitud. La clave siempre comienza con el llamador (usuario autenticado o un resumen del token), luego el Mcp-Session-Id del cliente cuando lo envía; de lo contrario, la hora UTC. No se agregan parámetros session_id ni instrucciones de sesión a los esquemas de herramientas. Los clientes que mantienen una lista de herramientas en caché que aún envían context o session_id son tolerados; el argumento extraviado se descarta antes de la validación. Los eventos initialize y tools/list ya no se publican por el SDK.

Para anular por completo el perfil predeterminado alojado o autohospedado, establece ROOTLY_MCP_ENABLED_TOOLS (o pasa --enabled-tools) con una lista de permitidos separada por comas de nombres de herramientas exactos. Cuando esa variable está configurada, reemplaza por completo la selección predeterminada.

Para exponer solo un subconjunto específico de herramientas MCP en una implementación autohospedada, establece ROOTLY_MCP_ENABLED_TOOLS (o pasa --enabled-tools) con una lista de permitidos separada por comas de nombres de herramientas exactos, por ejemplo list_incidents,get_incident,get_server_version.

Verificación de dominio de aplicaciones de OpenAI

Las implementaciones alojadas exponen un endpoint de verificación de dominio no autenticado utilizado por el directorio de complementos de OpenAI:

  • Endpoint: GET /.well-known/openai-apps-challenge
  • Variable de entorno: ROOTLY_OPENAI_APPS_CHALLENGE_TOKEN

Establece ROOTLY_OPENAI_APPS_CHALLENGE_TOKEN al token generado en el portal de envío de OpenAI. El endpoint devuelve ese token exacto como text/plain (con Cache-Control: no-store) y devuelve 404 cuando la variable no está configurada o está vacía. El token se lee del entorno en el momento de la solicitud: nunca lo codifiques ni lo confirmes. La ruta se sirve tanto en las implementaciones alojadas de transporte dual (--transport both) como en las de streamable HTTP perfilado y no está sujeta a autenticación Bearer.

Para descubrir los nombres exactos de herramientas disponibles bajo tu configuración autohospedada actual, ejecuta:

ROOTLY_API_TOKEN=<YOUR_ROOTLY_API_TOKEN> \
uv run python -m rootly_mcp_server --list-tools

Esto imprime los nombres efectivos de herramientas MCP después de aplicar tu configuración actual, incluidos ROOTLY_MCP_ENABLE_WRITE_TOOLS y ROOTLY_MCP_ENABLED_TOOLS.

Prueba de humo de una lista de permitidos autohospedada:

ROOTLY_API_TOKEN=<YOUR_ROOTLY_API_TOKEN> \
ROOTLY_MCP_ENABLED_TOOLS=list_incidents,get_incident,get_server_version \
uv run python -m rootly_mcp_server --transport streamable-http --log-level ERROR

Luego conecta un cliente MCP a http://127.0.0.1:8000/mcp y verifica que tools/list devuelva solo:

get_server_version
get_incident
list_incidents

Para incluir herramientas de escritura específicas para pruebas autohospedadas, agrega tanto el indicador de escritura como la lista de permitidos:

ROOTLY_API_TOKEN=<YOUR_ROOTLY_API_TOKEN> \
ROOTLY_MCP_ENABLE_WRITE_TOOLS=true \
ROOTLY_MCP_ENABLED_TOOLS=create_incident,create_workflow_task,list_teams \
uv run python -m rootly_mcp_server --transport streamable-http --log-level ERROR

Ejemplo de ejecución de Docker (Streamable HTTP):

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

Ejemplo de ejecución de Docker (SSE):

docker run -p 8000:8000 \
  -e ROOTLY_TRANSPORT=sse \
  -e ROOTLY_API_TOKEN=<YOUR_ROOTLY_API_TOKEN> \
  rootly-mcp-server

Ejemplo de ejecución de Docker (transporte dual + modo Código):

docker run -p 8000:8000 \
  -e ROOTLY_TRANSPORT=both \
  -e ROOTLY_API_TOKEN=<YOUR_ROOTLY_API_TOKEN> \
  rootly-mcp-server

Subconjuntos de herramientas centrados en flujos de trabajo

La superficie completa alojada y autohospedada expone más de 200 herramientas. Si deseas subconjuntos más específicos para flujos de trabajo, usa ROOTLY_MCP_ENABLED_TOOLS:

🚨 Respuesta a incidentes (25 herramientas)

Herramientas esenciales para respondedores de emergencia y comandantes de incidentes

ROOTLY_MCP_ENABLED_TOOLS="list_incidents,get_incident,create_incident,update_incident,search_incidents,find_related_incidents,suggest_solutions,create_incident_action_item,list_incident_action_items,update_incident_form_field_selection,list_teams,get_current_user,list_services,list_severities,get_alert,list_alerts,get_alert_by_short_id,list_escalation_policies,get_escalation_policy,list_on_call_roles,list_schedules,get_schedule_shifts,get_oncall_handoff_summary,get_shift_incidents,list_endpoints"

📅 Gestión de guardias (33 herramientas)

Para coordinadores de horarios y administradores de guardias

ROOTLY_MCP_ENABLED_TOOLS="list_schedules,get_schedule,update_schedule,get_schedule_shifts,list_shifts,create_schedule_rotation,update_schedule_rotation,list_schedule_rotations,get_schedule_rotation,list_schedule_rotation_users,update_schedule_rotation_user,create_on_call_shadow,update_on_call_shadow,list_on_call_shadows,create_override_shift,update_override_shift,list_override_shifts,list_on_call_roles,update_on_call_role,get_oncall_schedule_summary,get_oncall_shift_metrics,check_responder_availability,create_override_recommendation,list_teams,get_team,list_users,get_user,get_current_user,list_escalation_policies,update_escalation_policy,list_escalation_paths,update_escalation_path,list_escalation_levels"

📊 Monitoreo y alertas (40 herramientas)

Para equipos de plataforma que configuran observabilidad

ROOTLY_MCP_ENABLED_TOOLS="list_alerts,get_alert,get_alert_by_short_id,create_alert_group,update_alert_group,list_alert_groups,create_alert_routing_rule,update_alert_routing_rule,list_alert_routing_rules,list_alert_events,get_alert_event,update_alert_event,create_heartbeat,update_heartbeat,list_heartbeats,get_heartbeat,create_pulse,update_pulse,list_pulses,get_pulse,create_dashboard,update_dashboard,list_dashboards,get_dashboard,create_dashboard_panel,update_dashboard_panel,list_status_pages,get_status_page,update_status_page,list_status_page_templates,get_status_page_template,list_communications_templates,update_communications_template,create_live_call_router,update_live_call_router,list_services,list_teams,get_current_user,list_environments,list_severities,list_endpoints"

📋 Análisis posterior al incidente (30 herramientas)

Para SREs que realizan retrospectivas y mejora de procesos

ROOTLY_MCP_ENABLED_TOOLS="get_incident,update_incident,find_related_incidents,suggest_solutions,list_incident_action_items,create_incident_action_item,update_incident_form_field_selection,create_post_incident_review,update_post_incident_review,list_post_incident_reviews,get_post_incident_review,create_retrospective_step,update_retrospective_step,list_retrospective_steps,create_retrospective_process,update_retrospective_process,list_retrospective_processes,create_playbook,update_playbook,list_playbooks,get_playbook,create_playbook_task,update_playbook_task,list_causes,get_cause,update_cause,list_incident_types,get_incident_type,update_incident_type,get_current_user"

📈 Análisis e informes (15 herramientas)

Para liderazgo y equipos de métricas (enfoque de solo lectura)

ROOTLY_MCP_ENABLED_TOOLS="list_incidents,search_incidents,collect_incidents,list_teams,list_services,list_schedules,get_oncall_shift_metrics,get_shift_incidents,list_dashboards,get_dashboard,list_alerts,list_heartbeats,list_pulses,get_current_user,list_endpoints"

Múltiples instancias de MCP para diferentes equipos

Puedes ejecutar múltiples instancias de MCP con diferentes subconjuntos de herramientas:

{
  "mcpServers": {
    "rootly-incident-response": {
      "command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
      "env": {
        "ROOTLY_API_TOKEN": "<token>",
        "ROOTLY_MCP_ENABLED_TOOLS": "list_incidents,get_incident,create_incident,find_related_incidents,suggest_solutions..."
      }
    },
    "rootly-oncall-management": {
      "command": "uvx", "args": ["--from", "rootly-mcp-server", "rootly-mcp-server"],
      "env": {
        "ROOTLY_API_TOKEN": "<token>",
        "ROOTLY_MCP_ENABLED_TOOLS": "list_schedules,update_schedule,create_override_shift,get_oncall_shift_metrics..."
      }
    }
  }
}

Con uvx

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

Características

  • Generación dinámica de herramientas: crea automáticamente recursos MCP a partir de la especificación OpenAPI (Swagger) de Rootly
  • Paginación inteligente: usa paginación limitada y respuestas de incidentes compactas para evitar el desbordamiento del contexto
  • Filtrado de API: limita los endpoints de API expuestos por seguridad y rendimiento
  • Análisis inteligente de incidentes: herramientas inteligentes que analizan datos históricos de incidentes
    • find_related_incidents: usa análisis de similitud TF-IDF para encontrar incidentes históricamente similares
    • suggest_solutions: extrae resoluciones de incidentes pasados para recomendar soluciones accionables
  • Recursos MCP: expone incidentes, equipos, estado de guardias y guías de flujos de trabajo como recursos estructurados para el contexto de IA
  • Reconocimiento inteligente de patrones: identifica automáticamente servicios, tipos de errores y patrones de resolución
  • Integración de salud de guardias (solo autohospedado): detecta riesgo de salud de carga de trabajo en respondedores programados

Herramientas compatibles

La superficie de herramientas predeterminada depende del perfil de implementación:

  • Predeterminado alojado: alrededor de 218 herramientas
  • Perfil reducido alojado: alrededor de 70 herramientas
  • Predeterminado autohospedado: alrededor de 218 herramientas

Herramientas de agente personalizadas

  • check_oncall_health_risk - solo autohospedado
  • check_responder_availability
  • collect_incidents
  • create_incident - crea un nuevo incidente con un conjunto limitado de campos para flujos de trabajo de agentes
  • create_override_recommendation
  • find_related_incidents
  • get_incident - recupera un solo incidente para verificación directa, incluidos los campos relacionados con PIR
  • 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
  • update_incident - actualiza campos nativos de incidentes con validación de severidad; los cambios de estado retrospectivos requieren la interfaz de Rootly

Herramientas generadas por OpenAPI

Nomenclatura de herramientas: todas las herramientas usan snake_case. Los nombres históricos camelCase (por ejemplo, getScheduleShifts, listIncidents) ya no se anuncian en tools/list, pero siguen siendo invocables como alias ocultos: se enrutan de forma transparente a su canónico snake_case. Actualiza las configuraciones y las listas de permitidos ROOTLY_MCP_ENABLED_TOOLS a los nombres snake_case; las entradas heredadas de camelCase en listas de permitidos se canonican automáticamente.

list_workflow_runs
create_incident_action_item
create_incident_form_field_selection
create_workflow_task
get_alert
get_alert_event
get_alert_group
get_alert_routing_rule
get_alert_source
get_alert_urgency
get_catalog
get_catalog_entity
get_cause
get_current_user
get_custom_form
get_environment
get_escalation_level
get_escalation_path
get_escalation_policy
get_form_field
get_form_field_option
get_functionality
get_functionality_incidents_chart
get_functionality_uptime_chart
get_incident_action_items
get_incident_form_field_selection
get_incident_type
get_on_call_role
get_on_call_shadow
get_override_shift
get_schedule
get_schedule_rotation
get_schedule_shifts
get_service
get_service_incidents_chart
get_service_uptime_chart
get_severity
get_status_page
get_status_page_template
get_team
get_team_incidents_chart
get_user
get_workflow
get_workflow_form_field_condition
get_workflow_group
get_workflow_task
list_alert_events
list_alert_groups
list_alert_routing_rules
list_alert_sources
list_alert_urgencies
list_alerts
list_all_incident_action_items
list_catalog_entities
list_catalogs
list_causes
list_custom_forms
list_environments
list_escalation_levels
list_escalation_levels_paths
list_escalation_paths
list_escalation_policies
list_form_field_options
list_form_fields
list_functionalities
list_incident_action_items
list_incident_alerts
list_incident_form_field_selections
list_incident_types
list_on_call_roles
list_on_call_shadows
list_override_shifts
list_schedule_rotation_active_days
list_schedule_rotation_users
list_schedule_rotations
list_schedules
list_services
list_severities
list_shifts
list_status_page_templates
list_status_pages
list_teams
list_users
list_workflow_form_field_conditions
list_workflow_groups
list_workflows
list_workflow_tasks
update_environment
update_escalation_level
update_escalation_path
update_escalation_policy
update_functionality
update_incident_type
update_on_call_role
update_on_call_shadow
update_override_shift
update_schedule
update_schedule_rotation
update_service
update_severity
update_team
update_workflow
update_incident_form_field_selection
update_workflow_task

Expansión importante: esta versión incluye más de 50 endpoints nuevos que cubren comunicaciones, paneles, runbooks, revisiones posteriores al incidente, monitoreo y gestión avanzada de formularios, excluyendo cuidadosamente operaciones sensibles de seguridad como la gestión de claves de API, creación/eliminación de usuarios, gestión de roles y configuración de webhooks.

Las operaciones de eliminación permanecen deshabilitadas en la superficie de herramientas predeterminada.

Integración de salud de guardias (solo autohospedado)

Se integra con On-Call Health para detectar riesgo de salud de carga de trabajo en respondedores programados.

check_oncall_health_risk no está disponible en el servicio MCP alojado, incluidos los perfiles completo y reducido, SSE, Streamable HTTP y modo Código. No está registrado en modo alojado, por lo que una clave de API o una lista de permitidos ROOTLY_MCP_ENABLED_TOOLS no puede habilitarlo. Las herramientas ordinarias de programación de guardias e incidentes permanecen disponibles. Las implementaciones autoalojadas conservan esta integración. Los operadores son responsables de la divulgación adecuada a los empleados y del manejo de datos para su implementación.

Configuración

Establezca la variable de entorno ONCALLHEALTH_API_KEY:

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

Uso

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

Devuelve usuarios en riesgo que están programados, reemplazos seguros recomendados y resúmenes de acciones.

Habilidades de ejemplo

Habilidades preconstruidas de Claude Code:

🚨 Rootly Incident Responder

Esta habilidad:

  • Analiza incidentes de producción con contexto completo
  • Encuentra incidentes históricos similares mediante coincidencia de similitud basada en ML
  • Sugiere soluciones basadas en resoluciones exitosas anteriores
  • Coordina con equipos de guardia en diferentes zonas horarias
  • Correlaciona incidentes con cambios de código e implementaciones recientes
  • Crea elementos de acción y planes de remediación
  • Proporciona puntuaciones de confianza y estimaciones de tiempo

Inicio rápido:

# 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

Demuestra un flujo de trabajo completo de respuesta a incidentes utilizando herramientas de Rootly y contexto de GitHub.

Métricas de turnos de guardia

Obtenga métricas de turnos de guardia para cualquier período de tiempo, agrupadas por usuario, equipo o horario. Incluye seguimiento de roles primario/secundario, conteos de turnos, horas y días de guardia.

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

Resumen de traspaso de guardia

Traspaso completo: guardia actual/siguiente + incidentes durante los turnos.

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

El filtrado regional muestra solo a las personas de guardia durante el horario laboral (9am-5pm) en la zona horaria especificada.

Devuelve: schedules con current_oncall, next_oncall y shift_incidents

Recursos MCP para contexto

Los agentes de IA pueden acceder a estos recursos para el conocimiento situacional:

  • incident://{incident_id} - Información detallada del incidente para incidentes específicos
  • team://{team_id} - Detalles del equipo, incluidos nombre, color y metadatos
  • rootly://incidents - Lista de incidentes recientes para referencia rápida
  • rootly://oncall-status - Estado actual de guardia en todos los horarios (crítico para la respuesta a incidentes)
  • rootly://workflow-guide - Guía de flujo de trabajo paso a paso para operaciones comunes

Ejemplo de uso: "Verifique el estado actual de guardia" → La IA lee el recurso rootly://oncall-status

Incidentes de turno

Incidentes durante un período de tiempo, con filtrado por severidad/estado/etiquetas.

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
)

Devuelve: lista de incidents + summary (conteos, tiempo promedio de resolución, agrupación)

Contribuciones

Consulte CONTRIBUTING.md para la configuración del desarrollador y las pautas.

Pruébelo en Postman

Run In Postman

Acerca de Rootly AI Labs

Este proyecto fue desarrollado por Rootly AI Labs, donde estamos construyendo el futuro de la confiabilidad del sistema y la excelencia operativa. Como incubadora de código abierto, compartimos ideas, experimentamos y creamos prototipos rápidamente de soluciones que benefician a toda la comunidad. Rootly AI logo