OpenUptime — мониторинг доступности и статус-страницы

OpenUptime

Скилл учит агента заводить мониторы, вести инциденты и собирать публичные статус-страницы в OpenUptime через MCP

  • 32 ★ репозитория
  • Последний коммит
  • MIT
СкиллОфициальный

Расширенный доступ

Почему такой уровень

  • Через MCP агент создает и удаляет мониторы, удаление стирает историю проверок
  • Публичные обновления инцидентов видят подписчики и посетители статус-страницы
Все причины и проверки

becoolme/openuptime

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/openuptime

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Через MCP агент создает и удаляет мониторы, удаление стирает историю проверок
  • Публичные обновления инцидентов видят подписчики и посетители статус-страницы

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

OpenUptime — сервис мониторинга доступности с открытым кодом. Он проверяет HTTP, TCP, DNS и WebSocket, принимает пинги от cron-задач, заглядывает в PostgreSQL, MySQL и Redis, следит за сроком домена и MCP-серверами. Инциденты, окна обслуживания и публичные статус-страницы живут в том же сервисе, а оповещения уходят в Slack, Discord, Telegram, PagerDuty, почту и вебхуки. Скилл из папки skills/openuptime описывает работу с этим сервисом через его MCP-сервер по адресу /api/mcp. Перед созданием монитора агент смотрит список уже заведенных, после создания запускает проверку и пересказывает ее настоящий результат. При сбое он открывает список инцидентов, повторяет проверку из конкретного региона, берет инцидент в работу и публикует обновления со статусами `investigating`, `identified`, `monitoring` и `resolved`. На время работ агент ставит мониторы на паузу и возвращает их после. Статус-страницу он собирает из мониторов, которые вы разрешили показывать клиентам. Удаление монитора и публичные обновления скилл велит согласовать с человеком.

Для кого. Командам, которые держат OpenUptime в облаке или у себя на Cloudflare Workers либо в Docker и хотят вести мониторы и инциденты из чата с агентом.

Подходит, если

  • Новый сервис выходит в прод, и ему нужен HTTP-монитор с проверкой ключевого слова и каналом оповещений
  • Ночью сработал алерт: надо собрать открытые инциденты и проверить сервис из другого региона
  • Перед миграцией базы мониторы ставят на паузу, а после нее включают обратно
  • Клиентам нужна публичная статус-страница с выбранным набором сервисов
  • Cron-задача или бэкап должны подавать сигнал: потребуется монитор типа `heartbeat` и адрес для пинга

Не подходит, если

  • Сервер OpenUptime не подключен: скилл вызывает только его инструменты и без сервера ничего не проверяет
  • Нужны SSL-мониторинг и свой домен для статус-страницы в самохостинге: в открытой версии их нет
  • Строку подключения к базе нельзя показывать агенту: мониторам PostgreSQL, MySQL и Redis она нужна
  • Нужен разбор причины сбоя по логам и трассировкам: скилл ведет инциденты, но кода и логов не читает

Пример запроса к агенту

Заведи HTTP-монитор для https://api.example.com/health с проверкой слова ok, привяжи канал Slack и запусти проверку.

Ограничения

Скилл работает только при подключенном MCP-сервере OpenUptime. Без него агент останавливается и просит подключить сервер. Доступ выдается через OAuth или ключ API.

Команда npx skills add becoolme/openuptime ставит скилл из репозитория целиком, нужная папка называется skills/openuptime. Создание рабочих пространств и проектов агент выполняет, только если подключение авторизовано для этого.

Мониторинг SSL-сертификатов и свой домен статус-страницы входят в платные тарифы облачной версии, в самохостинге их нет.

Как отключить. Удалите папку скилла openuptime из каталога скиллов агента. Сервер отключается командой claude mcp remove openuptime, мониторы в сервисе остаются.

Частые вопросы

Как подключить OpenUptime к Claude Code?

Выполните claude mcp add --transport http openuptime https://openuptime.app/api/mcp. Для своего сервера возьмите адрес вида https://ваш-хост/api/mcp. Дальше сервер попросит авторизацию через OAuth или ключ API, после чего ставится скилл командой npx skills add becoolme/openuptime.

Можно ли поставить OpenUptime у себя?

Да. Сервис разворачивают на Cloudflare Workers с Postgres или одним контейнером Docker, лицензия MIT. Мониторы, инциденты, статус-страницы, каналы оповещений, API и MCP в самохостинге доступны полностью, без квот.

Что скилл не станет делать без вопроса?

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

