MCP server: One MCP server.

Beget Hosting

@badigitMCP server · External

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

Domain namesv0.2.0MITPython
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPIbeget-mcpv0.2.0

Run

uvx beget-mcp

MCP client config

{
  "mcpServers": {
    "beget-hosting": {
      "command": "uvx",
      "args": [
        "beget-mcp"
      ]
    }
  }
}
Dockerghcr.io/badigit/beget-mcp:0.2.0

Run

docker run -i --rm ghcr.io/badigit/beget-mcp:0.2.0

MCP client config

{
  "mcpServers": {
    "beget-hosting": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/badigit/beget-mcp:0.2.0"
      ]
    }
  }
}
README2 min read

beget-mcp

MCP-сервер для управления сервисами хостера Beget из AI-агентов.

Построен на FastMCP и покрывает весь Beget REST API — 73 инструмента в 10 разделах.

Model Context Protocol (MCP) — открытый стандарт для подключения AI-моделей к внешним сервисам.

Быстрый старт

Из PyPI, без установки в систему:

bash
claude mcp add beget -s user \
  -e BEGET_API_LOGIN=your_login \
  -e BEGET_API_PASSWORD=your_password \
  -- uvx beget-mcp

Контейнером (образ по умолчанию поднимает SSE — локальному клиенту нужен stdio):

bash
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

Из исходников:

bash
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? Зарегистрируйтесь по ссылке — вы получите хостинг, а автор проекта небольшой бонус.

Similar modules

Browse Domain names