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/.
Что умеет
Документация
Релиз и деплой
- 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 не перезалить.
Переменные окружения
Архитектура
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? Зарегистрируйтесь по ссылке — вы получите хостинг, а автор проекта небольшой бонус.