Перейти к основному содержимому

Подключение MCP

Подключите PingZen к вашему AI-инструменту через Model Context Protocol (MCP). Управляйте мониторами, оповещениями и инцидентами прямо из AI-чата.

Как это работает

Ноль API-ключей. Ноль копипаста.

Добавьте URL в ваш AI-клиент → браузер откроется → войдите в аккаунт → готово. OAuth 2.0 всё сделает автоматически.

  1. Добавьте конфиг ниже в ваш AI-клиент
  2. AI-клиент откроет браузер для авторизации
  3. Войдите в PingZen (Google, Яндекс, Telegram или Email)
  4. Нажмите «Разрешить» — и MCP подключен!

Настройка по клиентам

Claude Code

claude mcp add-json pingzen '{"type":"http","url":"https://pingzen.dev/mcp/"}'

Введите /mcp в Claude Code для проверки.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "pingzen": {
      "url": "https://pingzen.dev/mcp/"
    }
  }
}

Если Cursor показывает не все инструменты (лимит ~40), используйте URL с тегами: https://pingzen.dev/mcp/?include_tags=monitors,incidents

VS Code

.vscode/mcp.json

{
  "servers": {
    "pingzen": {
      "type": "http",
      "url": "https://pingzen.dev/mcp/"
    }
  }
}

Claude Desktop

claude_desktop_config.json

{
  "mcpServers": {
    "pingzen": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://pingzen.dev/mcp/"
      ]
    }
  }
}

Путь к файлу: macOS: ~/Library/Application Support/Claude/claude_desktop_config.json | Windows: %APPDATA%\Claude\claude_desktop_config.json

Claude Desktop поддерживает только STDIO — mcp-remote работает как мост к HTTP-серверу. Требуется Node.js.

Windsurf

mcp_config.json

{
  "mcpServers": {
    "pingzen": {
      "serverUrl": "https://pingzen.dev/mcp/"
    }
  }
}

Cline (через API-ключ)

Cline пока не поддерживает MCP OAuth. Для подключения нужен API-ключ — создайте его в панели.

cline_mcp_settings.json

{
  "mcpServers": {
    "pingzen": {
      "type": "streamableHttp",
      "url": "https://pingzen.dev/mcp/",
      "headers": {
        "Authorization": "Bearer pz_YOUR_API_KEY"
      }
    }
  }
}

Замените pz_YOUR_API_KEY на ваш реальный ключ. Обязательно укажите "type": "streamableHttp" — без этого Cline будет использовать SSE.

Вывод с учётом часового пояса v0.16.0+

Ответы инструментов рендерят даты в часовом поясе вашего аккаунта (задаётся в веб-приложении: боковая панель → Часовой пояс). Например, list_incidents показывает Started: 2026-05-12 14:32:05 MSK (+03:00) вместо сырой UTC ISO-строки. В каждой метке есть и аббревиатура, и числовое смещение — у LLM однозначный контекст.

Это важно для команд из разных регионов: оператор, спрашивающий Claude «вчерашняя авария началась до или после обеда?», получит согласованный ответ независимо от того, кто из коллег задаёт вопрос. Полная модель — в разделе Часовые пояса.

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

У каждого инструмента один или несколько тегов, и именно тег подставляется в include_tags. Поэтому числа ниже в сумме больше 153 — инструмент, который и читает мониторы, и пишет инциденты, посчитан в обоих.

monitors29
alerts18
workspaces15
heartbeats11
reports10
api_checks9
auth9
channels9
groups9
webhook_checks8
webhooks8
incidents7
status_pages7
maintenance6
api_keys4
feedback4
web_push4
probes3
profile3
telegram3
meta2
dashboard1

Фильтрация по тегам новое

153 инструментов — это полное покрытие API, но не каждому агенту нужны все сразу. Теги позволяют получить только нужную группу инструментов одним параметром в URL:

  • Cursor (лимит 40 тулов) — подключайте с нужными тегами вместо всех 153
  • Cline — меньше инструментов в контексте = точнее выбор и меньше расход токенов
  • CI/CD агенты — подключите только monitors,incidents для автоматизации без лишнего
  • Claude Code / Claude Desktop — работает автоматически (defer_loading), теги не нужны
