Beget Hosting

io.github.badigitPublished by GitHub account badigitv0.2.0Updated Oct 24, 2026

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

Overview

AI-generated overview

Lets an assistant manage Beget shared hosting — sites, domains, DNS, MySQL, FTP, cron, backups, mail and account stats — through 73 tools.

What you can do
Wraps the Beget hosting REST API in 73 tools across ten sections: sites (create, delete, attach domains, freeze files), domains and subdomains, DNS records with safe merge and verification, MySQL databases and host access, FTP accounts, cron jobs, backups (inspect, restore, download files and databases), mailboxes and spam settings, load statistics, and account plan, balance and SSH access.
When to use it
Useful when an assistant should operate a Beget hosting account directly: provisioning or removing sites, editing DNS or mail settings, managing databases and cron jobs, or checking backups and resource usage without opening the control panel.
Requirements
Runs locally over stdio, either from PyPI with uvx (Python 3.11 or newer) or as a container image; the image defaults to SSE, so stdio clients must set MCP_TRANSPORT=stdio. Requires a Beget account with API access enabled in the panel, plus BEGET_API_LOGIN and BEGET_API_PASSWORD. Network access to the Beget API is needed.
Before you install
The server holds full account credentials (BEGET_API_LOGIN, BEGET_API_PASSWORD) and can perform destructive operations: deleting sites, restoring backups, changing DNS records, database passwords and mail settings. Treat the password as a high-value secret and prefer a dedicated API credential. The README notes that pushing to the main branch deploys straight to the author's production host, which is a project detail rather than a user setting.

Installation

In SourceWeft

  1. Open Beget Hosting in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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

Source: README.md at commit 05c0d4a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts