cronstable MCP
Планировщик задач cronstable открывает агенту список заданий, историю запусков и разбор расписаний через MCP.
- 137 ★ репозитория
- Последний коммит
Расширенный доступ
Почему такой уровень
- В режиме чтения агент видит логи и метрики заданий; после отключения `readOnly` он запускает настроенные команды на сервере.
Установка
- Работает в
Ручная установка
pipx install cronstableСтавит планировщик с MCP-мостом. Серверный раздел `mcp` в конфигурации включают отдельно.
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- В режиме чтения агент видит логи и метрики заданий; после отключения `readOnly` он запускает настроенные команды на сервере.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
cronstable запускает команды по расписанию из YAML или crontab, а встроенный MCP-сервер показывает агенту состояние планировщика. Агент читает список заданий и статус, историю запусков, хвосты логов и метрики. Инструменты `cron_explain_schedule`, `cron_why_no_run` и `cron_validate_schedule` разбирают расписание тем же движком, что и демон: почему задание не запустилось в нужный момент и корректна ли запись. Сервер выключен по умолчанию и доступен двумя путями: `POST /mcp` на адресах веб-API демона и мост `cronstable mcp` для клиентов, которые запускают сервер как подпроцесс по stdio. В режиме чтения агент ничего не меняет. Если снять `readOnly`, ему становятся доступны запуск, отмена, пауза и возобновление заданий, а также управление цепочками задач.
Для кого. Администраторам и разработчикам, у которых на cronstable крутятся регламентные задачи и нужно быстро понять, почему задание упало или не стартовало.
Подходит, если
- Ночное задание не выполнилось, и агент по логам и истории ищет причину.
- Расписание в cron-формате хочется проверить до выкладки.
- Планировщик работает на сервере, а проверки идут из Claude Code на ноутбуке.
- Агент приостанавливает задание на время работ и потом возобновляет.
Не подходит, если
- Задания ведет другой планировщик: у MCP-сервера нет доступа к чужому расписанию.
- В логах заданий лежат секреты, а передавать их модели нельзя.
- Нужен запуск из мобильного клиента без доступа к демону.
Пример запроса к агенту
Почему задание backup-db не запустилось сегодня в 03:00? Покажи расписание, последние запуски и хвост лога.MCP
- Транспорт
- stdio, http
- Авторизация
- ключ необязателен
Переменные окружения
CRONSTABLE_WEB_TOKENсекрет- Токен веб-API демона, который защищает и конечную точку `/mcp`. Нужен, если в `web` задан `authToken`.
Ограничения
Сервер включается разделом `mcp` с `enabled: true` и требует раздел `web`, потому что работает на его адресах. Мост `cronstable mcp` не запускает демон: он только пересылает запросы работающему. Запись выключена, пока не задан `readOnly: false` и нужные наборы инструментов. Опасные вызовы требуют аргумент `confirm: true`, но запуск заданий выполняет настроенные команды на сервере. Токен веб-API защищает и `/mcp`, поэтому его хранят в переменной окружения. Хвосты логов попадают в контекст модели целиком.
Как отключить. Уберите раздел `mcp` из конфигурации или поставьте `enabled: false` и перезапустите демон. Запись для клиента удаляют командой `claude mcp remove cronstable`.
Частые вопросы
Может ли агент запускать и останавливать задания?
Только если вы отключили `readOnly` и включили набор `act`. По умолчанию сервер отдает чтение, а изменяющие вызовы требуют `confirm: true`.
Как подключить cronstable MCP к Claude Code?
Выполните `claude mcp add --transport stdio cronstable -- cronstable mcp --url http://127.0.0.1:8080 --token-env CRONSTABLE_WEB_TOKEN`. Для удаленного демона используйте `--transport http` и адрес `/mcp` с заголовком Authorization.
Что делают инструменты расписаний?
`cron_validate_schedule` проверяет запись, `cron_explain_schedule` объясняет ее по полям, а `cron_why_no_run` отвечает, почему задание не сработало в указанный момент.
Нужны ли дополнительные пакеты для MCP?
Нет. Сервер написан на чистом Python без новых зависимостей и входит в сам cronstable.
Где хранить токен для подключения?
В переменной окружения `CRONSTABLE_WEB_TOKEN`: мост читает ее через `--token-env`, и сам токен в команду не попадает.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыДемон mcpd запускает MCP-серверы из одного файла .mcpd.toml и отдает их агентам и скриптам как обычный HTTP API на локальном порту
Агент управляет серверами через каталог объявленных действий: политика решает, что выполнить, а что ждет человека
MCP-сервер для Kubernetes: агент читает состояние кластера, разбирает сбои подов и запускает операции через kubectl
SSH MCP Server (classfang) — команды на сервере по SSH
SSH MCP Server (classfang)
MCP-сервер для SSH: агент выполняет команды, читает и пишет файлы по SFTP, передает файлы и запускает долгие задачи, а пароли остаются у вас
Менеджер MCP-серверов на Node.js: запускает локальные и подключает удаленные серверы и отдает их клиенту одним адресом с REST API для управления
MCPM
mcpm
Менеджер пакетов и реестр MCP для всех платформ и клиентов: ищет, добавляет и настраивает MCP-серверы, запоминает источник и обновляет
Коротко о README
Протокол поддерживает несколько ревизий: клиент с `initialize` и клиент с ревизией без сессий 2026-07-28 подключаются без настройки. Сессий нет, заголовка `Mcp-Session-Id` сервер не выдает. В `example/mcp` лежит готовая сборка Docker Compose.