Skip to main content
Glama
MSPbotsAI

opsgenie-mcp

by MSPbotsAI

opsgenie-mcp

Servidor MCP para Opsgenie (la plataforma de gestión de incidentes/alertas y guardias de Atlassian) — expone la API REST pública completa de Opsgenie como herramientas MCP.

⚠️ Nota del proveedor: Atlassian ha anunciado que Opsgenie está llegando a su fin de soporte y recomienda migrar a Jira Service Management o Compass. La API pública documentada aquí (docs.opsgenie.com) sigue activa y sin cambios a partir de esta compilación, pero se espera que eventualmente quede obsoleta.

Resumen

  • Servicio HTTP sin estado. No se persisten credenciales nunca: cada solicitud proporciona su propia clave de API mediante un encabezado, utilizada solo durante la vida de esa única solicitud.

  • Admite solicitudes concurrentes; el aislamiento de credenciales por solicitud se realiza mediante contextvars de Python, no con una instancia de cliente global/compartida.

  • Puntos de entrada: POST /mcp (protocolo MCP) y GET /health (comprobación de salud).

  • Puerto predeterminado: 8080 (configurable mediante MCP_HTTP_PORT).

Related MCP server: MCP Setup Server

Alcance

22 herramientas, reducidas de una compilación original de 213 herramientas de API completa (2026-08-04), todas en la única categoría alert. La configuración de integración almacenada de MSPbots para este proveedor llama exactamente 1 endpoint (GET /v2/alerts, solo lectura, → opsgenie_alert_list_alerts). Según la decisión de alcance de "uso real + CRUD central de la misma categoría", cada otra categoría (Incident, Incident Timeline, Integration, Heartbeat, Alert & Notification Policy, Policy (legacy v1), Maintenance, Account, User, Custom User Role, Contact, Notification Rule (+ Step), Team (+ Member/Role/Routing Rule), Schedule (+ Rotation/Override), Escalation, Who Is On Call, Forwarding Rule, Service (+ Incident Rules/Templates), Incident Templates — 27 categorías, ~178 herramientas) se eliminó por completo, ya que MSPbots no toca ninguna de ellas; dentro de la propia categoría alert, 35 herramientas originales se redujeron a las 22 operaciones centrales del ciclo de vida de alertas (list/get/create/close/delete/acknowledge/unacknowledge/note/tags/assign/responder/team/escalate/snooze/update message-description-priority/count/logs/request-status) — se eliminaron la subcaracterística de búsqueda guardada (5 herramientas), la subcaracterística de adjuntos (4 herramientas), agregar/eliminar propiedades personalizadas (2 herramientas), execute_custom_action (1) y list_alert_recipients (1), ninguna de las cuales es CRUD central de alertas.

