MCP Server
Status200 Model Context Protocol (MCP) Server даёт LLM прямой доступ к инстансу Status200: мониторинг, инциденты и операции observability через AI.
Что это
MCP Server — мост между Large Language Models (LLM) и вашим Status200. Реализует Model Context Protocol (MCP), чтобы ассистенты (например, Claude) работали с вашей monitoring-инфраструктурой.
Как устроено
Сервер MCP развёрнут рядом с инстансом Status200, доступ по Streamable HTTP. Локальная установка не требуется.
Облако: https://status200.ru/mcp
Self-hosted: https://your-status200-domain.com/mcp
Возможности
- Покрытие API: доступ к 711 эндпоинтам Status200 API
- 126 типов ресурсов: мониторы, инциденты, команды, пробы и др.
- Операции в реальном времени: CRUD по ресурсам
- Типобезопасность: типы и валидация входных данных
- Аутентификация: API key и корректная обработка ошибок
- Интеграция: Claude Desktop и другие MCP-клиенты
- Сессии: управление сессиями и переподключение
Что можно делать
С MCP ассистент помогает:
- Мониторы: создавать и настраивать, смотреть статус, группы мониторов
- Инциденты: создавать, заметки, назначения, resolution
- Команды: участники, права, on-call расписания
- Status pages: обновления, объявления, подписчики
- Алерты: правила, escalation, логи уведомлений
- Пробы: развёртывание и управление в разных локациях
- Отчёты и аналитика: отчёты и анализ данных мониторинга
Требования
- Инстанс Status200 (облако или self-hosted)
- MCP-совместимый клиент (Claude Desktop, VS Code с GitHub Copilot и т.д.)
- Валидный API key Status200 (для защищённых операций; публичные tools работают без ключа)
API key
- Войти в Status200.
- Settings → API Keys.
- Create API Key.
- Имя (например, «MCP Server»).
- Нужные permissions.
- Скопировать ключ.
Конфигурация
Claude Desktop
Файл конфигурации:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Облако Status200
{
"mcpServers": {
"status200": {
"transport": "streamable-http",
"url": "https://status200.ru/mcp",
"headers": {
"x-api-key": "your-api-key-here"
}
}
}
}Self-hosted Status200
Замените status200.ru на домен вашего Status200:
{
"mcpServers": {
"status200": {
"transport": "streamable-http",
"url": "https://your-status200-domain.com/mcp",
"headers": {
"x-api-key": "your-api-key-here"
}
}
}
}Публичный доступ (без API key)
Только публичные tools (информация status page, справка):
{
"mcpServers": {
"status200": {
"transport": "streamable-http",
"url": "https://status200.ru/mcp"
}
}
}Доступ к публичным инструментам status page и справке без аутентификации.
VS Code и GitHub Copilot
В VS Code встроена поддержка MCP (GitHub Copilot 1.99+).
Шаг 1: требования
- VS Code 1.99+
- Расширение GitHub Copilot
- Включён GitHub Copilot Chat
Шаг 2: конфигурация MCP
Ctrl+Shift+P(Windows/Linux) илиCmd+Shift+P(macOS)- «MCP: Open User Configuration» → Enter
- Откроется или создастся
mcp.json
Либо .vscode/mcp.json в workspace для проекта.
Облако Status200
{
"servers": {
"status200": {
"type": "http",
"url": "https://status200.ru/mcp",
"headers": {
"x-api-key": "${input:status200-api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "status200-api-key",
"description": "Status200 API Key",
"password": true
}
]
}Self-hosted Status200
{
"servers": {
"status200": {
"type": "http",
"url": "https://your-status200-domain.com/mcp",
"headers": {
"x-api-key": "${input:status200-api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "status200-api-key",
"description": "Status200 API Key",
"password": true
}
]
}Шаг 3: запуск MCP
Ctrl+Shift+P/Cmd+Shift+P- «MCP: List Servers» — список серверов
- Запустить «status200»
- При запросе ввести API key Status200
Шаг 4: Copilot Chat
Откройте GitHub Copilot Chat, режим Agent (@workspace или прямой запрос).
Безопасность
inputs с "password": true запрашивают API key при старте, без хранения в открытом виде. VS Code может запросить подтверждение доверия при первом запуске MCP.
Эндпоинты
| Endpoint | Метод | Описание |
|---|---|---|
/mcp | GET | SSE-поток уведомлений server → client |
/mcp | POST | JSON-RPC: вызов tools и др. |
/mcp | DELETE | Завершение и очистка сессии |
/mcp/health | GET | Health check |
/mcp/tools | GET | REST: список доступных tools |
Аутентификация
Публичные tools (без API key)
status200_help: справка по возможностям Status200 MCPstatus200_list_resources: ресурсы и операцииget_public_status_page_overview: обзор публичной status pageget_public_status_page_incidents: инциденты публичной status pageget_public_status_page_scheduled_maintenance: плановое обслуживаниеget_public_status_page_announcements: объявления
Для публичных tools указывают ID status page (UUID) или доменное имя страницы.
Защищённые tools (нужен API key)
Остальные операции (мониторы, инциденты, команды и т.д.) — заголовок:
x-api-key: API key Status200Authorization:Bearer <api-key>
Проверка
# Облако
curl https://status200.ru/mcp/health
# Self-hosted
curl https://your-status200-domain.com/mcp/healthСписок tools:
curl https://status200.ru/mcp/tools
curl https://your-status200-domain.com/mcp/toolsПримеры запросов (естественный язык)
Примеры формулировок для ассистента:
Какой сейчас статус всех моих мониторов?
Покажи инциденты за последние 24 часаСоздай website monitor для https://example.com с проверкой каждые 5 минут
Настрой API monitor для https://api.example.com/health с таймаутом 30 секундСоздай инцидент высокого приоритета из-за падения БД и влияния на аутентификацию
Добавь к инциденту #123 заметку: «Подключение к БД восстановлено, наблюдаем стабильность»
Отметь инцидент #456 как resolvedКто в команде infrastructure?
Кто сейчас on-call у infrastructure?
Покажи on-call на эту неделюОбнови status page: для payment service статус «Расследуем проблемы с оплатой»
Создай объявление о плановом обслуживании в выходныеПубличные status page (без API key):
Текущий статус status.example.com?
Недавние инциденты на status page Status200
Есть ли плановое обслуживание на status.acme.com?
Последние объявления публичной status page с ID abc123-...Создай окно maintenance на субботу 02:00–04:00, отключи мониторы api.example.com на это время и обнови status page
Покажи мониторы, которые были down за последний час; создай инциденты там, где их ещё нетПрава API key
- Только чтение: read permissions для просмотра.
- Полный доступ: для create/update/delete — как минимум права уровня Project Admin (по политике вашего проекта).
Практика: минимально необходимые права; ротация ключей; отдельные ключи на окружения; мониторинг использования в Status200.
Устранение неполадок
Ошибки прав
Нужны read для списков, write для создания/обновления, delete — при удалении ресурсов.
Подключение
- Верный URL Status200.
- Валидный API key.
- Доступность инстанса.
- Проверка
/mcp/health.
Неверный API key
Проверить ключ в настройках, пробелы/лишние символы, срок действия.
Ошибки сессии
Используется заголовок mcp-session-id; клиент должен обрабатывать ID сессии из ответа сервера. Сессии очищаются при закрытии соединения.
Ресурсы
126 типов ресурсов, в том числе:
Мониторинг: Monitor, MonitorStatus, MonitorGroup, Probe
Инциденты: Incident, IncidentState, IncidentNote, IncidentTemplate
Алерты: Alert, AlertState, AlertSeverity
Status pages: StatusPage, StatusPageAnnouncement, StatusPageSubscriber
On-call: OnCallPolicy, EscalationRule, OnCallSchedule
Команды: Team, TeamMember, TeamPermission
Телеметрия: TelemetryService, Log, Span, Metric
Workflows: Workflow, WorkflowVariable, WorkflowLog
Для ресурсов доступны стандартные операции: List, Count, Get, Create, Update, Delete.