Pulsetic MCP Server

официальный

Сервер Pulsetic MCP подключает мониторинг Pulsetic к AI-агентам и инструментам, совместимым с MCP, обеспечивая прямой доступ к данным о времени безотказной работы, результатам мониторинга cron, рабочим процессам управления инцидентами и информации о странице статуса через протокол Model Context Protocol (MCP). Он позволяет командам безопасно предоставлять операционные данные мониторинга в структурированном формате, что упрощает создание автоматизации на основе ИИ, ассистентов мониторинга и интеллектуальных операционных рабочих процессов без использования пользовательского промежуточного ПО.

Что можно делать с Pulsetic MCP?

  • Проверка статуса и времени работы монитора — Запросите все мониторы с помощью list_monitors или получите подробную статистику для конкретного монитора через get_monitor_stats.
  • Расследование событий простоя — Получите события подключения/отключения с помощью get_monitor_events или общее количество секунд простоя через get_monitor_downtime.
  • Создание и управление мониторами — Добавьте новые HTTP-, TCP- или ICMP-мониторы с помощью create_monitor, обновите настройки через update_monitor или приостановите/возобновите проверки.
  • Обработка инцидентов на страницах статуса — Используйте create_incident, update_incident и resolve_incident для управления жизненным циклом инцидентов и публикации обновлений статуса.
  • Планирование окон обслуживания — Создайте предстоящие периоды обслуживания с помощью create_maintenance или удалите их через delete_maintenance.

Документация

Pulsetic MCP Server

Подключите AI-ассистентов к вашей платформе мониторинга Pulsetic с помощью Model Context Protocol (MCP).


Что такое MCP?

Model Context Protocol — это открытый стандарт, позволяющий AI-ассистентам взаимодействовать с внешними инструментами и сервисами. С MCP-сервером Pulsetic вы можете попросить своего AI-ассистента проверить статус мониторов, создать инциденты, запланировать техническое обслуживание и многое другое — и всё это в формате обычного разговора.

Поддерживаемые клиенты:

  • Claude Desktop — десктопное приложение Anthropic
  • Claude Code — CLI для разработчиков от Anthropic
  • ChatGPT — AI-ассистент OpenAI (через OAuth)
  • Cursor — редактор кода с AI-возможностями
  • Windsurf — IDE с AI-возможностями
  • Любой клиент, реализующий спецификацию MCP

Предварительные требования

  • Аккаунт Pulsetic на тарифе с доступом к API (Business или Enterprise).
  • API-ключ Pulsetic — создайте его в разделе Настройки → API вашей панели управления.
  • AI-клиент, совместимый с MCP.

Настройка

Claude Desktop

Claude Desktop использует MCP-серверы на основе stdio. Используйте mcp-remote для соединения с удалённой HTTP-точкой. Откройте Настройки → Разработчик → Редактировать конфигурацию и добавьте:

{
  "mcpServers": {
    "pulsetic": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://api.pulsetic.com/mcp",
        "--header", "Authorization: Bearer YOUR_API_KEY"
      ]
    }
  }
}

Замените YOUR_API_KEY на ваш реальный API-ключ. Перезапустите Claude Desktop, чтобы применить изменения.

Claude Code

Добавьте сервер в файл .mcp.json вашего проекта:

{
  "mcpServers": {
    "pulsetic": {
      "type": "streamableHttp",
      "url": "https://api.pulsetic.com/mcp",
      "headers": {
        "Authorization": "YOUR_API_KEY"
      }
    }
  }
}

Cursor

Откройте Настройки → MCP-серверы → Добавить сервер и настройте:

  • Тип: streamableHttp
  • URL: https://api.pulsetic.com/mcp
  • Заголовки: Authorization: YOUR_API_KEY

ChatGPT

ChatGPT имеет встроенную поддержку MCP через Режим разработчика. Для аутентификации в Pulsetic используется OAuth.

Шаг 1. Включите Режим разработчика в ChatGPT: перейдите в Подключённые приложения → Расширенные настройки → Режим разработчика и включите его. Это доступно для пользователей ChatGPT Pro, Plus, Team, Business, Enterprise и Edu.

Шаг 2. Создайте новое приложение: перейдите в Подключённые приложения → Создать приложение.

Шаг 3. Заполните данные приложения:

ПолеЗначение
НазваниеPulsetic MCP (или любое другое название)
ОписаниеUptime monitoring (необязательно)
URL MCP-сервераhttps://api.pulsetic.com/mcp
АутентификацияOAuth

Шаг 4. Конечные точки OAuth будут автоматически обнаружены с сервера. Вы можете проверить их в разделе Расширенные настройки:

