REG.RU MCP Server
REG.RU MCP Server lets you manage REG.RU domains, DNS, billing, services, DNSSEC, and folders through MCP tools, plus exposes account resources and helpful prompts.
Domains: check availability/prices, get suggestions, view/change NS servers
DNS: list, add, delete, and batch-update records (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA)
Services: list services, view details, renew, toggle auto-renewal
Billing: check balance and list unpaid bills
DNSSEC: get status, enable, or disable
Folders: list/create folders, get folder services, move services between folders (via related tools)
Resources: current balance, active services, TLD pricing, per-domain DNS records
Prompts: audit expiring services, configure domain for VPS, and check domain migration readiness
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@REG.RU MCP Server check if mydomain.ru is available and show the price"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
REG.RU MCP Server
MCP-сервер для REG.API 2.0: управление доменами, DNS, услугами, биллингом и DNSSEC через Model Context Protocol (stdio по умолчанию; опционально HTTP Streamable с обязательной аутентификацией).
Официальная документация API: https://www.reg.ru/reseller/api2doc
Возможности
Tools — проверка доменов, DNS-записи, услуги, баланс, DNSSEC, папки
Resources — баланс, активные услуги, цены TLD, DNS-зона домена
Prompts — аудит истекающих услуг, настройка домена под VPS, чеклист миграции
Related MCP server: dynadot-mcp
Требования
Node.js 18+ (для Docker — Node 20 Alpine)
Учётная запись Рег.ру с включённым API
Белый список IP в настройках API личного кабинета (иначе
ACCESS_DENIED_FROM_IP)
⚠️ Если в кабинете не добавлен ни один IP сервера, где крутится MCP, все вызовы будут отклонены. Без whitelist работа с API невозможна.
Партнёрские методы (Партнёры)
Часть методов REG.API доступна только партнёрам (reseller). Обычные клиенты получают RESELLER_AUTH_FAILED.
В этом MCP помечены как партнёрские:
Tool / API | Метод REG.API |
|
|
|
|
|
|
Для клиентских аккаунтов используйте одиночные DNS-инструменты (regru_add_dns_record / regru_delete_dns_record) вместо batch.
Папки
В официальном API нет folder/get_list. Доступны: nop, create, remove, rename, get_services, add_services, remove_services, replace_services, move_services, а также service/get_folders.
Tool | Метод |
|
|
|
|
|
|
|
|
|
|
Установка
git clone https://github.com/AlekMel/regru-mcp-server.git
cd regru-mcp-server
npm install
npm run buildСкопируйте .env.example в .env и укажите учётные данные (для локального запуска через tsx / отладки).
Песочница (sandbox)
Для безопасной проверки синтаксиса запросов:
REGRU_USERNAME=test
REGRU_PASSWORD=testВ режиме test/test Рег.ру валидирует параметры, но не создаёт заказы, не меняет DNS и не списывает средства.
Переменные окружения
Переменная | Обязательно | Описание |
| да | Логин API |
| да* | Пароль API (*или ключ) |
| нет | PEM-ключ или путь к файлу (RSA-SHA512 по официальному алгоритму подписи) |
| нет | Базовый URL API (по умолчанию |
| нет |
|
| да при | Длинный случайный секрет Bearer; без него HTTP не стартует |
| нет | Список IP/CIDR через запятую; иначе 403 |
| нет | Адрес bind (по умолчанию |
| нет | Порт HTTP (по умолчанию |
Также поддерживается алиас REGRU_API_BASE_URL.
Подпись RSA-SHA512 строится по официальному Perl-алгоритму: рекурсивный сбор скалярных значений параметров (включая username), пропуск пустых/нулевых/sig, лексикографическая сортировка, склейка через ;, затем RSA-SHA512 + Base64. Подпись считается по полному дереву параметров (до JSON.stringify для input_data). Поля username / password / sig всегда передаются на верхнем уровне формы, не внутри input_data.
Конфигурация Claude Desktop
Файл конфигурации (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"regru": {
"command": "node",
"args": ["/absolute/path/to/regru-mcp-server/dist/index.js"],
"env": {
"REGRU_USERNAME": "your_login",
"REGRU_PASSWORD": "your_api_password"
}
}
}
}Конфигурация Cursor
В настройках MCP (mcp.json / Cursor Settings → MCP):
{
"mcpServers": {
"regru": {
"command": "node",
"args": ["/absolute/path/to/regru-mcp-server/dist/index.js"],
"env": {
"REGRU_USERNAME": "your_login",
"REGRU_PASSWORD": "your_api_password"
}
}
}
}После сборки можно вызывать бинарь regru-mcp-server из package.json (bin), если пакет установлен глобально или через npx.
Безопасность / Coolify
Да: голый публичный HTTP MCP без токена — дыра в безопасности. Любой, кто достучится до /mcp, сможет вызывать инструменты от имени ваших учётных данных REG.RU.
Обязательно
MCP_TRANSPORT=httpСильный
MCP_AUTH_TOKEN(напримерopenssl rand -hex 32). Без него процесс завершится с кодом 1 и не откроет порт.Все запросы к
/mcpдолжны содержать заголовокAuthorization: Bearer <тот же токен>. Сравнение — черезcrypto.timingSafeEqual. Неверный/отсутствующий токен →401+WWW-Authenticate: Bearer(без утечки деталей).Эндпоинт
/healthzбез авторизации: отвечает200и теломok(только liveness для Coolify/Docker HEALTHCHECK). MCP там нет.
Рекомендуется дополнительно
Firewall Coolify / ограничение входящих портов
Cloudflare Access (или аналог) перед сервисом
MCP_ALLOWED_IPS— allowlist IP/CIDR клиентов (при отказе →403)Прокси (Coolify Traefik/Caddy) должен корректно выставлять
X-Forwarded-For; приложение включаетtrust proxy, чтобыreq.ipотражал клиента
Пример клиента с Bearer
{
"mcpServers": {
"regru-remote": {
"url": "https://your-coolify-host.example/mcp",
"headers": {
"Authorization": "Bearer YOUR_LONG_RANDOM_MCP_AUTH_TOKEN"
}
}
}
}(Точный формат url/headers зависит от клиента MCP; важно передать Bearer на каждый запрос к /mcp.)
Docker / Coolify
# Локально
export MCP_AUTH_TOKEN=$(openssl rand -hex 32)
export REGRU_USERNAME=...
export REGRU_PASSWORD=...
docker compose up --build -dВ Coolify: Dockerfile из репозитория, переменные окружения как в таблице выше. Не деплойте без MCP_AUTH_TOKEN.
Whitelist IP на стороне Reg.ru
Отдельно от MCP-auth: в личном кабинете REG.RU добавьте egress IP вашего VPS в белый список API. Иначе API вернёт ACCESS_DENIED_FROM_IP, даже если Bearer к MCP верный.
Tools
Tool | Описание |
| Проверка доступности доменов и цены (Партнёры: |
| Подбор имён по ключевому слову (Партнёры) |
| Текущие NS (делегирование) |
| Смена NS-серверов |
| Список ресурсных записей зоны |
| Добавить A/AAAA/CNAME/MX/TXT/NS/SRV/CAA |
| Удалить запись |
| Пакетное add/delete (Партнёры: |
| Список услуг |
| Детали услуги |
| Продление (биллинг) |
| Автопродление вкл/выкл |
| Баланс аккаунта |
| Неоплаченные счета |
| status / enable / disable |
| Услуги в папке ( |
| Папки услуги ( |
| Создать папку |
| Добавить услуги в папку |
| Перенос между папками ( |
Resources
URI | Описание |
| Текущий баланс |
| Активные услуги |
| Тарифы регистрации/продления по зонам |
| DNS-записи зоны |
Prompts
Prompt | Назначение |
| Услуги, истекающие за 30 дней + баланс |
| A/www/MX/SPF под IP VPS |
| NS, DNSSEC и сервис перед переносом |
Scripts
npm run build # компиляция TypeScript → dist/
npm run dev # запуск через tsx (stdio)
npm test # unit-тесты (Jest)
npm run lint # ESLintАрхитектура
Транспорт MCP: stdio (по умолчанию) или HTTP Streamable (
MCP_TRANSPORT=http, эндпоинт/mcp)HTTP к REG.API: HTTPS POST,
application/x-www-form-urlencoded, сложные структуры вinput_data(JSON)Аутентификация не кладётся внутрь
input_dataRSA-подпись по полному дереву параметров (см. официальные docs)
Token-bucket rate limiter (~18 req/min)
Очередь для биллинг-операций (защита от
BILLING_LOCK)Нормализация IDN → Punycode
Лицензия
MIT — см. LICENSE.
Available Tools
18 toolsregru_add_dns_recordC
Add a DNS resource record to a domain zone. Supports A, AAAA, CNAME, MX, TXT, NS, SRV, CAA record types.
Inputs: content (required), subdomain (required), domain_name (required), record_type (required), +2 more.
regru_batch_update_dnsB
Perform multiple DNS record operations (add/delete) in a single batch request.
Inputs: actions (required), domain_name (required).
regru_check_domainsB
Check domain availability and get prices for one or more domains. Returns availability status and pricing information for each domain.
Inputs: domains (required), currency.
regru_create_folderB
Create a new folder to organize services.
Inputs: folder_name (required).
regru_delete_dns_recordC
Delete a DNS resource record from a domain zone.
Inputs: subdomain (required), domain_name (required), record_type (required), content.
regru_get_balanceB
Get current account balance in the specified currency.
Inputs: currency.
regru_get_dns_recordsB
Get all DNS resource records for a domain zone.
Inputs: domain_name (required).
regru_get_domain_dnsC
Get current DNS name servers (NSS) for a domain.
Inputs: domain_name (required).
regru_get_service_infoB
Get detailed information about a service by service ID or domain name.
Inputs: service_id, domain_name.
regru_get_unpaid_billsB
Get a list of all unpaid bills in the account.
Inputs: no named parameters.
regru_list_foldersA
List all folders in the account used to organize services.
Inputs: no named parameters.
regru_list_servicesB
List all services in the account. Optionally filter by service type (domain, hosting, etc.).
Inputs: servtype.
regru_manage_dnssecA
Manage DNSSEC for a domain: check status, enable, or disable DNSSEC.
Inputs: action (required), domain_name (required).
regru_move_service_to_folderC
Move a service to a specific folder for organization.
Inputs: folder_id (required), service_id (required).
regru_renew_serviceB
Renew a service (domain, hosting, etc.) for a specified period. This is a billing operation.
Inputs: service_id (required), period, ok_if_no_money.
regru_set_autorenewC
Enable or disable automatic renewal for a service.
Inputs: flag (required), service_id (required).
regru_suggest_domainsC
Get domain name suggestions based on a keyword. Returns a list of available similar domains.
Inputs: word (required).
regru_update_domain_dnsC
Update DNS name servers (NSS) for a domain. Changes the authoritative name servers.
Inputs: nss (required), domain_name (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Each tool has a distinct, clearly described purpose: domain availability vs. suggestions, name servers vs. DNS records, individual vs. batch DNS operations, and service/billing/folder management are all separable. The only potential overlaps (e.g., get_domain_dns vs. get_dns_records, or batch_update_dns vs. add/delete) are explicitly differentiated by their descriptions.
All tool names use a consistent snake_case pattern with the regru_ prefix and verb_noun structure. Minor variations like manage_dnssec or set_autorenew still fit the overall convention and remain predictable.
At 18 tools, the set is slightly above the typical well-scoped range but each tool maps to a meaningful operation across DNS, services, billing, and folders. No tools appear redundant or purely filler, though the count is on the heavy side.
The DNS and service-management surfaces cover get/add/delete, renew, autorenew, and folder organization, but domain registration/purchase and service cancellation/deletion are absent. Also, DNS records lack a direct update tool, forcing delete-and-add workarounds for record modifications.
Related MCP Connectors
MCP server for DNSimple — domains, DNS zone records, availability, pricing and contacts.
Check domains, read domains and DNS zones, and update DNS zone records in Realtime Register.
Domain availability, WHOIS and DNS for any TLD (.ru, .рф, .com…), straight from registries.
Register, transfer and manage domain names and DNS from your AI agent.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides integration with the Namecheap API for domain management operations, including domain listing, availability checks, and nameserver configuration. It allows users to interact with their Namecheap account through natural language commands in MCP-compatible clients.320 npm20MIT
- AlicenseBqualityBmaintenanceMCP server for Dynadot domain registrar API3 — manage domains, DNS, contacts, transfers & more67106 npm1MIT
- AlicenseAqualityFmaintenanceAgentDomain MCP allows AI agents to register, buy, and manage internet domains via the Model Context Protocol. Features include domain search, availability check, purchase, DNS record management, and wallet operations.1390 PyPI3MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for Internet.bs domain registrar API. Enables checking availability, registering, renewing, and managing domains and DNS from Claude or any MCP client.MIT