关于 Obambu cPanel MCP
Obambu cPanel MCP 通过 cPanel UAPI 将 AI 助手连接到 cPanel 托管账户。它提供域名、DNS、邮件、MySQL 和文件工具,并支持调用其他 UAPI 操作。
主要功能
- 01查看账户用量和统计信息
- 02管理域名与 DNS 记录
- 03列出和管理邮件账户
- 04创建数据库及数据库用户
- 05列出账户文件
- 06调用任意 UAPI 函数
适用场景
- 01切换域名前检查域名
- 02添加或审查 DNS 记录
- 03创建邮箱
- 04配置数据库并授予权限
- 05查看托管账户中的文件
MCP 相关
该服务将 cPanel UAPI 操作作为工具提供给 MCP 客户端。使用时需要 cPanel 账户和 API 令牌。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y obambu-cpanel-mcpCPANEL_HOSTcPanel server hostname or IP addressCPANEL_PORTcPanel API portCPANEL_USERNAMEcPanel account usernameCPANEL_API_TOKEN密钥cPanel API token (Security -> Manage API Tokens)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
16收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
obambu-cpanel-mcp
一个 Model Context Protocol(MCP)服务,可让 AI 助手(Claude 等)通过 cPanel UAPI 管理 cPanel 托管账户。
它提供用于管理域名、DNS 区域、电子邮件账户、MySQL 数据库和文件列表的工具,还提供通用的备用入口,可调用任何其他 UAPI 模块或函数。
要求
- Node.js 18+
- 具有 API 令牌访问权限的 cPanel 账户(在 cPanel 中选择 Security → Manage API Tokens)
获取 cPanel 凭据(以 Obambu 为例)
以下四个环境变量可来自任何 cPanel 主机,下面介绍如何在 Obambu 上查找:
CPANEL_HOST— 服务器主机名,例如cp4.obambu.com(如果可通过https://yourdomain.com:2083访问 cPanel,也可以使用自己的域名)。可在 Obambu 的欢迎邮件中找到;也可以在域名的 DNS 区域中查找名为cpanel的A记录(例如cpanel.yourdomain.com)——同一台服务器也可通过其cpX.obambu.com主机名访问。CPANEL_PORT—00000(cPanel 默认的 HTTPS 端口)。除非主机另有说明,否则请保持不变。CPANEL_USERNAME— cPanel 账户用户名。登录 cPanel 后可在右上角查看,也可在创建托管账户时 Obambu 发送的欢迎邮件中找到。CPANEL_API_TOKEN— 请自行生成一个,它不是 cPanel 密码:- 登录
https://<CPANEL_HOST>:00000上的 cPanel - 前往 Security → Manage API Tokens
- 点击 Create,为令牌命名(例如
mcp-server),可选择将其限制为特定 ACL,然后点击 Create - 立即复制令牌——cPanel 只会显示一次
- 登录
在 MCP 客户端中使用(推荐使用 npx)
此项目已发布到 npm,名称为 obambu-cpanel-mcp——无需克隆或构建。将其添加到 MCP 客户端配置中(例如 Claude Desktop / Claude Code):
{
"mcpServers": {
"obambu-cpanel": {
"command": "npx",
"args": ["-y", "obambu-cpanel-mcp"],
"env": {
"CPANEL_HOST": "your-server-hostname-or-ip",
"CPANEL_PORT": "00000",
"CPANEL_USERNAME": "your-cpanel-username",
"CPANEL_API_TOKEN": "your-api-token"
}
}
}
}
从源代码运行
git clone https://github.com/RodrigueDev13/obambu-cpanel-mcp.git
cd obambu-cpanel-mcp
npm install
cp .env.example .env
在 .env 中填写 cPanel 详细信息,然后:
npm run build
npm start
无需先构建即可进行本地开发:
npm run dev
从源代码运行时,请将 MCP 客户端指向构建后的入口点,而不是 npx:
{
"mcpServers": {
"obambu-cpanel": {
"command": "node",
"args": ["/absolute/path/to/obambu-cpanel-mcp/dist/index.js"],
"env": {
"CPANEL_HOST": "your-server-hostname-or-ip",
"CPANEL_PORT": "00000",
"CPANEL_USERNAME": "your-cpanel-username",
"CPANEL_API_TOKEN": "your-api-token"
}
}
}
}
可用工具
| 工具 | 描述 |
|---|---|
get_account_summary | 磁盘/带宽配额使用情况和常规统计信息 |
list_domains | 域名、子域名、附加域名和停放域名 |
list_dns_records | 读取域名的 DNS 区域 |
add_dns_record | 添加 DNS 记录 |
edit_dns_record | 编辑现有 DNS 记录 |
remove_dns_record | 删除 DNS 记录 |
list_emails | 列出电子邮件账户 |
create_email | 创建电子邮件账户 |
delete_email | 删除电子邮件账户 |
list_files | 列出账户主目录下的文件/目录 |
list_databases | 列出 MySQL 数据库 |
list_database_users | 列出 MySQL 数据库用户 |
create_database | 创建 MySQL 数据库 |
create_database_user | 创建 MySQL 数据库用户 |
grant_database_privileges | 授予用户对数据库的权限 |
cpanel_uapi_call | 直接调用任意 UAPI 模块/函数,以处理上述工具未涵盖的操作 |
使用示例
连接后,只需用自然语言与助手对话,它就会选择合适的工具:
- “测试与我的 cPanel 账户的连接” →
get_account_summary - “这个托管账户有哪些域名和子域名?” →
list_domains - “显示 example.com 的 DNS 记录” →
list_dns_records - “添加一条 A 记录,将 shop.example.com 指向 1.2.3.4” →
add_dns_record - “创建一个邮箱 [email protected]” →
create_email - “为我的新应用创建一个 MySQL 数据库和用户,然后授予权限” →
create_database+create_database_user+grant_database_privileges - “列出 public_html 中的文件” →
list_files - “读取 config/filesystems.php 并修复这个路径” →
cpanel_uapi_call,使用module: "Fileman", function: "get_file_content"/save_file_content
由于工具调用直接映射到 UAPI 模块,因此它也适用于实际的迁移/部署工作流,例如将网站迁移到新的 cPanel 账户、为新应用配置数据库,或在域名切换前审计 DNS。
关于 Fileman 的说明
已知可可靠地读取和写入单个文件的方式只有 list_files(由 Fileman::list_files 支持),以及通过 cpanel_uapi_call 这一备用入口调用 get_file_content / save_file_content。批量文件系统操作(extract_files、rename、mkdir、fileop、delete_files 等)能否使用取决于你的 cPanel 版本/服务提供商,无法保证;依赖这些操作前请先测试。批量移动、解压和删除时,建议使用 cPanel 的文件管理器界面。
安全
- 切勿提交
.env文件(默认情况下,该文件已被 git 忽略)。 - 根据服务提供商的限制,尽可能缩小 cPanel API 令牌的权限范围。
cpanel_uapi_call工具可以调用账户可用的任何 UAPI 函数,请像对待直接 API/令牌访问一样谨慎使用。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。