Install
$ agentstack add mcp-caioldcarvalho-whmcs-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
WHMCS MCP Server
MCP (Model Context Protocol) server for full integration with the WHMCS API.
Features
Tickets and Support
- List tickets with advanced filters
- View full ticket details (including replies and notes)
- Create new tickets
- Add replies to tickets
- Update ticket properties
- List support departments
- View ticket statuses with counts
- Full ticket statistics
Clients
- List clients with filters and pagination
- View full client details (with stats)
Products and Orders
- List available products/services
- List orders with filters
Invoices
- List invoices with filters and sorting
General
- Secure authentication via API credentials
- Fully typed with TypeScript
- 34 MCP tools implemented and tested
Available Tools (34)
Tickets
- whmcsgettickets - List tickets with filters
- whmcsgetticket - View a specific ticket with all replies
- whmcsgetticket_counts - Ticket statistics and counts
- whmcsopenticket - Create a new ticket
- whmcsaddticket_reply - Reply to a ticket
- whmcsupdateticket - Update ticket properties
Support
- whmcsgetsupport_departments - List departments
- whmcsgetsupport_statuses - View statuses with counts
Clients
- whmcsgetclients - List clients
- whmcsgetclients_details - Full client details
- whmcsgetclients_products - Client products/services
- whmcsgetclients_domains - Client domains
- whmcsgetcontacts - Client contacts
- whmcsgetemails - Email history
Products, Orders, and Invoices
- whmcsgetproducts - List products/services
- whmcsgetorders - List orders
- whmcsgetinvoices - List invoices
Billing Analysis
- whmcsfindinvoice_gaps - Find missing invoice months per client
- whmcslistclientswithpending_invoices - List clients with unpaid/overdue invoices
System and Administration
- whmcsgetactivity_log - Activity log (116k+ entries)
- whmcsgetstats - Full statistics (revenue, orders, tickets)
- whmcsgetcurrencies - Configured currencies
- whmcsgetpayment_methods - Active payment methods
- whmcsgetadmin_users - Admin users
Combined Invoices
- whmcsgetunpaidinvoicesdetailed - Unpaid invoices with client and product details
- whmcsgetallunpaidinvoices_complete - All unpaid invoices with full details
Service Management
- whmcsmodulesuspend - Suspend service
- whmcsmoduleunsuspend - Unsuspend service
- whmcsmoduleterminate - Terminate service permanently
- whmcsmodulecreate - Provision service
Order Management
- whmcsacceptorder - Accept and activate order
- whmcscancelorder - Cancel order
- whmcsdeleteorder - Delete order permanently
- whmcspendingorder - Set order as pending
Quick Install
Claude Code (one command)
claude mcp add whmcs \
-e WHMCS_API_URL=https://your-whmcs.com/includes/api.php \
-e WHMCS_IDENTIFIER=your_identifier \
-e WHMCS_SECRET=your_secret \
-- npx -y whmcs-mcp
Or with admin credentials instead of API keys:
claude mcp add whmcs \
-e WHMCS_API_URL=https://your-whmcs.com/includes/api.php \
-e WHMCS_USERNAME=your_admin_user \
-e WHMCS_PASSWORD=your_admin_password \
-- npx -y whmcs-mcp
That's it. Run claude mcp list to verify.
Claude Desktop
Add to your claude_desktop_config.json (location by OS):
{
"mcpServers": {
"whmcs": {
"command": "npx",
"args": ["-y", "whmcs-mcp"],
"env": {
"WHMCS_API_URL": "https://your-whmcs.com/includes/api.php",
"WHMCS_IDENTIFIER": "your_identifier",
"WHMCS_SECRET": "your_secret"
}
}
}
}
Restart Claude Desktop and the 34 tools will be available.
Alternative: mcp.json file
If you prefer a config file instead of env vars, create mcp.json in the project root:
cp mcp.example.json mcp.json
# edit mcp.json with your credentials
When using admin credentials with username/password, the server automatically hashes the password with MD5 (WHMCS requirement). You can also provide an already MD5-hashed password.
Adding credentials later
If you already added the MCP server but didn't have the credentials yet:
Claude Code: run claude mcp add whmcs ... again with the -e flags -- it overwrites the previous entry.
Claude Desktop: open claude_desktop_config.json and add the env block to the existing whmcs entry:
"env": {
"WHMCS_API_URL": "https://your-whmcs.com/includes/api.php",
"WHMCS_IDENTIFIER": "your_identifier",
"WHMCS_SECRET": "your_secret"
}
Then restart Claude Desktop.
Usage Examples
In Claude Code, you can ask questions like:
Tickets:
- "List the last 10 open tickets"
- "Show details for ticket #123456"
- "How many tickets are awaiting response?"
- "Which support departments are available?"
Clients:
- "List the last 5 active clients"
- "Show details for client ID 123"
- "How many clients do we have total?"
Products:
- "List all available products"
- "Which products are in group 5?"
Orders and Invoices:
- "List the last 10 orders"
- "Show overdue invoices"
Technologies
- TypeScript
- MCP SDK (@modelcontextprotocol/sdk)
- Axios (HTTP client)
- WHMCS API v1
Project Structure
whmcs-mcp/
├── src/ # TypeScript source code
│ ├── index.ts # MCP server (34 tools)
│ ├── config.ts # Config loader (env vars → mcp.json)
│ ├── whmcs-client.ts # API client (34 methods)
│ └── types.ts # TypeScript types
├── test/ # Unit tests
├── build/ # Compiled output
├── mcp.example.json # Config file template (optional)
└── package.json
Development
# Watch mode (auto rebuild)
npm run dev
# Manual build
npm run build
# Run the MCP server with the default mcp.json
node build/index.js
# Run with a custom config path
node build/index.js --config /absolute/path/mcp.json
# Test client directly
node -e "import('./build/whmcs-client.js').then(async ({WHMCSClient}) => { ... })"
Requirements
- Node.js >= 18
- WHMCS account with API enabled
- WHMCS API Identifier and Secret
- IP authorized in the WHMCS API
Project Status
- 34 MCP tools implemented and tested
- Complete TypeScript client
- Tested in production with real data
- Full coverage of main WHMCS endpoints
Completed Implementations
Tickets and Support (8 tools)
- GetTickets, GetTicket, GetTicketCounts
- OpenTicket, AddTicketReply, UpdateTicket
- GetSupportDepartments, GetSupportStatuses
Clients (6 tools)
- GetClients, GetClientsDetails
- GetClientsProducts, GetClientsDomains
- GetContacts, GetEmails
Products and Sales (3 tools)
- GetProducts, GetOrders, GetInvoices
System and Admin (5 tools)
- GetActivityLog (116k+ entries tested)
- GetStats (revenue, orders, tickets)
- GetCurrencies, GetPaymentMethods
- GetAdminUsers
Combined Invoices (2 tools)
- GetUnpaidInvoicesDetailed, GetAllUnpaidInvoicesComplete
Billing Analysis (2 tools)
- FindInvoiceGaps, ListClientsWithPendingInvoices
Service Management (4 tools)
- ModuleSuspend, ModuleUnsuspend, ModuleTerminate, ModuleCreate
Order Management (4 tools)
- AcceptOrder, CancelOrder, DeleteOrder, PendingOrder
License
MIT
Author
Built for WHMCS integration via Model Context Protocol.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: caioldcarvalho
- Source: caioldcarvalho/whmcs-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.