
WHMCS MCP Server
io.github.daddariotech由 GitHub 账号 daddariotech 发布v2.3.8更新于 Nov 2, 2026
Connect Claude, ChatGPT, and Cursor to live WHMCS over MCP.
概览
商业 MCP 服务器,把 AI 客户端连接到运行中的 WHMCS 计费系统,让助手读写客户、账单、订单、工单、服务和域名。
- 可以做什么
- 客户:查询、列出、创建和更新客户账户、分组、联系人、邮箱、域名、附加服务与备注
- 账单:读取、创建和更新账单,登记付款,列出逾期账单与交易,添加计费项目和余额
- 订单与服务:下单、接受、取消或标记订单;创建、暂停、恢复、终止和升级产品
- 支持:读取、新建和回复工单,添加备注,列出支持部门、状态和工单数量
- 域名与目录:注册、转移、续费域名,管理域名服务器和锁定状态,读取 TLD 价格、产品和促销
- 管理与报表:统计、活动日志、员工与待办事项,另有只读的 whmcs:// 资源和引导式工作流提示
- 适用场景
- 适合让助手直接操作 WHMCS 主机或计费系统:回答客户与账单问题、起草工单回复、催收逾期账单,或生成续费和流失风险报表,而不必手工复制数据。
- 运行要求
- 以本地进程(Docker 镜像或安装的二进制)或 HTTP 端点运行。需要 WHMCS API 地址,以及来自 WHMCS API 角色的凭据标识和密钥(WHMCS_IDENTIFIER、WHMCS_SECRET);14 天试用期后需要 LICENSE_KEY。使用 HTTP 传输时 MCP_TRANSPORT 必须设为 http。项目相关工具还需启用 WHMCS Project Management 附加模块。
安装
在 SourceWeft 中
- 打开 控制台中的 WHMCS MCP Server,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
WHMCS MCP Server
Production-grade AI integration for WHMCS. Connect ChatGPT, Claude, and Cursor directly to your WHMCS installation — manage clients, invoices, tickets, and services through natural language.
Prerequisites — WHMCS API Setup
Before running the installer you need a WHMCS API credential with the right permissions.
1. Create an API Role
In WHMCS Admin: Setup → Staff Management → API Roles → Add Role
Choose a permission preset based on how much you trust the AI:
Minimum permissions (read-only — AI can look but not touch):
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 GetProjects GetProject
Maximum permissions (full access — AI can take any action):
Everything above, plus:
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 DomainRegister DomainTransfer DomainRenew DomainUpdateNameservers DomainUpdateLockingStatus DomainToggleIdProtect FraudOrder PendingOrder UpdateInvoice ModuleChangePw LogActivity AddTicketNote AffiliateActivate CreateProject UpdateProject AddProjectTask UpdateProjectTask DeleteProjectTask AddProjectMessage StartTaskTimer EndTaskTimer
Project Management tools:
list_projectsthroughend_task_timeradditionally require the WHMCS Project Management addon to be active (Setup → Addon Modules), regardless of API role permissions.
Domain write permissions:
register_domain,transfer_domain, andrenew_domainrequireDomainRegister,DomainTransfer, andDomainRenewrespectively. Note theDomainprefix comes first —RegisterDomain/TransferDomain/RenewDomainare not valid WHMCS permission keys and are silently ignored if granted. If a domain tool returns HTTP 403, the matching permission is missing from your role. Upgrading from 2.3.1 or earlier? See the 2.3.2 changelog entry — you need to re-grant these three under their correct names.
Tip: Start with minimum permissions and add write permissions only as needed. This limits blast radius if an AI client goes rogue or gets a bad prompt.
2. Set an API Access Key (recommended)
An Access Key bypasses IP restrictions entirely — the recommended approach since the MCP server's outbound IP can change (Docker restarts, server moves, etc.).
Add this line to your configuration.php in the WHMCS root:
Allowed characters: letters, numbers, and
! @ # $ % . ( ) * [ ] - _
Then set WHMCS_ACCESS_KEY to the same value in your .env or Portainer stack.
3. Create an API Credential
Setup → Staff Management → API Credentials → Generate New Credential
- Role: select the role you just created
- Allowed IPs: leave blank if using an Access Key (recommended), or enter the server IP if you prefer IP-based restrictions
- Copy the Identifier and Secret — you'll need these during install
Quick Start — running in under 5 minutes
Binary (no Docker required):
Prompts for your WHMCS credentials and license key, installs the binary to /usr/local/bin, and registers a systemd service.
Docker (recommended for servers already running Docker):
Prompts for credentials, writes .env, and starts the stack via Docker Compose.
Get a License
Purchase a license at daddar.io/store/ai-tools/whmcs-mcp — after checkout, your license key appears in the client portal. Paste it into setup.sh when prompted.
No license? A 14-day free trial starts automatically on first run.
What You Can Do
98 WHMCS Tools
All tools support dryRun mode — preview what would happen before making changes.
24 Real-Time Resources
Resources are read-only data endpoints that AI clients can subscribe to via whmcs:// URIs. Data is served from a 60-second TTL cache.
18 Workflow Prompts
Prompts are pre-built workflow templates that MCP clients surface as one-click guided interactions.
vs other WHMCS MCP servers
Supported AI Clients
Security
- OAuth 2.0 PKCE — industry-standard authorization with short-lived tokens and refresh
- Bearer token mode — simple API key setup for single-tenant deployments
- Rate limiting — per-IP and per-token controls (configurable)
- Audit log — every authenticated request logged with client ID, method, and timestamp
- Helmet.js — security headers (CSP, HSTS, X-Frame-Options, etc.)
- Input sanitization — defense-in-depth against injection
- HTTPS enforcement — rejects plain HTTP in production
- Docker secrets — credentials read from
/run/secrets/if present
Configuration
Environment Variables
Copy .env.example to .env and fill in your values.
Required:
License:
Authentication:
Note (v2.1.0):
MCP_AUTH_MODEandMCP_REQUIRE_AUTHhave been removed. The server always runs the full auth stack — bearer tokens and OAuth are both available in every configuration. Auth is always enforced in HTTP mode.
Network / proxy:
Observability (optional):
Webhooks (optional):
See .env.example for all options.
Connecting AI Clients
Cursor IDE
Bearer token (simple): Add to ~/.cursor/mcp.json:
OAuth (New App UI): When adding via Cursor's "New App" with OAuth, the server must have MCP_CLIENT_REGISTRATION_SECRET set (in Portainer or .env). Generate with openssl rand -hex 24, set it on the server, then enter the same value in Cursor's Advanced OAuth settings under "Client registration secret" (or equivalent). This enables Dynamic Client Registration so Cursor can self-register.
Or for local stdio mode:
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
ChatGPT (GPT Actions)
Point your GPT Action schema at https://your-server:3100/mcp. Use OAuth 2.0 mode for multi-user setups.
Real-Time Webhook Push
Receive WHMCS events pushed to your AI in real time — new tickets, invoices, overdue payments.
See docs/WEBHOOKS.md for setup instructions.
Deployment
Docker Compose (recommended)
Generates tokens:
Kubernetes
See k8s-deployment.yaml and DEPLOYMENT.md.
Behind a Reverse Proxy (nginx / Caddy / Traefik)
Remove the ports block from docker-compose.marketplace.yml and proxy to whmcs-mcp:3100. See comments in that file.
Observability
- Health check:
GET /health - Readiness:
GET /ready - Prometheus metrics: port 9090 (configurable via
MCP_METRICS_PORT)
Key metrics: whmcs_mcp_requests_total, whmcs_mcp_request_duration_seconds, whmcs_mcp_active_sessions, whmcs_mcp_auth_total
Support & Licensing
- Purchase / manage license: daddar.io/store/ai-tools/whmcs-mcp
- Documentation: this repo + DEPLOYMENT.md + docs/WEBHOOKS.md
- Support: [email protected]
- Security issues: SECURITY.md
Copyright © 2026 Daddario Tech Solutions. All rights reserved. See LICENSE.
来源:README.md,提交 d134069
工具
0版本历史
2- v2.3.8最新Oct 26, 2026
- v2.3.6Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。