Beget Hosting
Beget hosting: sites, domains, DNS, MySQL, FTP, cron, backups, mail — 73 tools
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
beget-mcpclaude mcp add beget-hosting -e 'BEGET_API_LOGIN=<BEGET_API_LOGIN>' -e 'BEGET_API_PASSWORD=<your beget_api_password>' -- uvx beget-mcp==0.2.0
{
"mcpServers": {
"beget-hosting": {
"command": "uvx",
"args": [
"beget-mcp==0.2.0"
],
"env": {
"BEGET_API_LOGIN": "<BEGET_API_LOGIN>",
"BEGET_API_PASSWORD": "<your beget_api_password>"
}
}
}
}
Variables d'environnement
BEGET_API_LOGINobligatoire Beget account loginBEGET_API_PASSWORDobligatoire secret Beget account password (API access must be enabled in the panel)
ghcr.io/badigit/beget-mcp:0.2.0claude mcp add beget-hosting -e 'BEGET_API_LOGIN=<BEGET_API_LOGIN>' -e 'BEGET_API_PASSWORD=<your beget_api_password>' -e 'MCP_TRANSPORT=stdio' -- docker run -i --rm ghcr.io/badigit/beget-mcp:0.2.0
{
"mcpServers": {
"beget-hosting": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/badigit/beget-mcp:0.2.0"
],
"env": {
"BEGET_API_LOGIN": "<BEGET_API_LOGIN>",
"BEGET_API_PASSWORD": "<your beget_api_password>",
"MCP_TRANSPORT": "stdio"
}
}
}
}
Variables d'environnement
BEGET_API_LOGINobligatoire Beget account loginBEGET_API_PASSWORDobligatoire secret Beget account password (API access must be enabled in the panel)MCP_TRANSPORTobligatoire Transport: stdio for local clients, sse for a shared HTTP deployment. The image defaults to sse, so stdio clients must set this.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
beget-mcp
MCP-сервер для управления сервисами хостера Beget из AI-агентов.
Построен на FastMCP и покрывает весь Beget REST API — 73 инструмента в 10 разделах.
Model Context Protocol (MCP) — открытый стандарт для подключения AI-моделей к внешним сервисам.
Быстрый старт
Из PyPI, без установки в систему:
claude mcp add beget -s user \
-e BEGET_API_LOGIN=your_login \
-e BEGET_API_PASSWORD=your_password \
-- uvx beget-mcp
Контейнером (образ по умолчанию поднимает SSE — локальному клиенту нужен stdio):
docker run -i --rm \
-e MCP_TRANSPORT=stdio \
-e BEGET_API_LOGIN=your_login \
-e BEGET_API_PASSWORD=your_password \
ghcr.io/badigit/beget-mcp:latest
Из исходников:
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
Сервер публикуется в MCP Registry под именем
io.github.badigit/beget-mcp. Страница проекта — https://badigit.github.io/beget-mcp/.
Что умеет
| Раздел | Инструменты | Примеры операций |
|---|---|---|
| Сайты | 8 | создание, удаление, привязка доменов, заморозка файлов |
| Домены | 13 | управление, поддомены, PHP-версии, директивы, проверка доступности |
| DNS | 8 | A, CNAME, MX, TXT — безопасный merge; частичное обновление через dns_patch_record; dns_verify сверяет факт у авторитативного NS |
| MySQL | 6 | базы, доступы с хостов, пароли |
| FTP | 4 | аккаунты, домашние каталоги |
| Cron | 7 | задачи, расписание, активация, email-отчёты |
| Бэкапы | 9 | просмотр содержимого, откат, выгрузка файлов и БД |
| Почта | 12 | ящики, пароли, спам-фильтр, пересылка, catch-all, one-shot-настройка Яндекс 360 / Mail.ru |
| Статистика | 4 | нагрузка по сайтам и БД — сводная и детальная |
| Аккаунт | 2 | тариф, баланс, SSH-доступ |
Документация
| Файл | О чём |
|---|---|
| docs/api-coverage.md | покрытие методов Beget API |
| docs/beget-api-gotchas.md | грабли API: ошибка в success-конверте и прочее |
| docs/dns-facts-vs-intent.md | DNS: несозданный поддомен, catch-all зоны, задержка распространения |
| docs/new-app-deploy-chain.md | цепочка вызовов для нового приложения на shared-хостинге |
Релиз и деплой
- push в
main= выкатка на боевой хост..github/workflows/deploy.ymlдёргает на VPS forced-commanddeploy, который пересобирает контейнер из/opt/beget-mcp. Отдельного ручного шага нет — правка вmainуезжает на прод сама. - тег
vX.Y.Z= публикация пакетов.publish-mcp.ymlгонит тесты и заливает PyPI (trusted publishing), GHCR и MCP Registry — всё по OIDC, без секретов. Версия обязана совпадать вpyproject.toml,server.jsonи теге: workflow сверяет их до заливки, потому что версию на PyPI не перезалить.
Переменные окружения
| Переменная | Назначение |
|---|---|
BEGET_API_LOGIN | Логин Beget |
BEGET_API_PASSWORD | Пароль Beget |
Архитектура
src/mcp_beget/
├── app.py — экземпляр FastMCP
├── config.py — конфигурация (dataclass + валидация)
├── client.py — HTTP-клиент с переиспользованием сессии
├── errors.py — типизированные исключения (Auth / API)
├── server.py — точка входа, инициализация, логирование
└── tools/ — инструменты, сгруппированные по разделам API
Требования
- Python >= 3.11
- mcp[cli]
- requests
- python-dotenv
Contributing
Issues и pull requests приветствуются. Если нашли баг или хотите предложить улучшение — создайте issue.
Лицензия
Нет аккаунта на Beget? Зарегистрируйтесь по ссылке — вы получите хостинг, а автор проекта небольшой бонус.
Questions fréquentes
Qu'est-ce que Beget Hosting ?
Beget hosting: sites, domains, DNS, MySQL, FTP, cron, backups, mail — 73 tools
Comment installer Beget Hosting ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add beget-hosting -e 'BEGET_API_LOGIN=<BEGET_API_LOGIN>' -e 'BEGET_API_PASSWORD=<your beget_api_password>' -- uvx beget-mcp==0.2.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Beget Hosting ?
Oui. Il attend BEGET_API_LOGIN, BEGET_API_PASSWORD, MCP_TRANSPORT, à renseigner dans sa configuration.
Beget Hosting est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Beget Hosting ?
Il est publié par badigit. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.