Документация
Полное руководство по настройке мониторинга сайтов с PingZen. Документация API, примеры кода и лучшие практики.
Подключение MCP
Подключите PingZen к вашему AI-инструменту через Model Context Protocol (MCP). Управляйте мониторами, оповещениями и инцидентами прямо из AI-чата.
Как это работает
Ноль API-ключей. Ноль копипаста.
Добавьте URL в ваш AI-клиент → браузер откроется → войдите в аккаунт → готово. OAuth 2.0 всё сделает автоматически.
- Добавьте конфиг ниже в ваш AI-клиент
- AI-клиент откроет браузер для авторизации
- Войдите в PingZen (Google, Яндекс, Telegram или Email)
- Нажмите «Разрешить» — и MCP подключен!
Настройка по клиентам
Claude Code
claude mcp add-json pingzen '{"type":"http","url":"https://pingzen.dev/mcp/"}'Введите /mcp в Claude Code для проверки.
Cursor
{
"mcpServers": {
"pingzen": {
"url": "https://pingzen.dev/mcp/"
}
}
}Если Cursor показывает не все инструменты (лимит ~40), используйте URL с тегами: https://pingzen.dev/mcp/?include_tags=monitors,alerts
VS Code
{
"servers": {
"pingzen": {
"type": "http",
"url": "https://pingzen.dev/mcp/"
}
}
}Claude Desktop
{
"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
{
"mcpServers": {
"pingzen": {
"serverUrl": "https://pingzen.dev/mcp/"
}
}
}Cline (через API ключ)
Cline пока не поддерживает MCP OAuth. Для подключения нужен API ключ — создайте его в дашборде.
{
"mcpServers": {
"pingzen": {
"type": "streamableHttp",
"url": "https://pingzen.dev/mcp/",
"headers": {
"Authorization": "Bearer pz_YOUR_API_KEY"
}
}
}
}Замените pz_YOUR_API_KEY на ваш реальный ключ. Обязательно укажите "type": "streamableHttp" — без этого Cline будет использовать SSE.
Доступные инструменты
Фильтрация по тегамновое
127 инструментов — это полное покрытие API, но не каждому агенту нужны все сразу. Теги позволяют получить только нужную группу инструментов одним параметром в URL:
- →Cursor (лимит 40 тулов) — подключайте с нужными тегами вместо всех 127
- →Cline — меньше инструментов в контексте = точнее выбор и меньше расход токенов
- →CI/CD агенты — подключите только monitors,incidents для автоматизации без лишнего
- →Claude Code / Claude Desktop — работает автоматически (defer_loading), теги не нужны
Все 127 инструментов (по умолчанию)
https://pingzen.dev/mcp/Только мониторинг + алерты (~35 инструментов, подходит для Cursor)
https://pingzen.dev/mcp/?include_tags=monitors,alertsМониторинг + инциденты + статус (для автоматизации)
https://pingzen.dev/mcp/?include_tags=monitors,incidents,status_pagesВсё кроме авторизации
https://pingzen.dev/mcp/?exclude_tags=authДоступные теги: monitors, alerts, channels, incidents, status_pages, heartbeats, workspaces, groups, telegram, reports, maintenance, webhooks, webhook_checks, web_push, dashboard, auth, meta
Поиск инструментовновое
AI-агенту не нужно перебирать все 127 определений — search_tools находит нужный инструмент по описанию задачи. Агент спрашивает «что умеет делать сервер с SSL?» и получает ранжированный список.
Пример:
search_tools({ "query": "SSL certificate", "top_k": 5 })
→ create_monitor (score: 4.2), get_monitor_sla (score: 2.1), ...Поддерживает фильтрацию по тегу — можно искать только среди алертов или только среди мониторов.
Claude Code использует search_tools автоматически через defer_loading — все 127 инструментов доступны без переполнения контекста. Настройка не требуется.
Примеры запросов
- •"Покажи все мои мониторы"
- •"Создай HTTP монитор для example.com"
- •"Какой аптайм у моих сайтов?"
- •"Настрой Telegram оповещение для монитора"
- •"Покажи открытые инциденты"
Решение проблем
Браузер открывается, но я не могу войти
Получаю ошибку аутентификации (401)
Таймаут подключения
Инструменты не отображаются
Cline не поддерживает OAuth
Поддержка клиентов
| Клиент | OAuth | API Key |
|---|---|---|
| Claude Code | ✓ | ✓ |
| Cursor | ✓ | ✓ |
| VS Code | ✓ | ✓ |
| Claude Desktop | ✓ | ✓ |
| Windsurf | ✓ | ✓ |
| Cline | ✗ | ✓ |
Code Modeэкспериментальный
Вместо вызова инструментов по одному, AI-агент пишет Python-скрипт, который выполняет несколько вызовов за один раз в песочнице. Промежуточные данные (список из 300 мониторов, отчёт) остаются в sandbox и не засоряют контекстное окно.
Подключение:
https://pingzen.dev/mcp/code/Что видит AI-агент (3 мета-инструмента вместо 127):
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 3.2 + 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 Protocol | POST | https://pingzen.dev/mcp/ |
| Protected Resource (RFC 9728) | GET | https://pingzen.dev/.well-known/oauth-protected-resource/mcp |
| Authorization Server (RFC 8414) | GET | https://pingzen.dev/mcp/.well-known/oauth-authorization-server |
| Dynamic Client Registration | POST | https://pingzen.dev/mcp/register |
| Authorization | GET | https://pingzen.dev/mcp/authorize |
| Token Exchange | POST | https://pingzen.dev/mcp/token |
| Token Revocation | POST | https://pingzen.dev/mcp/revoke |
Как работает OAuth
- Платформа отправляет POST /mcp/ без авторизации → получает 401 с resource_metadata URL
- Читает RFC 9728 + RFC 8414 метаданные → узнаёт все OAuth endpoints
- Регистрируется через DCR (POST /mcp/register) → получает client_id + client_secret
- Перенаправляет пользователя на /mcp/authorize с PKCE code_challenge
- Пользователь входит в PingZen (Google, Яндекс, Telegram или email) и нажимает «Разрешить»
- Браузер редиректит обратно на платформу с authorization code
- Платформа обменивает code + code_verifier на access_token (1 час) и refresh_token (90 дней)
Данные и безопасность
Что хранит ваша платформа:
- • 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 на вашей платформе:
{
"name": "dev.pingzen/mcp",
"title": "PingZen Uptime Monitoring",
"description": "Monitor websites, APIs and services with 127 tools across 23 protocols",
"version": "0.13.0",
"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": 127,
"resources": 9,
"prompts": 3,
"protocols": 23
},
"categories": [
"monitoring",
"devops",
"infrastructure",
"uptime"
],
"languages": [
"en",
"ru"
]
}Частые вопросы
Какие протоколы можно мониторить?
PingZen поддерживает 23 протокола: HTTP/HTTPS, WebSocket (WS/WSS), TCP, UDP, ICMP Ping, gRPC, DNS, WHOIS, SSL сертификаты, Email (SMTP/IMAP/POP3), FTP/FTPS, DNSBL, PageSpeed, SOCKS5, MTProxy, API Check и Transaction. Вы можете мониторить сайты, API, серверы, базы данных и любые сетевые сервисы.
Как быстро приходят оповещения?
Telegram оповещения доставляются в течение 1-2 секунд после обнаружения. Slack и Discord уведомления приходят практически мгновенно. Вы можете настроить несколько каналов оповещений для резервирования.
Можно ли организовать мониторы по проектам?
Да! PingZen поддерживает рабочие пространства, которые позволяют организовать мониторы по проектам, окружениям или командам. Каждое рабочее пространство может иметь свои настройки оповещений и участников.
Есть ли API для автоматизации?
Абсолютно. PingZen предоставляет полный REST API с OpenAPI документацией. Вы можете создавать, обновлять и удалять мониторы программно.
Как работают статус-страницы?
Статус-страницы — это публичные брендированные страницы, показывающие аптайм ваших сервисов. Вы можете отображать статус в реальном времени и позволить клиентам подписаться на обновления.
Что происходит, если я достигну лимита мониторов?
Мы уведомим вас при приближении к лимиту. Вы можете приостановить некоторые мониторы или связаться с нами для увеличения лимита. Мы никогда не останавливаем мониторинг без предупреждения, обеспечивая защиту ваших критически важных сервисов.
Готовы перестать пропускать даунтаймы?
Присоединяйтесь к тысячам команд, которые доверяют PingZen. Настройка за 30 секунд.