Pingera MCP 0.2: весь Pingera для ИИ-агентов
- Опубликовано:
- Обновлено
- 6 мин чтения

Чуть больше года назад мы выпустили MCP сервер Pingera, осенью научили его работать по сети для многих пользователей сразу, а зимой добавили фильтрацию инструментов, чтобы не засорять контекст модели. Версия 0.2 — это не очередной шаг, а переписанный сервер: он умеет почти всё, что умеет Pingera, подключается одной строкой и стоит модели заметно меньше токенов.
Коротко
- Облачный сервер
https://mcp.app.pingera.ru/mcp: ничего не нужно устанавливать, достаточно API ключа в заголовке. - 121 инструмент вместо 79: аптайм и время ответа по регионам, правила и каналы алертов, мульти-региональные запуски, плановые работы и постмортемы, секреты, приватные локации, отчёты и журнал аудита.
- Наборы инструментов и режим только для чтения выбираются для каждого клиента заголовками — один сервер, разные агенты.
- Под капотом — официальный MCP Python SDK 2.x и stateless HTTP: сервер масштабируется как обычный веб-сервис, а ключи пользователей никогда не пересекаются.
Посмотрите, как это работает
Так выглядит разбор падения проверки в Claude с подключённым Pingera. Агент сам выбирает инструменты: находит упавшую проверку, смотрит результаты и время ответа по регионам, а потом по вашей просьбе открывает инцидент на Статус Странице.
Ассистент + Pingera MCP
С утра жалуются, что API тормозит и отваливается. Разберись, что происходит.
list_checks(status="failed")
1 проверка: «API production» (k3x9p2m7q1az) · api · https://api.example.com/health · failed
list_check_results(check_id="k3x9p2m7q1az", failed_only=true, start="24h")
14 падений с 07:42 UTC · все из «EU, West»: HTTP 503 Service Unavailable · «RU, Moscow» без ошибок
get_response_times(check_id="k3x9p2m7q1az", start="24h")
RU, Moscow — avg 182 мс, p95 240 мс · EU, West — avg 4 310 мс, p95 30 000 мс (таймауты)
list_alerts(check_id="k3x9p2m7q1az", status="active")
1 алерт · high · firing с 07:47 UTC · уведомление в Telegram доставлено
Да. Инцидент без рассылки подписчикам, пока не поймём причину.
create_incident(page_id="qkk4ibclom2q", name="Ошибки API для пользователей в Европе", status="investigating", impact="minor", components={"00upz46xbbwx": "partial_outage"}, deliver_notifications=false)
{"id": "f81kq0x2m4tz", "status": "investigating", "impact": "minor"}
acknowledge_alert(alert_id="al5d93kq2b")
{"status": "acknowledged"}
Обратите внимание на start="24h": модели не нужно знать текущую дату, все параметры времени принимают относительные значения вроде 30m, 24h или 7d.
Подключение за минуту
Облачный сервер работает по протоколу streamable HTTP, его понимают Claude Code, Cursor, VS Code и большинство других клиентов. Нужен только API ключ из настроек аккаунта. Ключ передаётся в заголовке каждого запроса и нигде не хранится. Если хотите, чтобы ключ не покидал ваш компьютер, запустите сервер локально — он по-прежнему ставится из PyPI.
Соберите подключение под себя — заодно увидите, во что каждый набор инструментов обходится контекстному окну:
Подключите Pingera к своему ассистенту
Выберите клиент, режим и наборы инструментов — конфигурация соберётся сама.
0 инструментов в контексте модели
≈ 0 тыс. токенов на их описания в каждом запросе
Какие инструменты получит агент
121 инструмент — и не обязательно все сразу
Мы добавили всё, что за год появилось в API, SDK и pngr: аптайм, p95 и историю статусов проверок, поиск по результатам всех проверок, мульти-региональные запуски, правила и каналы алертов с тестовыми уведомлениями, heartbeat-мониторинг, плановые работы, прошедшие инциденты и постмортемы, секреты, приватные локации, PDF-отчёты и журнал аудита.
Но больше инструментов — больше токенов. Описания всех 121 инструмента занимают около 36 тысяч токенов, и модель «перечитывает» их в каждом запросе. Поэтому инструменты разложены по 15 наборам, а по умолчанию включены только самые нужные: проверки, результаты, алерты и Статус Страницы — 78 инструментов и около 26 тысяч токенов. Агенту дежурного, которому достаточно разбираться с падениями, хватит checks,results,alerts в режиме чтения — это уже около 7 тысяч.
Набор выбирается заголовком X-Pingera-Toolsets, а точный список инструментов — заголовком X-Pingera-Tools. Старый заголовок X-MCP-Tools тоже работает. Для локального сервера то же самое задаётся переменными PINGERA_TOOLSETS и PINGERA_TOOLS.
Только чтение — для агента, а не для всего сервера
Раньше режим только для чтения включался для всего сервера. Теперь его выбирает клиент: заголовок X-Pingera-Mode: read_only прячет все инструменты, которые что-то создают, меняют или удаляют. Даже если модель «вспомнит» про delete_check, сервер откажет. Запуск проверки по требованию, тестовое уведомление и заказ отчёта остаются доступны — они ничего не меняют в настройках.
Кроме того, все инструменты размечены подсказками MCP: только чтение, удаление, повторный вызов безопасен. Клиенты вроде Claude по ним решают, когда спросить у вас подтверждение.
Проверьте сами
Сервер можно потрогать без ИИ — официальным MCP Inspector. А если хотите держать сервер у себя, достаточно Docker.
Под капотом
Официальный MCP Python SDK 2.x. Первые версии сервера были построены на FastMCP, а потом обросли собственными слоями поверх. В 0.2 мы переписали сервер на MCPServer из официального SDK: меньше зависимостей, поддержка новой версии протокола 2026-07-28 и совместимость со старыми клиентами, которые подключаются через initialize.
Stateless HTTP. В прошлом году для SSE нужны были долгоживущие сессии, а значит и «липкая» балансировка. Теперь каждый запрос самодостаточен: сервер не хранит сессий, и любой воркер или реплика отвечает на любой запрос. Облачный сервер масштабируется так же, как наш API.
Ключ живёт ровно один запрос. Учётные данные из заголовка кладутся в ContextVar и передаются в SDK только для конкретного вызова API (_request_auth) — на общих объектах их нет. Мы проверяем это тестом: 20 клиентов с разными ключами одновременно обращаются к нарочно медленному API, и каждый запрос должен дойти со своим ключом.
Схемы из SDK. Инструменты создания и изменения генерируются из моделей Python SDK: описания полей, ограничения и допустимые значения попадают в схему автоматически. По дороге пришлось бороться за токены. Например, схема update_status_page весила 21 КБ, из них 11 КБ — список всех часовых поясов мира. Теперь длинные перечисления описываются словами, а редкие поля (цвета, логотипы, аналитика) собраны в один аргумент advanced: схема похудела до 6 КБ.
Чистые ответы. Инструменты возвращают JSON, который отдаёт API, но без пустых полей: у Статус Страницы их несколько десятков, и модели незачем их читать.
Если вы уже пользуетесь MCP сервером
Облачному серверу ничего менять не нужно — клиент сам получит новый список инструментов. Инструменты переименованы по единой схеме (list_pages → list_status_pages, get_check_details → get_check, execute_existing_check → run_check). Если вы запускали сервер сами, вместо TRANSPORT_MODE=sse теперь MCP_TRANSPORT=http. Полная таблица соответствий — в CHANGELOG.
Попробуйте
- Документация MCP сервера — подключение к разным клиентам, наборы инструментов и переменные окружения.
- Исходный код на GitHub — сервер открыт, issues и pull request’ы приветствуются.
- Нет аккаунта? Зарегистрируйтесь бесплатно, создайте API ключ и спросите своего ассистента, как дела у вашего сайта.