ПолеЗначение
URL авторизацииhttps://api.pulsetic.com/mcp/oauth/authorize
URL токенаhttps://api.pulsetic.com/mcp/oauth/token
URL регистрацииhttps://api.pulsetic.com/mcp/oauth/register

Шаг 5. Отметьте «Я понимаю и хочу продолжить» и нажмите Создать.

Шаг 6. Завершите процесс входа через OAuth. Вы будете перенаправлены на страницу авторизации Pulsetic, где нужно ввести email вашего аккаунта и API-токен.

Email должен совпадать с вашим API-токеном. На странице авторизации введённый email должен принадлежать владельцу предоставляемого API-токена.

Храните API-ключ в тайне. Ваш API-ключ даёт полный доступ к вашему аккаунту Pulsetic. Никогда не добавляйте его в систему контроля версий и не передавайте публично.


Доступные инструменты

MCP-сервер предоставляет 17 инструментов, разделённых на четыре категории.

Мониторы

ИнструментОписание
list_monitorsСписок всех мониторов со статусом, временем безотказной работы и временем отклика.
get_monitorПодробная информация о конкретном мониторе.
get_monitor_statsПроцент безотказной работы, время простоя и время отклика за 1д/7д/30д/90д.
get_monitor_eventsСобытия доступности/недоступности в заданном диапазоне дат.
get_monitor_downtimeОбщее время простоя в секундах за указанный период.
create_monitorСоздать новый монитор HTTP, TCP или ICMP.
update_monitorОбновить имя, URL, частоту или настройки монитора.
delete_monitorНавсегда удалить монитор.
pause_monitorПриостановить мониторинг (остановить проверки).
resume_monitorВозобновить приостановленный монитор.

Страницы статуса

ИнструментОписание
list_status_pagesСписок всех страниц статуса с заголовком, slug и доменом.

Инциденты

ИнструментОписание
list_incidentsСписок инцидентов для страницы статуса.
create_incidentСоздать новый инцидент с начальным обновлением статуса.
update_incidentОпубликовать обновление статуса для существующего инцидента.
resolve_incidentОтметить инцидент как решённый.

Техническое обслуживание

ИнструментОписание
create_maintenanceЗапланировать окно технического обслуживания на странице статуса.
delete_maintenanceУдалить запланированное окно технического обслуживания.

Примеры использования

После настройки вы можете взаимодействовать с Pulsetic на естественном языке.

Проверка мониторов

"Show me all my monitors and their current status."

"What's the uptime for my production API monitor over the last 30 days?"

"Are any of my monitors currently down?"

"Show me the downtime events for monitor 42 in the past week."

Управление мониторами

"Create a new monitor for https://api.example.com that checks every 30 seconds."

"Pause the staging monitor while we do the migration."

"Resume all paused monitors."

"Change the check frequency of monitor 15 to 60 seconds."

"Delete the old marketing-site monitor."

Обработка инцидентов

"Create an incident on our main status page: 'Elevated API latency'
 with status investigating and message 'We're looking into slow response times.'"

"Update the API latency incident to identified: 'Root cause is a database
 connection pool issue. Working on a fix.'"

"Resolve incident 8 with message 'Connection pool limits increased.
 Response times back to normal.'"

Планирование технического обслуживания

"Schedule a maintenance window on status page 1 called 'Database upgrade'
 starting 2025-03-20 at 2am UTC and ending at 4am UTC."

"Delete the maintenance window we scheduled for next week."

Тестирование с помощью cURL

Вы можете протестировать конечную точку MCP напрямую с помощью cURL, чтобы убедиться, что ваш API-ключ работает.

Инициализация

curl -X POST https://api.pulsetic.com/mcp \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": {"name": "curl", "version": "1.0"}
    }
  }'

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

curl -X POST https://api.pulsetic.com/mcp \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

Вызов инструмента

curl -X POST https://api.pulsetic.com/mcp \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "list_monitors",
      "arguments": {}
    }
  }'

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

list_monitors

Возвращает все мониторы вашего аккаунта.

Нет параметров.


get_monitor

Возвращает полную информацию об одном мониторе, включая данные SSL-сертификата.

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.

get_monitor_stats

Возвращает процент безотказной работы, время простоя, количество инцидентов и среднее время отклика за периоды в 1 день, 7 дней, 30 дней и 90 дней.

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.

get_monitor_events

Возвращает события доступности/недоступности в диапазоне дат (макс. 100, сначала новые).

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.
fromstringНетДата начала (ГГГГ-ММ-ДД). По умолчанию: 7 дней назад.
tostringНетДата окончания (ГГГГ-ММ-ДД). По умолчанию: сегодня.

get_monitor_downtime

Возвращает общее время простоя в секундах и количество инцидентов за период.

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.
daysintegerНетКоличество дней для анализа. По умолчанию: 30.