153include_tags35

Все 153 инструментов (по умолчанию)

https://pingzen.dev/mcp/

Мониторы и инциденты (36 инструментов, влезает в лимит Cursor в 40)

https://pingzen.dev/mcp/?include_tags=monitors,incidents

Мониторинг + инциденты + статус (для автоматизации)

https://pingzen.dev/mcp/?include_tags=monitors,incidents,status_pages

Всё кроме авторизации

https://pingzen.dev/mcp/?exclude_tags=auth

Поиск инструментов новое

AI-агенту не нужно перебирать все 153 определений — search_tools находит нужный инструмент по описанию задачи. Агент спрашивает «что умеет делать сервер с SSL?» и получает ранжированный список.

Пример:

search_tools({ "query": "SSL certificate", "top_k": 5 })
→ create_monitor (score: 4.2), get_monitor_sla (score: 2.1), ...

Поддерживает фильтрацию по тегу — можно искать только среди оповещений или только среди мониторов.

SSL certificatecreate_monitor4.2get_monitor_sla2.1

Claude Code использует search_tools автоматически через defer_loading — все 153 инструментов доступны без переполнения контекста. Настройка не требуется.

Примеры запросов

  • “Покажи все мои мониторы”
  • “Создай HTTP монитор для example.com”
  • “Какой аптайм у моих сайтов?”
  • “Настрой Telegram оповещение для монитора”
  • “Покажи открытые инциденты”
  • “Выгрузи все мои мониторы в CSV”
  • “Импортируй мониторы из моего экспорта UptimeRobot” (сначала dry-run-предпросмотр, потом реальный импорт)

Решение проблем

Браузер открывается, но я не могу войти
Убедитесь, что у вас есть аккаунт PingZen. Зарегистрируйтесь на pingzen.dev, затем повторите подключение. Поддерживаются вход через Google, Яндекс, Telegram и Email.
Получаю ошибку аутентификации (401)
Если используете OAuth — переподключите MCP сервер (браузер должен открыться). Если API-ключ — проверьте, что ключ активен и начинается с pz_. Формат заголовка: "Authorization: Bearer pz_..."
Таймаут подключения
Убедитесь, что https://pingzen.dev/mcp/ доступен из вашей сети. Проверьте прокси и фаервол.
Инструменты не отображаются
Перезапустите AI-клиент после изменения конфигурации. В Claude Code используйте /mcp для проверки.
Cline не поддерживает OAuth
Cline пока не поддерживает MCP OAuth. Используйте API-ключ — создайте его в панели PingZen и добавьте в конфиг. Также обязательно укажите "type": "streamableHttp".

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

КлиентOAuthAPI Key
Claude Code✓✓
Cursor✓✓
VS Code✓✓
Claude Desktop✓✓
Windsurf✓✓
Cline✗✓

Code Mode экспериментальный

Вместо вызова инструментов по одному, AI-агент пишет Python-скрипт, который выполняет несколько вызовов за один раз в песочнице. Промежуточные данные (список из 300 мониторов, отчёт) остаются в sandbox и не засоряют контекстное окно.

98%
точность (Stainless eval)
N→1
round-trips
~98%
экономия токенов

Подключение:

https://pingzen.dev/mcp/code/

Что видит AI-агент (4 мета-инструмента вместо 153):

search("monitor uptime") → create_monitor, get_uptime_stats, ...
get_schema(["create_monitor"]) → { parameters: { url, protocol, ... } }
execute("""
  monitors = await call_tool("list_monitors", {})
  down = [m for m in monitors if m["status"] == "down"]
  return f"{len(down)} monitors down"
""")

Использует FastMCP 4.0 + Monty sandbox (Rust, 15 сек таймаут, 50MB памяти). Отдельный endpoint — основной /mcp/ работает как прежде.

Интеграция с платформами

