mcpField
B
Beget Hosting

Beget Hosting

本地服务
badigit.github.io云与基础设施31 天前更新

关于 Beget Hosting

Beget Hosting 是供 AI Agent 管理 Beget 托管服务的 MCP 服务,提供 73 个工具,涵盖网站、域名、DNS、数据库、邮件、备份及账户操作。

主要功能

  1. 01管理网站和域名
  2. 02编辑 DNS 记录
  3. 03管理 MySQL 和 FTP
  4. 04安排 cron 任务
  5. 05管理邮件和备份
  6. 06查看统计与账户信息

适用场景

  1. 01部署或删除托管网站
  2. 02更新 DNS 和域名设置
  3. 03管理数据库、FTP 和定时任务
  4. 04检查备份、邮件及托管用量

MCP 相关

向 MCP 客户端提供覆盖 Beget REST API 操作的 73 个工具。使用 Beget API 登录名和密码进行身份验证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"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>"
}
}
}
}
启动命令uvx beget-mcp
需要配置的环境变量
BEGET_API_LOGINBeget account login
BEGET_API_PASSWORD密钥Beget 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.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypibeget-mcp0.2.0
ocighcr.io/badigit/beget-mcp:0.2.0

工具

73

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

beget-mcp

用于通过 AI Agent 管理主机服务商 Beget 服务的 MCP 服务。

基于 FastMCP 构建,覆盖全部 Beget REST API——包含 10 个类别中的 73 个工具。

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 服务以 io.github.badigit/beget-mcp 这一名称发布在 MCP Registry 中。项目主页:https://badigit.github.io/beget-mcp/.

功能

类别工具操作示例
网站8创建、删除、绑定域名、冻结文件
域名13管理、子域名、PHP 版本、指令、可用性检查
DNS8A、CNAME、MX、TXT——安全合并;通过 dns_patch_record 部分更新;dns_verify 与权威 NS 上的实际记录核对
MySQL6数据库、主机访问权限、密码
FTP4账号、主目录
Cron7任务、计划、启用、电子邮件报告
备份9查看内容、回滚、导出文件和数据库
邮件12邮箱、密码、垃圾邮件过滤器、转发、catch-all、一次性配置 Yandex 360 / Mail.ru
统计4网站和数据库负载——汇总与详细统计
账号2套餐、余额、SSH 访问

文档

文件内容
docs/api-coverage.mdBeget API 方法覆盖情况
docs/beget-api-gotchas.mdAPI 易踩的坑:success 响应封装错误等
docs/dns-facts-vs-intent.mdDNS:未创建的子域名、catch-all 区域、传播延迟
docs/new-app-deploy-chain.md在共享主机上部署新应用的调用链

发布与部署

  • 推送到 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_LOGINBeget 登录名
BEGET_API_PASSWORDBeget 密码

架构

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

贡献

欢迎提交 Issues 和 pull requests。如果发现错误或想提出改进建议,请创建 issue。

许可证

MIT


还没有 Beget 账号?通过此链接注册——您将获得主机服务,项目作者也会得到一笔小额奖励。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。