create_monitor

Создаёт новый монитор доступности.

ПараметрТипОбязательныйОписание
urlstringДаURL или имя хоста для мониторинга.
namestringНетОтображаемое имя.
request_typestringНетhttp, tcp или icmp. По умолчанию: http.
uptime_check_frequencyintegerНетИнтервал проверки в секундах. По умолчанию: 60.
request_methodstringНетHTTP-метод. По умолчанию: GET.
request_timeoutintegerНетТайм-аут в секундах. По умолчанию: 30.
ssl_checkbooleanНетВключить мониторинг SSL.

update_monitor

Обновляет настройки существующего монитора. Указывайте только те поля, которые хотите изменить.

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.
namestringНетНовое отображаемое имя.
urlstringНетНовый URL или имя хоста.
uptime_check_frequencyintegerНетНовый интервал проверки в секундах.
request_methodstringНетHTTP-метод.
request_timeoutintegerНетТайм-аут в секундах.
ssl_checkbooleanНетВключить/отключить мониторинг SSL.

delete_monitor

Навсегда удаляет монитор и все связанные с ним данные.

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.

pause_monitor

Приостанавливает монитор. Проверки будут остановлены до возобновления.

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.

resume_monitor

Возобновляет приостановленный монитор.

ПараметрТипОбязательныйОписание
monitor_idintegerДаID монитора.

list_status_pages

Возвращает все страницы статуса вашего аккаунта.

Нет параметров.


list_incidents

Возвращает инциденты для страницы статуса, включая последнее обновление для каждого.

ПараметрТипОбязательныйОписание
status_page_idintegerДаID страницы статуса.

create_incident

Создаёт новый инцидент с начальным обновлением статуса, которое отображается на странице статуса.

ПараметрТипОбязательныйОписание
status_page_idintegerДаID страницы статуса.
titlestringДаЗаголовок инцидента.
statusstringДаinvestigating, identified, monitoring или resolved.
messagestringДаНачальное сообщение обновления.

update_incident

Публикует новое обновление статуса для существующего инцидента.

ПараметрТипОбязательныйОписание
incident_idintegerДаID инцидента.
statusstringДаinvestigating, identified, monitoring или resolved.
messagestringДаСообщение обновления.
titlestringНетОбновить заголовок инцидента.

resolve_incident

Отмечает инцидент как решённый с сообщением о решении.

ПараметрТипОбязательныйОписание
incident_idintegerДаID инцидента.
messagestringДаСообщение о решении.

create_maintenance

Планирует окно технического обслуживания на странице статуса.

ПараметрТипОбязательныйОписание
status_page_idintegerДаID страницы статуса.
namestringДаЗаголовок технического обслуживания.
descriptionstringНетОписание технического обслуживания.
startstringДаВремя начала в формате ISO 8601.
endstringДаВремя окончания в формате ISO 8601.
timezonestringНетЧасовой пояс (например, UTC, America/New_York). По умолчанию: UTC.

delete_maintenance

Удаляет запланированное окно технического обслуживания.

ПараметрТипОбязательныйОписание
maintenance_idintegerДаID окна технического обслуживания.

Устранение неполадок

401 Unauthorized

  • Убедитесь, что ваш API-ключ корректен и не истёк.
  • Убедитесь, что вы передаёте ключ в заголовке Authorization (как чистый токен или с префиксом Bearer).
  • Убедитесь, что ваш аккаунт использует тариф с включённым доступом к API.

Ошибка авторизации OAuth (ChatGPT)

  • На странице авторизации введённый email должен совпадать с владельцем API-токена.
  • Убедитесь, что Режим разработчика включён в настройках ChatGPT.
  • Убедитесь, что у вас тариф ChatGPT, поддерживающий Режим разработчика (Pro, Plus, Team, Business, Enterprise или Edu).

«Монитор не найден или доступ запрещён»

  • ID монитора не существует или принадлежит другому аккаунту.
  • Используйте list_monitors, чтобы увидеть доступные ID мониторов.

Инструменты не отображаются в AI-клиенте

  • Перезапустите AI-клиент после редактирования конфигурации MCP.
  • Проверьте, что URL точно https://api.pulsetic.com/mcp.
  • Проверьте конечную точку с помощью cURL, чтобы убедиться в соединении.

Ошибки протокола

  • Убедитесь, что запросы используют Content-Type: application/json.
  • Поле jsonrpc должно быть точно "2.0".
  • Включайте поле id (целое число или строка) для всех запросов, кроме уведомлений.

Справочник API

MCP-сервер реализует спецификацию MCP (2025-03-26) с использованием потоковой передачи HTTP через единую конечную точку POST /mcp с JSON-RPC 2.0.