Для интеграции PingZen MCP в вашу AI-платформу (ExecAI, собственный MCP-клиент и др.) используйте OAuth 2.0 или API-ключ.

Минимальная интеграция — одна строка:

https://pingzen.dev/mcp/

Транспорт: streamable-http | Авторизация: OAuth 2.0 (PKCE) или API-ключ (pz_*)

OAuth 2.0 Endpoints

НазначениеМетодURL
MCP ProtocolPOSThttps://pingzen.dev/mcp/
Protected Resource (RFC 9728)GEThttps://pingzen.dev/.well-known/oauth-protected-resource/mcp
Authorization Server (RFC 8414)GEThttps://pingzen.dev/mcp/.well-known/oauth-authorization-server
Dynamic Client RegistrationPOSThttps://pingzen.dev/mcp/register
AuthorizationGEThttps://pingzen.dev/mcp/authorize
Token ExchangePOSThttps://pingzen.dev/mcp/token
Token RevocationPOSThttps://pingzen.dev/mcp/revoke

Как работает OAuth

  1. Платформа отправляет POST /mcp/ без авторизации → получает 401 с resource_metadata URL
  2. Читает RFC 9728 + RFC 8414 метаданные → узнаёт все OAuth endpoints
  3. Регистрируется через DCR (POST /mcp/register) → получает client_id + client_secret
  4. Перенаправляет пользователя на /mcp/authorize с PKCE code_challenge
  5. Пользователь входит в PingZen (Google, Яндекс, Telegram или email) и нажимает «Разрешить»
  6. Браузер редиректит обратно на платформу с authorization code
  7. Платформа обменивает code + code_verifier на access_token (1 час) и refresh_token (90 дней)
POST /mcp/401POST /mcp/registerclient_idGET /mcp/authorizecodePOST /mcp/tokenaccess_token

Данные и безопасность

Что хранит ваша платформа:

  • • client_id и client_secret (свои, от DCR)
  • • access_token — JWT, срок жизни 1 час
  • • refresh_token — срок жизни 90 дней

Платформа не получает пароль, email и персональные данные пользователя.

Что хранит PingZen:

  • • Аккаунт пользователя (создаётся им самим)
  • • OAuth-клиент платформы (client_id, redirect_uri)
  • • Хэши refresh_token (SHA-256)
  • • Мониторы, оповещения, инциденты пользователя

Пользователь может отозвать доступ платформы в любой момент.

Важно: платформа не создаёт аккаунт пользователя. Пользователь сам регистрируется или входит на pingzen.dev через consent page (Google, Яндекс, Telegram или email). Это стандартная модель OAuth 2.0.

Манифест (server.json)

Полный манифест для регистрации PingZen MCP на вашей платформе:

server.json

{
  "name": "dev.pingzen/mcp",
  "title": "PingZen Uptime Monitoring",
  "description": "Monitor websites, APIs and services with 153 tools across 23 protocols",
  "version": "0.14.1",
  "websiteUrl": "https://pingzen.dev",
  "icons": [
    {
      "src": "https://pingzen.dev/android-chrome-192x192.png",
      "mimeType": "image/png",
      "sizes": ["192x192"]
    }
  ],
  "remote": {
    "type": "streamable-http",
    "url": "https://pingzen.dev/mcp/",
    "oauth": {
      "discoveryUrl": "https://pingzen.dev/.well-known/oauth-protected-resource/mcp",
      "authorizationUrl": "https://pingzen.dev/mcp/authorize",
      "tokenUrl": "https://pingzen.dev/mcp/token",
      "registrationUrl": "https://pingzen.dev/mcp/register",
      "revocationUrl": "https://pingzen.dev/mcp/revoke",
      "scopes": ["mcp"],
      "pkceRequired": true,
      "codeChallengeMethod": "S256"
    }
  },
  "features": { "tools": 153, "resources": 9, "prompts": 3, "protocols": 23 },
  "categories": ["monitoring", "devops", "infrastructure", "uptime"],
  "languages": ["en", "ru"]
}