Skip to main content
Glama
MSPbotsAI

opsgenie-mcp

by MSPbotsAI

opsgenie-mcp

MCP-сервер для Opsgenie (платформа Atlassian для управления инцидентами/оповещениями и дежурствами) — предоставляет полный публичный REST API Opsgenie в виде инструментов MCP.

⚠️ Примечание вендора: Atlassian объявила, что Opsgenie достигнет конца поддержки и рекомендует перейти на Jira Service Management или Compass. Публичный API, описанный здесь (docs.opsgenie.com), всё ещё работает и не менялся на момент этой сборки, но ожидается, что со временем он будет объявлен устаревшим.

Обзор

  • Статусный HTTP-сервис. Учётные данные никогда не сохраняются — каждый запрос предоставляет свой собственный API-ключ через заголовок, который используется только в течение жизни этого единственного запроса.

  • Поддерживает конкурентные запросы; изоляция учётных данных для каждого запроса выполняется через Python contextvars, а не через глобальный/общий экземпляр клиента.

  • Точки входа: POST /mcp (протокол MCP) и GET /health (проверка работоспособности).

  • Порт по умолчанию: 8080 (настраивается через MCP_HTTP_PORT).

Related MCP server: MCP Setup Server

Область применения

22 инструмента, сокращённых из исходной полной сборки API с 213 инструментами (2026-08-04), все в единственной категории alert. Собственная сохранённая конфигурация интеграции MSPbots для этого вендора вызывает ровно 1 конечную точку (GET /v2/alerts, только чтение, → opsgenie_alert_list_alerts). Согласно решению об области применения «фактическое использование + базовые CRUD-операции той же категории», все другие категории (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 категорий, ~178 инструментов) были полностью удалены, поскольку MSPbots их не использует; в самой категории alert 35 исходных инструментов были сокращены до 22 основных операций жизненного цикла оповещений (list/get/create/close/delete/acknowledge/unacknowledge/note/tags/assign/responder/team/escalate/snooze/update message-description-priority/count/logs/request-status) — были удалены подфункция сохранённых поисков (5 инструментов), подфункция вложений (4 инструмента), добавление/удаление пользовательских свойств (2 инструмента), execute_custom_action (1) и list_alert_recipients (1), ни одна из которых не является базовым CRUD для оповещений.