Какие типы мониторов поддерживает скилл?

В тексте скилла описаны типы `http`, `tcp`, `dns`, `websocket`, `heartbeat`, `postgres`, `mysql` и `redis`. Для `http`-проверки можно добавить ключевое слово, а регионы выбираются у `http`, `tcp` и `websocket`.

Какие каналы оповещений есть в OpenUptime?

Slack, Discord, Microsoft Teams, Telegram, Lark и Feishu, ntfy, PagerDuty, вебхуки и почта, плюс уведомления в приложение для iOS. Каналы привязывают к монитору через channelIds, без привязки монитор никого не оповестит.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы
Официальный

Сервис мониторинга и страниц статуса с MCP-сервером: агент читает состояние проверок и ведет инциденты.

MCP-серверРасширенный доступ55Звезды репозитория
Официальный

Встроенный MCP OneUptime: агент разбирает инциденты, читает логи и трассы, подтверждает алерты и настраивает мониторы.

MCP-серверРасширенный доступ7,8 тыс.Звезды репозитория

MCP-сервер дает агенту читать мониторы Uptime Kuma 2 и историю проверок, создавать и менять мониторы и окна обслуживания

MCP-серверШирокий доступ70Звезды репозитория
Официальный

Планировщик задач cronstable открывает агенту список заданий, историю запусков и разбор расписаний через MCP.

MCP-серверРасширенный доступ138Звезды репозитория
Российский стек

Веб-дашборд в одном Docker-контейнере для мониторинга и управления флотом MCP-серверов 1С: статус, прогресс индексации, VRAM и лицензии

CLIРасширенный доступ

Скиллы по производительности и масштабированию сайтов, пока один: ooda-loop, цикл наблюдения, вывода, решения и действия.

СкиллРасширенный доступ135Звезды репозитория

Коротко о README

Репозиторий содержит API на Hono для Cloudflare Worker, веб-приложение на Astro и React, хранилище на Postgres и инструкции по развертыванию на Cloudflare и в Docker. Облачная версия на openuptime.app добавляет тарифы, оплату и несколько функций, в частности мониторинг SSL. Список MCP-реестра включает сервер app.openuptime/mcp.

Бейдж для README

Исходный SKILL.md

---
name: openuptime
description: Manages uptime monitoring through the OpenUptime MCP server. Creates and tunes monitors (http, tcp, dns, heartbeat, postgres, mysql, redis), runs checks, handles incidents and posts status updates, and builds public status pages. Use when the user asks to monitor a site, API or service, check what is down, open or resolve an incident, pause monitors for maintenance, or set up a status page with OpenUptime.
---

# OpenUptime

Drive an OpenUptime workspace through its MCP tools (server `openuptime`, tools named `openuptime:<tool>`).

## Before acting

1. If the `openuptime` tools are not available, tell the user to connect the server and stop:
   `claude mcp add --transport http openuptime https://openuptime.app/api/mcp` (self-hosted: use your own `/api/mcp` URL). Other clients: https://openuptime.app/docs/mcp
2. If the user may have several workspaces or projects, call `openuptime:list_workspaces` once and pass `workspace` / `project` ids to every later call. Omitting them uses the default.
3. Call `openuptime:list_monitors` before creating anything, to avoid duplicates.

## Add a monitor

Call `openuptime:create_monitor` with `name`, `type` and `target` (URL, `host:port` or hostname). Omitted fields take defaults: 60 s interval, expect HTTP 200, region `auto`.

- Website or API: `type: "http"`, `target: "https://api.example.com/health"`. Add `keyword` (with `keywordMode: "contains"` or `"absent"`) when a 200 alone is not proof of health.
- WebSocket endpoint: `type: "websocket"`, `target: "wss://example.com/socket"`. The handshake alone is the check; add `wsMessage` to send a text message that must get a reply, and `keyword` to check that reply. Credentials go in `headers`, never in `wsMessage`.
- Cron job or backup: `type: "heartbeat"`; `graceSec` is how late a ping may be. Give the user the ping URL from `openuptime:get_monitor`.
- Database or cache: `postgres`, `mysql` or `redis` with a connection target the user provided. Never invent credentials.
- Alerts: attach `channelIds` from `openuptime:list_channels`. A monitor without channels does not notify anyone, so say so.
- Several regions: names come from `openuptime:list_regions`; only http, tcp and websocket monitors use them.

Verify with `openuptime:run_check` and report the real result, not an assumption.

Сообщить о проблеме