websupport-mcp
websupport-mcp
MCP-сервер (TypeScript, ESM, stdio), оборачивающий REST API v1 + v2 Websupport — DNS, FTP, хостинг, базы данных, почтовые ящики, VPS и счета — предоставляемый как инструменты MCP с подписанной HMAC-SHA1 аутентификацией.
Статус: в разработке. Все 50 инструментов реализованы, и сервер работает. Осталось проверить на аккаунте с реальными ресурсами, упаковать и выпустить. См. IMPLEMENTATION_PLAN.md для прогресса.
Уровни риска
Инструменты регистрируются в трёх уровнях, и уровень ограничивает регистрацию — развёртывание только для чтения вообще не видит инструмент записи в tools/list, поэтому оно не тратит контекст клиента и не предоставляет никаких возможностей.
Уровень | Опция включения | Дополнительный шлюз на вызов | Сейчас |
| всегда включено | — | 30 инструментов |
|
| — | 13 инструментов |
|
|
| 7 инструментов |
Инструмент является destructive, если он уничтожает состояние, которое нельзя дёшево воссоздать — не просто потому, что он пишет. Мягкая перезагрузка VPS — это write; жёсткое выключение питания — destructive, потому что оно может повредить незавершённые записи. Создание снимка — write; восстановление — destructive, потому что оно отбрасывает всё, что было после.
Две опции включения независимы: WEBSUPPORT_ALLOW_DESTRUCTIVE=1 сам по себе не разблокирует инструменты записи, и наоборот.
Аргумент confirm: true, а не MCP-элиситация, является границей безопасности. Согласование протокола может остановиться на версии значительно ниже той, что поддерживает элиситацию — SDK этого сервера в настоящее время ограничен версией 2025-11-25 — и шлюз, который исчезает при работе со старым клиентом, не является шлюзом.
Related MCP server: cpanel-mcp
Установка
Ещё не опубликовано. Чтобы запустить из локальной копии:
npm install
npm run buildЗатем укажите на него MCP-клиент:
Требуется Node >= 22.
{
"mcpServers": {
"websupport": {
"command": "node",
"args": ["/absolute/path/to/websupport-mcp/dist/index.js"],
"env": {
"WEBSUPPORT_API_KEY": "…",
"WEBSUPPORT_API_SECRET": "…"
}
}
}
}Учётные данные
Создайте пару доступа к API Standard в WebAdmin (Security → API keys). Пара только для DynDNS аутентифицируется на /nic/update и ни на чём другом.
Переменная | Обязательна | По умолчанию | Примечания |
| да | — | Идентификатор пары. |
| да | — | Секрет пары. Используется для подписи HMAC-SHA1; никогда не логируется и не возвращается в ошибке. |
| нет |
| Выбор рынка — см. ниже. |
| нет |
| Одно из |
| нет | выкл | Установите |
| нет | выкл | Установите |
Скопируйте .env.example для локальной разработки. .env игнорируется git.
Рынки
Websupport — региональный бренд team.blue/Loopia, поэтому хост API выбирает рынок. Одно и то же приложение обслуживает каждый хост — GET /v2/docs/openapi.json байт-в-байт одинаков на всех — так что переключение рынков — это конфигурация, а не изменение кода.
Рынок |
|
Словакия (по умолчанию) |
|
Чехия |
|
Венгрия |
|
Швеция |
|
Неопознанный хост выводит предупреждение в stderr и всё равно используется, поэтому недавно добавленный рынок работает без ожидания релиза.
Документация
Документ | Что содержит |
Каждый инструмент: уровень, метод + путь, требование confirm. Сгенерировано из реестра — никогда не редактируется вручную. | |
Что фактически доказано о каждом инструменте, а что нет. Прочтите это, прежде чем доверять любому инструменту в производстве. |
Область применения
Создание заказов и конечные точки оплаты счетов/заказов намеренно вне области применения и проверяются тестами на отсутствие. CRUD записей DNS v1 и CRUD FTP-аккаунтов v1 устарели на стороне провайдера и не предоставляются — инструменты v2 покрывают оба.
Разработка
npm test # offline suite
npm run test:network # live, unauthenticated probes (market hosts + OpenAPI drift)
npm run typecheck
npm run lint
npm run buildСетевые наборы тестов намеренно разделены: сбой Websupport не должен приводить к падению сборки.
Инструментарий
Node >= 22 для запуска или сборки. Node 20 достиг конца жизни 2026-04-30 и не поддерживается. CI покрывает две действующие линии LTS, 22 и 24, и собирает и проводит дымовые тесты пакета на каждой.
Для сборки также нужен npm >= 11: npm 10 не может разрешить дерево зависимостей бандлера и падает с бесполезной ошибкой Cannot read properties of null (reading 'edgesOut'). Если вы столкнулись с этим, обновите npm, а не отлаживайте репозиторий.
Безопасность
Учётные данные, которые хранит этот сервер, дают полный контроль над аккаунтом Websupport — не существует пары API только для чтения. SECURITY.md описывает, как они обрабатываются, какие инструменты возвращают чувствительные данные и как сообщить об уязвимости конфиденциально.
Вклад
См. CONTRIBUTING.md. Обратите внимание на две границы, обеспечиваемые тестами, а не ревью: никаких конечных точек заказов или платежей, и каждый разрушительный инструмент должен объявлять confirm: true.
Лицензия
MIT — см. LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server to help manage a WHMCS installation.623919MIT
- AlicenseNot gradedqualityFmaintenanceA comprehensive MCP server for managing cPanel web hosting accounts via UAPI, enabling file, database, email, domain, cron, backup, and system monitoring operations.213MIT
- AlicenseBqualityCmaintenanceMCP server for the adm.tools / ukraine.com.ua hosting API, providing tools to manage hosting services, accounts, sites, and web apps.51MIT
- AlicenseAqualityCmaintenanceMCP server for the DreamHost API that enables DNS management (list, add, remove records) and API metacommands.5MIT
Related MCP Connectors
Agent-first web hosting: deploy sites, apps, databases and domains over MCP.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
A basic MCP server to operate on the Postman API.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tydung26/websupport-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server