beget-mcp — MCP-сервер для хостинга Beget
Управление сервисами Beget из AI-агентов по Model Context Protocol: 73 инструмента, полное покрытие Beget REST API.
Исходники и установка — github.com/badigit/beget-mcp.
Установка
pip install -e .
claude mcp add beget -s user \
-e BEGET_API_LOGIN=your_login \
-e BEGET_API_PASSWORD=your_password \
-- python -m mcp_beget
Инструменты
| Раздел | Инструменты | Примеры операций |
|---|---|---|
| Сайты | 8 | создание, удаление, привязка доменов, заморозка файлов |
| Домены | 13 | управление, поддомены, PHP-версии, директивы, проверка доступности |
| DNS | 8 | A, CNAME, MX, TXT безопасным merge; dns_verify сверяет факт у авторитативного NS |
| MySQL | 6 | базы, доступы с хостов, пароли |
| FTP | 4 | аккаунты, домашние каталоги |
| Cron | 7 | задачи, расписание, активация, email-отчёты |
| Бэкапы | 9 | просмотр содержимого, откат, выгрузка файлов и БД |
| Почта | 12 | ящики, пароли, спам-фильтр, пересылка, catch-all, настройка Яндекс 360 / Mail.ru |
| Статистика | 4 | нагрузка по сайтам и БД |
| Аккаунт | 2 | тариф, баланс, SSH-доступ |
Чем отличается от голого API
Beget dns/changeRecords заменяет зону целиком: запись одного типа стирает все
остальные. Инструменты DNS делают read-merge-write и отказываются писать, если
зону не удалось прочитать. Ошибка метода у Beget приезжает внутри
success-конверта (HTTP 200, status: success, answer.status: error) — клиент
это распознаёт и райзит, иначе except никогда не срабатывает, а зона
затирается молча.
Документация
- Покрытие Beget API — какие методы закрыты
- Грабли Beget API — ошибка в success-конверте, невидимые www-алиасы, имена параметров, которые легко угадать неверно
- DNS: намерение против факта — несозданный поддомен, catch-all зоны, задержка распространения
- Цепочка деплоя нового приложения — порядок вызовов от поддомена до PHP-версии