Beget Hosting

Beget hosting: sites, domains, DNS, MySQL, FTP, cron, backups, mail — 73 tools

DatabasesPythonv0.2.0

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-версии, директивы, проверка доступности
DNS8A, CNAME, MX, TXT — безопасный merge; частичное обновление через dns_patch_record; dns_verify сверяет факт у авторитативного NS
MySQL6базы, доступы с хостов, пароли
FTP4аккаунты, домашние каталоги
Cron7задачи, расписание, активация, 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.mdDNS: несозданный поддомен, catch-all зоны, задержка распространения
docs/new-app-deploy-chain.mdцепочка вызовов для нового приложения на shared-хостинге

Релиз и деплой

  • push в main = выкатка на боевой хост. .github/workflows/deploy.yml дёргает на VPS forced-command deploy, который пересобирает контейнер из /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.

Лицензия

MIT


Нет аккаунта на Beget? Зарегистрируйтесь по ссылке — вы получите хостинг, а автор проекта небольшой бонус.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx beget-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-badigit-beget-mcp": {
      "command": "uvx",
      "args": [
        "beget-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

beget-mcppypi

Compatible MCP Clients

Beget Hosting works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More