WHMCS MCP服务器
WHMCS的首个生产级AI集成。 将ChatGPT、Claude和Cursor直接连接到您的WHMCS安装——通过自然语言管理客户端、发票、票证和服务。
You: "Send a payment reminder to all clients with overdue invoices over $50"
AI: Fetching overdue invoices... Found 12. Sending reminder emails... Done. ](https://hub.docker.com/r/daddariotech/whmcs-mcp) 
______________________________________________________________________
先决条件-WHMCS API设置
在运行安装程序之前,您需要具有正确权限的WHMCS API凭据。
1.创建API角色
在WHMCS管理中: 设置→ 员工管理→ API角色→ 添加角色
根据您对AI的信任程度选择权限预设:
最小权限(只读——AI可以查看但不能触摸): GetClients GetClientsDetails GetClientsProducts GetClientsDomains GetClientsAddons GetClientGroups GetContacts GetEmails GetInvoice GetInvoices GetOrders GetOrderStatuses GetProducts GetTicket GetTickets GetSupportDepartments GetQuotes GetCredits GetTransactions GetStats GetActivityLog GetCancelledPackages GetEmailTemplates GetCurrencies GetPaymentMethods GetHealthStatus GetProductGroups GetRegistrars GetServers GetAffiliates GetAnnouncements GetSupportStatuses GetTicketCounts GetTicketPredefinedCats GetAdminUsers GetToDoItems GetToDoItemStatuses GetStaffOnline DomainWhois DomainGetNameservers DomainGetLockingStatus GetTLDPricing GetPromotions
最大权限(完全访问权限——AI可以执行任何操作): 以上所有内容,加上: AddClient UpdateClient AddClientNote AddContact UpdateContact CreateInvoice AddInvoicePayment AddOrder AcceptOrder CancelOrder OpenTicket AddTicketReply UpdateTicket CreateQuote UpdateQuote SendQuote AcceptQuote DeleteQuote AddCredit ApplyCredit AddBillableItem SendEmail UpdateClientProduct ModuleSuspend ModuleUnsuspend ModuleTerminate ModuleCreate UpgradeProduct RegisterDomain TransferDomain RenewDomain DomainUpdateNameservers DomainUpdateLockingStatus DomainToggleIdProtect FraudOrder PendingOrder UpdateInvoice ModuleChangePw LogActivity AddTicketNote AffiliateActivate
提示: 从最低权限开始,仅在需要时添加写入权限。这限制了AI客户端失控或收到错误提示时的爆炸半径。
2.设置API访问密钥(推荐)
访问密钥完全绕过IP限制——这是推荐的方法,因为MCP服务器的出站IP可以更改(Docker重启、服务器移动等)。
将此行添加到您的 configuration.php 在WHMCS根中:
$api_access_key = 'your-secret-passphrase';允许的字符:字母、数字和 ! @ # $ % . ( ) * [ ] - _然后设置 WHMCS_ACCESS_KEY 在你的 .env 或Portainer堆栈。
3.创建API凭证
设置→ 员工管理→ API证书→ 生成新凭据
- 角色:选择您刚才创建的角色
- 允许的IP:如果使用访问密钥(推荐),请留空,如果您更喜欢基于IP的限制,请输入服务器IP
- 复制 标识符 和 秘密 --安装过程中需要这些
______________________________________________________________________
快速启动-在5分钟内运行
二进制(不需要Docker):
curl -fsSL https://daddar.io/whmcs-mcp/install.sh | sudo bash提示您输入WHMCS凭据和许可证密钥,将二进制文件安装到 /usr/local/bin,并注册systemd服务。
Docker(建议已运行Docker的服务器使用):
curl -fsSL https://daddar.io/whmcs-mcp/install-docker.sh | bash提示输入凭据,写入 .env,并通过Docker Compose启动堆栈。
______________________________________________________________________
获取许可证
在以下网址购买许可证 daddar.io/store/ai-tools/whmcs-mcp --签出后,您的许可证密钥将显示在客户端门户中。将其粘贴到 setup.sh 当提示时。
没有执照?A. 14天免费试用 首次运行时自动启动。
______________________________________________________________________
你能做什么
86 WHMCS工具
| 类别 | 工具 |
|---|---|
| 客户 | get_client list_clients add_client update_client get_client_details get_client_groups get_client_emails get_client_domains get_client_addons add_client_note |
| 发票 | get_invoice list_invoices create_invoice add_invoice_payment get_overdue_invoices get_transactions update_invoice |
| 订单 | add_order get_orders accept_order cancel_order get_order_statuses fraud_order pending_order |
| 服务 | list_services update_service upgrade_product module_create module_suspend module_unsuspend module_terminate get_cancelled_packages |
| 门票 | get_ticket list_tickets open_ticket add_ticket_reply update_ticket get_support_departments add_ticket_note get_support_statuses get_ticket_counts get_ticket_predefined_categories |
| 语录 | get_quotes create_quote send_quote accept_quote update_quote delete_quote |
| 联系人 | get_contacts add_contact update_contact |
| 学分 | get_credits add_credit apply_credit |
| 计费 | add_billable_item get_payment_methods get_currencies |
| 电子邮件 | send_email get_email_templates |
| 产品 | get_products get_product_groups |
| 领域 | register_domain transfer_domain renew_domain get_domain_whois get_domain_nameservers update_domain_nameservers get_domain_lock_status update_domain_lock_status get_tld_pricing |
| 管理员 | get_admin_users get_staff_online get_whmcs_details log_activity get_activity_log |
| 联盟成员 | get_affiliates activate_affiliate |
| 促销 | get_promotions |
| 服务器 | get_servers module_change_password |
| 系统 | get_health_status get_todo_items get_todo_item_statuses get_announcements get_registrars get_stats |
| 报告 | get_stats get_activity_log get_transactions |
所有工具支持 dryRun mode——在进行更改之前预览会发生什么。
24实时资源
资源是AI客户端可以通过订阅的只读数据端点 whmcs:// URI。数据由60秒TTL缓存提供。
| URI | 描述 |
|---|---|
whmcs://stats | 实时系统统计数据(收入、客户计数、发票总额) |
whmcs://health | 服务器运行状况 |
whmcs://system/info | WHMCS安装详细信息(版本、PHP、数据库) |
whmcs://products | 完整的产品和服务目录 |
whmcs://product-groups | 具有产品计数的产品组 |
whmcs://tld-pricing | 域名TLD注册/转让/续期定价 |
whmcs://promotions | 活动促销和优惠券代码 |
whmcs://order-statuses | 可用订单状态值 |
whmcs://currencies | 配置了汇率的货币 |
whmcs://payment-methods | 主动支付网关模块 |
whmcs://registrars | 已配置域注册器模块 |
whmcs://servers | 配置服务器 |
whmcs://client-groups | 客户端组定义 |
whmcs://affiliates | 注册会员账户 |
whmcs://email-templates | 电子邮件模板库 |
whmcs://announcements | 已发布公告 |
whmcs://support/departments | 支持部门 |
whmcs://support/statuses | 可用票证状态值 |
whmcs://support/ticket-counts | 按部门和状态统计的门票数量 |
whmcs://support/predefined-categories | 预定义的工单回复类别 |
whmcs://admin/users | 管理员用户帐户 |
whmcs://admin/todo | 管理员待办事项 |
whmcs://admin/todo-statuses | 可用待办事项状态值 |
whmcs://admin/staff-online | 当前已登录管理区的工作人员 |
18个工作流程提示
提示是预先构建的工作流模板,MCP客户端将其显示为一键引导交互。
| 提示 | 描述 |
|---|---|
new_client | 引导新客户帐户创建 |
new_order | 为客户下达并接受产品订单 |
new_invoice | 使用可选发送创建自定义发票 |
new_quote | 起草具有发送/接受生命周期的销售报价 |
ticket_response | 加载工单,起草专业人员回复 |
client_onboarding | 完整的账户入职审查清单 |
fraud_investigation | 可疑订单的安全审计 |
bulk_invoice_reminder | 查找逾期发票并发送付款提醒 |
revenue_report | MRR+未偿还+已支付财务明细 |
client_health_check | 深度账户记分卡(服务、计费、支持) |
domain_expiry_audit | 标记有风险的域,起草续订提醒 |
new_product_setup | 分步产品配置指南 |
churn_risk_report | 对流失风险表进行排名,并建议采取行动 |
support_queue_triage | 优先订购门票队列,提供速赢建议 |
affiliate_performance | 表现最佳、佣金、激活缺口 |
service_renewal_forecast | N个月续费收入预测 |
addon_upsell_opportunities | 缺少附加组件检测+追加销售报价生成 |
promo_effectiveness | 促销代码使用、收入影响和到期分析 |
与其他WHMCS MCP服务器相比
| 功能 | WHMCS MCP服务器(美国) | scarecr0w12/WHMCS-MCP工具 | MX模块 | |
|---|---|---|---|---|
| 工具 | 86 | ~50 | ~20 | |
| HTTP传输(ChatGPT,Claude远程) | 是 | 否--仅限stdio | 是的 | |
| 身份验证 | OAuth 2.0 PKCE+承载令牌 | 无 | 仅限静态令牌 | |
| 一键安装 | 是(`curl \ | bash`) | 手动(clone+npm) | 手动 |
| 实时webhook推送 | 是 | 否 | 否 | |
| 审核日志 | 是 | 否 | 否 | |
| 普罗米修斯指标 | 是 | 否 | 否 | |
| 速率限制 | 是 | 否 | 否 | |
dryRun 每个工具上的模式 | 是 | 否 | 否 | |
| 试用期 | 14天免费 | 永久免费(麻省理工学院) | 无 | |
| 商业支持 | 是 | 无 | 有限 | |
| 许可证 | 商业 | 麻省理工学院 | 商业 |
______________________________________________________________________
支持的AI客户端
| 客户端 | 传输 | 身份验证 |
|---|---|---|
| ChatGPT (通过GPT操作) | HTTP | 承载令牌或OAuth 2.0 |
| 克劳德桌面版 | HTTP | 承载令牌或OAuth 2.0 |
| 光标IDE | stdio或HTTP | 承载令牌或OAuth 2.0 |
| 任何兼容MCP的客户端 | HTTP | 承载令牌或OAuth 2.0 |
______________________________________________________________________
安全
- OAuth 2.0 PKCE --具有短期令牌和刷新的行业标准授权
- 承载令牌模式 -用于单租户部署的简单API密钥设置
- 速率限制 --每个IP和每个令牌控制(可配置)
- 审计日志 --每个经过身份验证的请求都记录了客户端ID、方法和时间戳
- Helmet.js --安全标头(CSP、HSTS、X-Frame-Options等)
- 输入净化 --深度防御注射
- HTTPS强制 --在生产环境中拒绝纯HTTP
- Docker的秘密 --从以下位置读取凭据
/run/secrets/如存在
______________________________________________________________________
配置
环境变量
复制 .env.example 到 .env 并填写你的价值观。
必修的:
| 变量 | 描述 |
|---|---|
WHMCS_API_URL | 您的WHMCS URL,例如。 https://billing.example.com |
WHMCS_IDENTIFIER | WHMCS API标识符 |
WHMCS_SECRET | WHMCS API机密 |
许可证:
| 变量 | 描述 | 默认值 |
|---|---|---|
LICENSE_KEY | 您在daddar.io上的许可证密钥 | (14天免费试用将自动开始) |
身份验证:
| 变量 | 描述 | 默认值 |
|---|---|---|
MCP_OAUTH_ADMIN_PASSWORD | 启用 /authorize OAuth PKCE流的同意UI | (未设置--同意UI已禁用) |
MCP_AUTH_TOKENS_FILE | 承载令牌存储路径 | /app/data/tokens.json |
注意(v2.1.0):MCP_AUTH_MODE和MCP_REQUIRE_AUTH已被删除。服务器始终运行完整的身份验证栈——承载令牌和OAuth在每种配置中都是可用的。始终在HTTP模式下强制执行身份验证。
Webhooks(可选):
| 变量 | 描述 |
|---|---|
WHMCS_WEBHOOK_SECRET | 与WHMCS PHP挂钩共享HMAC密钥 |
看 .env.示例 对于所有选项。
______________________________________________________________________
连接AI客户端
光标IDE
不记名代币(简单): 添加 ~/.cursor/mcp.json:
{
"mcpServers": {
"whmcs": {
"url": "https://your-server:3100/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}OAuth(新应用程序UI): 使用OAuth通过Cursor的“新应用程序”添加时,服务器必须具有 MCP_CLIENT_REGISTRATION_SECRET 设置(在Portainer或 .env).生成方式 openssl rand -hex 24,在服务器上设置它,然后在Cursor的高级OAuth设置中的“客户端注册密钥”(或等效项)下输入相同的值。这将启用动态客户端注册,以便Cursor可以自行注册。
或者对于本地stdio模式:
{
"mcpServers": {
"whmcs": {
"command": "node",
"args": ["/path/to/whmcs-mcp/dist/index.js"],
"env": {
"WHMCS_API_URL": "https://your-whmcs.example.com",
"WHMCS_IDENTIFIER": "your-identifier",
"WHMCS_SECRET": "your-secret"
}
}
}
}克劳德桌面版
添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"whmcs": {
"url": "https://your-server:3100/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}ChatGPT(GPT操作)
将GPT操作架构指向 https://your-server:3100/mcp。使用OAuth 2.0模式进行多用户设置。
______________________________________________________________________
实时Webhook推送
实时接收推送到您的AI的WHMCS事件——新票、发票、逾期付款。
看 docs/WEBHOOKS.md 有关设置说明。
______________________________________________________________________
部署
Docker Compose(推荐)
docker compose -f docker-compose.marketplace.yml up -d生成令牌:
docker exec -it whmcs-mcp node dist/scripts/auth-cli.js generate \
--name "My AI" --scopes "mcp:read,mcp:write"Kubernetes
看 k8s-deployment.yaml 和 部署.md.
反向代理背后(nginx/Caddy/Trafik)
移除 ports 阻止 docker-compose.marketplace.yml 并代理 whmcs-mcp:3100。请参阅该文件中的注释。
______________________________________________________________________
可观测性
- 健康检查:
GET /health - 准备就绪:
GET /ready - 普罗米修斯指标: 端口9090(可通过以下方式配置
MCP_METRICS_PORT)
关键指标: whmcs_mcp_requests_total, whmcs_mcp_request_duration_seconds, whmcs_mcp_active_sessions, whmcs_mcp_auth_total
______________________________________________________________________
支持和许可
- 购买/管理许可证: daddar.io/store/ai-tools/whmcs-mcp
- 文档: 此回购+ 部署.md + docs/WEBHOOKS.md
- 技术支持: support@daddar.io
- 安全问题: 安全.md
版权所有©2026 Daddario Tech Solutions。保留所有权利。看 许可证.