Исходные данные для сохранённых инструментов были первоначально извлечены путём получения docs.opsgenie.com/docs/alert-api и структурирования каждой документированной операции (метод, путь, параметры пути/запроса, поля JSON-тела) в машиночитаемый формат — тот же подход codegen-from-structured-spec, который используется для других крупных API-вендоров в этой программе (ConnectSecure, Dynu, Jira Data Center), адаптированный здесь, потому что у Opsgenie нет загружаемой спецификации OpenAPI/Postman, только прозаическая документация. Если позже понадобится удалённая категория, те же исходные страницы (docs.opsgenie.com/docs/*-api) можно повторно разобрать тем же способом.

Аутентификация

Opsgenie использует статический API-ключ, привязанный к конкретной интеграции Opsgenie (создаётся в Opsgenie: Settings → Integrations → API). Собственная конвенция интеграции MSPbots отправляет этот ключ как Authorization: GenieKey <apiKey>, что соответствует документированному формату Opsgenie, и этот сервер пересылает его именно так.

Параметры авторизации в заголовке

Заголовок

Тип

Обязательность

Значение по умолчанию

Допустимые значения

Описание поля

Пример

X-Opsgenie-Api-Key

string

Да

нет

нет

API-ключ интеграции Opsgenie, передаётся как есть в заголовок Authorization: GenieKey <apiKey>

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

X-Opsgenie-Base-Url

string

Нет

https://api.opsgenie.com

нет

Базовый URL API Opsgenie; для клиентов EU-инстанса необходимо передавать https://api.eu.opsgenie.com

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

Отсутствие обязательного заголовка возвращает 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"]
}

Переменные окружения

Переменная

Тип

Обязательность

Значение по умолчанию

Описание

MCP_HTTP_PORT

int

Нет

8080

Порт HTTP-прослушивания

MCP_HTTP_HOST

string

Нет

0.0.0.0

Адрес HTTP-прослушивания

OPSGENIE_BASE_URL

string

Нет

https://api.opsgenie.com

Базовый URL API Opsgenie по умолчанию (может быть переопределён заголовком X-Opsgenie-Base-Url)

Конечная точка MCP

  • POST /mcp — протокол MCP (транспорт streamable HTTP)

  • GET /health — проверка работоспособности, возвращает {"status": "ok"} (чисто локальный зонд живости, не вызывает Opsgenie)

Список инструментов

Имена инструментов имеют вид opsgenie_<категория>_<операция>, образованные от заголовка каждой операции в официальной документации (например, «List Alerts» в категории alertopsgenie_alert_list_alerts). Параметры body принимаются как универсальный dict — точный список полей для каждого инструмента описан в его собственной docstring (извлечённой из исходной документации), а полная схема полей доступна в справочнике API Opsgenie (ссылка ниже).

Категория

Инструмент

Описание

Метод + Путь

Параметры

alert

opsgenie_alert_acknowledge_alert

Подтвердить оповещение.

POST /v2/alerts/:identifier/acknowledge

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

alert

opsgenie_alert_add_note_to_alert

Добавить заметку к оповещению.

POST /v2/alerts/:identifier/notes

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

alert

opsgenie_alert_add_responder_to_alert

Добавить ответственного к оповещению.

POST /v2/alerts/:identifier/responders

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

alert

opsgenie_alert_add_tags_to_alert

Добавить теги к оповещению.

POST /v2/alerts/:identifier/tags

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

alert

opsgenie_alert_add_team_to_alert

Добавить команду к оповещению.

POST /v2/alerts/:identifier/teams

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

alert

opsgenie_alert_assign_alert

Назначить оповещение.

POST /v2/alerts/:identifier/assign

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

alert

opsgenie_alert_close_alert

Закрыть оповещение.

POST /v2/alerts/:identifier/close

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

alert

opsgenie_alert_count_alerts

Подсчитать оповещения.

GET /v2/alerts/count

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

alert

opsgenie_alert_create_alert

Создать оповещение.

POST /v2/alerts

body(required)

alert

opsgenie_alert_delete_alert

Удалить оповещение.

DELETE /v2/alerts/:identifier

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

alert

opsgenie_alert_escalate_alert_to_next

Эскалировать оповещение дальше.

POST /v2/alerts/:identifier/escalate

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

alert

opsgenie_alert_get_alert

Получить оповещение.

GET /v2/alerts/:identifier

identifier(required), identifier_type(optional)

alert

opsgenie_alert_get_request_status

Получить статус запроса.

GET /v2/alerts/requests/:requestId

request_id(required)

alert

opsgenie_alert_list_alert_logs

Список журналов оповещений.

GET /v2/alerts/:identifier/logs

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

alert

opsgenie_alert_list_alert_notes

Список заметок оповещений.

GET /v2/alerts/:identifier/notes

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

alert

opsgenie_alert_list_alerts

Список оповещений.

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

Удалить теги из оповещения.

DELETE /v2/alerts/:identifier/tags

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

alert

opsgenie_alert_snooze_alert

Отложить оповещение.

POST /v2/alerts/:identifier/snooze

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

alert

opsgenie_alert_unacknowledge_alert

Снять подтверждение оповещения.

POST /v2/alerts/:identifier/unacknowledge

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

alert

opsgenie_alert_update_alert_description

Обновить описание оповещения.

POST /v2/alerts/:identifier/description

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

alert

opsgenie_alert_update_alert_message

Обновить сообщение оповещения.

POST /v2/alerts/:identifier/message

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

alert

opsgenie_alert_update_alert_priority

Обновить приоритет оповещения.

PUT /v2/alerts/:identifier/priority

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

Примеры тестирования

# 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}
    }
  }'

Проверено вживую (2026-07-30): opsgenie_alert_list_alerts (тот же endpoint, который вызывает сам MSPbots) был вызван сквозным образом через этот запущенный сервер с реальным тестовым API-ключом и вернул реальные данные оповещений (сообщение, статус, приоритет, ответственные, интеграция и т. д.) из аккаунта. Два других инструмента из разных категорий (opsgenie_team_list_teams, opsgenie_account_get_account_info) также были вызваны с тем же ключом и корректно вернули собственный 403 API Key is not granted with configuration access — что подтверждает, что механизм запросов/заголовков аутентификации работает корректно и за пределами категории alert; этот конкретный тестовый ключ просто ограничен доступом только на уровне оповещений (обычное ограничение ключа интеграции Opsgenie, а не ошибка).

Справочник API

Известные пробелы

  • Сокращено с 213 до 22 инструментов 2026-08-04. Первоначальная сборка охватывала полный публичный API по 28 категориям согласно более раннему решению о границах. Более позднее решение сократило её до реально используемой категории MSPbots (alert) плюс её базовых CRUD-операций — см. раздел Scope выше, чтобы узнать, что именно было сохранено/удалено в рамках alert, и полный список 27 удалённых категорий (~178 инструментов). Если удалённая категория понадобится позже, те же страницы docs.opsgenie.com/docs/*-api можно повторно распарсить тем же способом, каким были сгенерированы сохранённые инструменты.

  • Некоторые сохранённые инструменты по-прежнему изменяют реальное состояние оповещений Opsgenie (opsgenie_alert_delete_alert, opsgenie_alert_close_alert, opsgenie_alert_create_alert и т. д.) — относитесь к ним как к необратимым/изменяющим состояние и подтверждайте с человеком перед вызовом.

  • Параметры body не типизированы (dict), а не полностью смоделированы — в docstring каждого инструмента перечислены имена полей, извлечённые из документации Opsgenie, но воспроизведение всех их в виде типизированных параметров Python выходило за рамки механически сгенерированного сервера.

  • Исходные данные были извлечены из текстовой документации, а не из машинной спецификации — у Opsgenie нет загружаемой коллекции OpenAPI/Postman, поэтому метод/путь/параметры каждой операции были распарсены из HTML docs.opsgenie.com.

  • Только opsgenie_alert_list_alerts (собственный endpoint MSPbots) был проверен вживую с возвратом реальных данных. Остальные 21 инструмент структурно корректны (схема проверена, MCP-протокол tools/list подтверждён, все проходят compile()), но не были индивидуально смоук-тестированы — некоторые из них являются операциями записи/разрушения, которые создали бы, изменили или закрыли реальные оповещения, поэтому они не выполнялись против живого тестового аккаунта.

  • Вендор приближается к завершению поддержки (см. предупреждающий баннер в верхней части этого README) — Atlassian рекомендует перейти на Jira Service Management или Compass. Этот MCP нацелен на всё ещё работающий публичный API Opsgenie по состоянию на эту сборку.

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