Beget Hosting
Beget hosting: sites, domains, DNS, MySQL, FTP, cron, backups, mail — 73 tools
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «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>"
}
}
}
}
متغيرات البيئة
BEGET_API_LOGINإلزامي Beget account loginBEGET_API_PASSWORDإلزامي سري 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"
}
}
}
}
متغيرات البيئة
BEGET_API_LOGINإلزامي Beget account loginBEGET_API_PASSWORDإلزامي سري Beget account password (API access must be enabled in the panel)MCP_TRANSPORTإلزامي Transport: stdio for local clients, sse for a shared HTTP deployment. The image defaults to sse, so stdio clients must set this.
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
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? Зарегистрируйтесь по ссылке — вы получите хостинг, а автор проекта небольшой бонус.
الأسئلة الشائعة
ما هو Beget Hosting؟
Beget hosting: sites, domains, DNS, MySQL, FTP, cron, backups, mail — 73 tools
كيف أثبّت Beget Hosting؟
يعمل على جهازك. في 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. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Beget Hosting إلى مفتاح API؟
نعم. يتطلب BEGET_API_LOGIN, BEGET_API_PASSWORD, MCP_TRANSPORT، وتضبطها في إعداداته.
هل Beget Hosting مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Beget Hosting؟
ينشره badigit. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.