Los datos de origen de las herramientas conservadas se extrajeron originalmente obteniendo docs.opsgenie.com/docs/alert-api y estructurando cada operación documentada (método, ruta, parámetros de ruta/consulta, campos del cuerpo JSON) en un formato legible por máquina: el mismo enfoque de generación de código a partir de especificaciones estructuradas utilizado para otros proveedores de API grandes en este programa (ConnectSecure, Dynu, Jira Data Center), adaptado aquí porque Opsgenie no tiene una especificación OpenAPI/Postman descargable, solo documentación en prosa. Si se necesita una categoría eliminada más adelante, las mismas páginas de origen (docs.opsgenie.com/docs/*-api) se pueden volver a analizar de la misma manera.

Autenticación

Opsgenie utiliza una clave de API estática vinculada a una integración específica de Opsgenie (creada en Configuración → Integraciones → API de Opsgenie). La convención de integración propia de MSPbots envía esta clave como Authorization: GenieKey <apiKey>, coincidiendo con el formato documentado de Opsgenie, y este servidor la reenvía exactamente de esa manera.

Descripción de parámetros de autorización del encabezado

Encabezado

Tipo

Obligatorio

Valor predeterminado

Enumeración

Descripción del campo

Ejemplo

X-Opsgenie-Api-Key

string

Ninguno

Ninguno

Clave de API de integración de Opsgenie, reenviada tal cual como encabezado de solicitud Authorization: GenieKey <apiKey>

X-Opsgenie-Api-Key: a1b2c3d4-e5f6-7890-abcd-ef1234567890

X-Opsgenie-Base-Url

string

No

https://api.opsgenie.com

Ninguno

URL base de la API de Opsgenie; los clientes de instancias de la UE deben enviar https://api.eu.opsgenie.com

X-Opsgenie-Base-Url: https://api.eu.opsgenie.com

Si falta el encabezado requerido, se devuelve 401:

{
  "error": "Missing credentials",
  "message": "This server requires the X-Opsgenie-Api-Key header",
  "required_headers": ["X-Opsgenie-Api-Key"],
  "optional_headers": ["X-Opsgenie-Base-Url"]
}

Variables de entorno

Variable

Tipo

Obligatorio

Valor predeterminado

Descripción

MCP_HTTP_PORT

int

No

8080

Puerto de escucha HTTP

MCP_HTTP_HOST

string

No

0.0.0.0

Dirección de escucha HTTP

OPSGENIE_BASE_URL

string

No

https://api.opsgenie.com

URL base predeterminada de la API de Opsgenie (puede ser anulada por el encabezado de solicitud X-Opsgenie-Base-Url)

Endpoint MCP

  • POST /mcp — protocolo MCP (transporte HTTP transmisible)

  • GET /health — comprobación de salud, devuelve {"status": "ok"} (sonda de actividad local pura, no llama a Opsgenie)

Lista de herramientas

Los nombres de las herramientas son opsgenie_<category>_<operation>, derivados del encabezado de cada operación en la documentación oficial (por ejemplo, "List Alerts" en la categoría alertopsgenie_alert_list_alerts). Los parámetros body se aceptan como un dict genérico: la lista exacta de campos para cada uno está documentada en el docstring de esa herramienta (extraído de la documentación de origen), y el esquema completo de campos está disponible en la referencia de la API de Opsgenie (enlazada a continuación).

Category

Tool

Description

Method + Path

Params

alert

opsgenie_alert_acknowledge_alert

Reconocer alerta.

POST /v2/alerts/:identifier/acknowledge

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_add_note_to_alert

Añadir nota a la alerta.

POST /v2/alerts/:identifier/notes

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_add_responder_to_alert

Añadir respondedor a la alerta.

POST /v2/alerts/:identifier/responders

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_add_tags_to_alert

Añadir etiquetas a la alerta.

POST /v2/alerts/:identifier/tags

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_add_team_to_alert

Añadir equipo a la alerta.

POST /v2/alerts/:identifier/teams

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_assign_alert

Asignar alerta.

POST /v2/alerts/:identifier/assign

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_close_alert

Cerrar alerta.

POST /v2/alerts/:identifier/close

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_count_alerts

Contar alertas.

GET /v2/alerts/count

query(optional), search_identifier(optional), search_identifier_type(optional)

alert

opsgenie_alert_create_alert

Crear alerta.

POST /v2/alerts

body(required)

alert

opsgenie_alert_delete_alert

Eliminar alerta.

DELETE /v2/alerts/:identifier

identifier(required), identifier_type(optional), user(optional), source(optional)

alert

opsgenie_alert_escalate_alert_to_next

Escalar alerta al siguiente.

POST /v2/alerts/:identifier/escalate

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_get_alert

Obtener alerta.

GET /v2/alerts/:identifier

identifier(required), identifier_type(optional)

alert

opsgenie_alert_get_request_status

Obtener estado de la solicitud.

GET /v2/alerts/requests/:requestId

request_id(required)

alert

opsgenie_alert_list_alert_logs

Listar registros de alerta.

GET /v2/alerts/:identifier/logs

identifier(required), identifier_type(optional), offset(optional), direction(optional), limit(optional), order(optional)

alert

opsgenie_alert_list_alert_notes

Listar notas de alerta.

GET /v2/alerts/:identifier/notes

identifier(required), identifier_type(optional), offset(optional), direction(optional), limit(optional), order(optional)

alert

opsgenie_alert_list_alerts

Listar alertas.

GET /v2/alerts

query(optional), search_identifier(optional), search_identifier_type(optional), offset(optional), limit(optional), sort(optional), order(optional)

alert

opsgenie_alert_remove_tags_from_alert

Eliminar etiquetas de la alerta.

DELETE /v2/alerts/:identifier/tags

identifier(required), tags(required), identifier_type(optional), user(optional), source(optional), note(optional)

alert

opsgenie_alert_snooze_alert

Posponer alerta.

POST /v2/alerts/:identifier/snooze

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_unacknowledge_alert

Anular reconocimiento de alerta.

POST /v2/alerts/:identifier/unacknowledge

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_update_alert_description

Actualizar descripción de la alerta.

POST /v2/alerts/:identifier/description

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_update_alert_message

Actualizar mensaje de la alerta.

POST /v2/alerts/:identifier/message

identifier(required), body(required), identifier_type(optional)

alert

opsgenie_alert_update_alert_priority

Actualizar prioridad de la alerta.

PUT /v2/alerts/:identifier/priority

identifier(required), body(required), identifier_type(optional)

Ejemplo de prueba

# Health check
curl -s http://localhost:8080/health

# Call a tool via the MCP protocol (streamable HTTP) — requires an
# initialize handshake first per the MCP spec; abbreviated example below
# shows the tool-call request body only:
curl -s -X POST http://localhost:8080/mcp \
  -H "X-Opsgenie-Api-Key: <your-opsgenie-api-key>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <session-id-from-initialize>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "opsgenie_alert_list_alerts",
      "arguments": {"limit": 5}
    }
  }'

Verificado en vivo (2026-07-30): se llamó a opsgenie_alert_list_alerts (el mismo endpoint que MSPbots utiliza) de extremo a extremo a través de este servidor en ejecución con una clave de API de prueba real y devolvió datos reales de alertas (mensaje, estado, prioridad, respondedores, integración, etc.) de la cuenta. También se llamaron otras dos herramientas de categorías diferentes (opsgenie_team_list_teams, opsgenie_account_get_account_info) con la misma clave y devolvieron correctamente el 403 API Key is not granted with configuration access de Opsgenie, lo que confirma que la canalización de solicitudes/cabeceras de autenticación funciona correctamente también fuera de la categoría alert; esta clave de prueba específica solo tiene acceso a nivel de alertas (una restricción normal de clave de integración de Opsgenie, no un error).

Referencia de la API

Brechas conocidas

  • Reducido de 213 a 22 herramientas el 2026-08-04. La compilación original cubría la API pública completa en 28 categorías según una decisión de alcance anterior. Una decisión de alcance posterior lo recortó a la categoría realmente utilizada por MSPbots (alert) más su CRUD básico; consulte la sección de Alcance anterior para ver exactamente qué se mantuvo/eliminó dentro de alert y la lista completa de las 27 categorías eliminadas (~178 herramientas). Si se necesita una categoría eliminada más adelante, las mismas páginas docs.opsgenie.com/docs/*-api se pueden volver a analizar de la misma manera en que se generaron las herramientas conservadas.

  • Varias herramientas conservadas aún mutan el estado real de las alertas de Opsgenie (opsgenie_alert_delete_alert, opsgenie_alert_close_alert, opsgenie_alert_create_alert, etc.); trátelas como irreversibles/cambiantes de estado y confirme con una persona antes de invocarlas.

  • Los parámetros body no están tipados (dict) en lugar de estar completamente modelados: el docstring de cada herramienta enumera los nombres de campos extraídos de la documentación de Opsgenie, pero reproducirlos todos como parámetros Python tipados estaba fuera del alcance de un servidor generado mecánicamente.

  • Los datos de origen se extrajeron de documentación en prosa, no de una especificación de máquina — Opsgenie no tiene una colección OpenAPI/Postman descargable, por lo que el método/ruta/parámetros de cada operación se analizó del HTML de docs.opsgenie.com.

  • Solo opsgenie_alert_list_alerts (el endpoint propio de MSPbots) se verificó en vivo con datos reales devueltos. Las 21 herramientas restantes son estructuralmente correctas (esquema validado, tools/list del protocolo MCP confirmado, todas pasan compile()), pero no se probaron individualmente; varias son operaciones de escritura/destructivas que crearían, modificarían o cerrarían alertas reales, por lo que no se ejecutaron contra la cuenta de prueba en vivo.

  • El proveedor está llegando al fin de soporte (consulte el banner de advertencia en la parte superior de este README) — Atlassian recomienda migrar a Jira Service Management o Compass. Este MCP apunta a la API pública de Opsgenie aún activa a partir de esta compilación.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for the Splunk On-Call (VictorOps) API providing comprehensive incident management, on-call schedules, team administration, and alert reporting through natural language.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    A modular MCP server exposing tools for integrating with services like GitHub, Redash, Jenkins, Figma, Jira, Confluence, Teams, Datadog, PagerDuty, Slack, and Presto, enabling users to manage these platforms through natural language via an MCP client.
    -
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for the Level v2 REST API, enabling management of alerts, automations, devices, groups, tags, updates, and custom fields through typed tools.
    35
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Jira Cloud MCP server providing Jira-first tools for common workflows and full REST API coverage through a generic request tool.
    640
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MSPbotsAI/opsgenie-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server