websupport-mcp
websupport-mcp
一个封装 Websupport REST API v1 + v2 的 MCP 服务器(TypeScript、ESM、stdio)——涵盖 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 的 elicitation 机制。协议协商可能最终落在远低于支持 elicitation 的修订版本——本服务器的 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": "…"
}
}
}
}凭据
在 WebAdmin(Security → API keys)中生成一个标准 API 访问密钥对。仅限 DynDNS 的密钥对只能通过 /nic/update 进行身份验证,其他任何操作都不行。
变量 | 必填 | 默认值 | 说明 |
| 是 | — | 该密钥对的标识符。 |
| 是 | — | 该密钥对的机密。用于 HMAC-SHA1 签名;绝不会被记录,也绝不会在错误中返回。 |
| 否 |
| 市场选择——见下文。 |
| 否 |
|
|
| 否 | 关闭 | 设为 |
| 否 | 关闭 | 设为 |
复制 .env.example 用于本地开发。.env 已被 git 忽略。
市场
Websupport 是 team.blue/Loopia 旗下的区域性品牌,因此 API 主机决定了所面向的市场。同一个应用服务于所有主机——GET /v2/docs/openapi.json 在所有主机上逐字节相同——因此切换市场只是配置变更,绝非代码改动。
市场 |
|
斯洛伐克(默认) |
|
捷克 |
|
匈牙利 |
|
瑞典 |
|
无法识别的主机名会向 stderr 发出警告,但仍会被使用,因此新增加的市场无需等待发布即可使用。
文档
文档 | 内容 |
每个工具:等级、方法 + 路径、confirm 要求。由注册表生成——绝不手工编辑。 | |
关于每个工具已经实际验证了什么、尚未验证什么。在生产环境中信任任何工具之前,请先阅读。 |
范围
订单创建以及发票/订单支付端点被有意排除在范围之外,并通过测试断言其不存在。v1 DNS 记录 CRUD 和 v1 FTP 账户 CRUD 已在上游弃用,因此未暴露——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 覆盖 22 和 24 这两个活跃的 LTS 系列,并在每个系列上构建打包产物并运行冒烟测试。
构建还需要 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