mcpField
B
Beget Hosting

Beget Hosting

Local
badigit.github.ioCloud & Infra3Updated 1d ago

About Beget Hosting

Beget Hosting is an MCP server for managing Beget hosting services through AI agents. It groups 73 tools across sites, domains, DNS, databases, mail, backups, and account operations.

Key features

  1. 01Manage sites and domains
  2. 02Edit DNS records
  3. 03Administer MySQL and FTP
  4. 04Schedule cron jobs
  5. 05Manage mail and backups
  6. 06View statistics and account details

Use cases

  1. 01Deploying or removing hosted sites
  2. 02Updating DNS and domain settings
  3. 03Managing databases, FTP, and scheduled jobs
  4. 04Reviewing backups, mail, and hosting usage

MCP support

Exposes 73 tools covering Beget REST API operations to MCP clients. Authentication uses Beget API login and password.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"badigit-beget": {
"command": "uvx",
"args": [
"beget-mcp"
],
"env": {
"BEGET_API_LOGIN": "<BEGET_API_LOGIN>",
"BEGET_API_PASSWORD": "<BEGET_API_PASSWORD>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>"
}
}
}
}
Run commanduvx beget-mcp
Environment variables to set
BEGET_API_LOGINBeget account login
BEGET_API_PASSWORDSecretBeget account password (API access must be enabled in the panel)
MCP_TRANSPORTTransport: stdio for local clients, sse for a shared HTTP deployment. The image defaults to sse, so stdio clients must set this.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypibeget-mcp0.2.0
ocighcr.io/badigit/beget-mcp:0.2.0

Tools

73

Saved tool list · updated 2w ago

This tool takes no parameters.

Details

From the project README

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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.