Skip to content
Shahid Malla

WHMCS MCP Server: Connect Claude or ChatGPT to WHMCS Safely

What a WHMCS MCP server does, the Marketplace modules, open-source packages and hosted service that exist today, which WHMCS API actions to expose first, and a safety model built on API roles, approvals and audit logs.

· Published · 11 min read
On this page (15 sections)

A WHMCS MCP server lets Claude, ChatGPT or Cursor read and act on WHMCS through the Model Context Protocol. Ready-made Marketplace modules, free open-source packages and a hosted service already exist. Connect one safely by starting read-only, giving it its own WHMCS API role and allowed IP address, and making a person approve anything that changes money, services or domains.

A WHMCS MCP server is a program that turns WHMCS actions into tools an AI client can call through the Model Context Protocol (MCP). It sits between the AI and WHMCS, holds the credentials and decides which actions exist at all. The model never logs in to WHMCS.

I have built 200+ custom WHMCS modules and build with Claude Code, but I have not published a WHMCS MCP server of my own. Product facts come from each product's own page, read on 21 October 2026, untested by me. Client-facing chat is covered in my WHMCS AI guide and on my WHMCS AI chatbot page.

What is MCP, and where does a WHMCS MCP server sit?

The official introduction calls MCP "an open-source standard for connecting AI applications to external systems." The specification, version 2026-07-28 and marked latest, uses JSON-RPC 2.0 messages between hosts (AI applications), clients (connectors inside them) and servers, which offer resources, prompts and tools: "Functions for the AI model to execute".

For WHMCS the chain is AI client, MCP server, then WHMCS, through the External API or, for an addon module, from inside WHMCS. The spec admits "MCP itself cannot enforce these security principles at the protocol level," and its tools page says servers MUST "Implement proper access controls" and "Rate limit tool invocations". So the limits live in the server and in WHMCS.

Which AI clients can connect to a WHMCS MCP server?

Claude, ChatGPT and Cursor all accept MCP servers but reach them differently, which decides where your server runs. Per their docs on 21 October 2026:

ClientHow you add a serverWhat it needsVendor note
Claude (web, Desktop, Cowork)Custom connector; Claude Desktop also runs local servers from claude_desktop_config.jsonRemote: a public URL reachable from Anthropic's IP rangesConnections come "from Anthropic's cloud infrastructure, rather than from your local device"
Claude Codeclaude mcp add with --transport http or stdioAn HTTP endpoint or a local command"Verify you trust each server before connecting it"
ChatGPTChatGPT Plugins, then Add custom MCP server; workspace policies applyPublic HTTPS with streamable HTTP, or OpenAI's Secure MCP TunnelYou accept a risk warning first
Cursormcp.json or the Customize pagestdio, SSE or Streamable HTTPAsks approval before MCP tools by default; run modes can auto-run allowlisted tools

A stdio server stays on one admin's computer; a remote server for Claude or ChatGPT must accept connections from their clouds, or from OpenAI's tunnel, which is more to defend. MagizAI, the AI chat product I founded, has a WHMCS addon module and connects to MCP servers too; as its founder and CEO, I am not neutral here.

Which WHMCS API should an MCP server use?

Use the External API with its own credential for any server outside WHMCS, so WHMCS enforces the limits. The WHMCS API documentation has two forms: the External API, an HTTPS POST to includes/api.php with an identifier and secret, and the Internal API, localAPI(), for calls "from within the WHMCS system". It takes no credential, so an addon module is limited by its own checks, not an API role.

  1. API roles. At Configuration > System Settings > Manage API Credentials. The API Credentials page says a request passes "if any role provides permission to the requested action", so roles add up.
  2. IP restriction. The access control page says "Access to the API by default is restricted by IP." Add addresses under API IP Access Restriction on the Security tab of General Settings. Skip the optional $api_access_key, which lets "IP restrictions to be bypassed".
  3. A dedicated admin. Disabling or deleting an admin invalidates its credentials, so one admin per integration is also an off switch.
  4. Logging. Log API Authentication, on the Security tab, records successful API logins in the Admin Log; it is off by default.

Never give an MCP server an admin password. The authentication page says the pre-7.2 login method still works "for backwards compatibility". Setup steps are in my WHMCS API guide.

What WHMCS MCP server options exist today?

I found three Marketplace modules, several open-source servers and a hosted service, none from WHMCS itself. Each is described from its own page on 21 October 2026; tool counts are theirs.

OptionType and price as statedExposesControls it describesLast update shown
MCP Server (MX Modules)Addon, ionCube; $22.00, updates while subscribed84 tools with companion addons; read and write, including termination and paymentsOwn keys with read/write per key, audit log, rate limiting; new domain tools off by defaultv1.7.1, 13 May 2026
WHMCS MCP Server (Provonic)Addon, ionCube; $7.50 on the Buy button, several pricing models; 5-day trial139 tools, including refunds, provisioning, domains, reportsHashed key per client, per-key tools and rate limit, audit log; HTTP, SSE or stdiov1.5.0, 20 October 2026
MCP Hub for WHMCS (PD Modules)Addon, freeA compact set of composite toolsPer-connection ceiling, bound admin role, IP list, approval queue for money and customer emails, kill switchv0.1.26, 23 September 2026
whmcs-mcp-server (npm)Node, ISC, free73 tools, read and writeAPI credential; read_only, simulate or full mode (default full); tokens for delete and terminatev1.3.1, 6 April 2026; linked repository Not Found
whmcs-mcp-toolTypeScript, MIT, freeClients, billing, tickets, orders, domains, suspend and terminateAPI credential; README advises IP restrictions and minimal permissionsv1.2.1, 11 March 2026
whmcs-mcp-server (yashodhank)TypeScript, ISC per its README badge, freeAbout 70 tools, including refundsAPI credential; read_only by default, writes "sealed by default" behind approve and execute stepsLast commit 3 October 2026
toc-whmcs-mcpGo, AGPL-3.0, freeAll 162 documented actions reachable; 15 to 25 tools per profileAPI credential; readonly profile by default, confirmation tokens, credential-returning actions blockedv0.1.4, 3 August 2026
FlozicHosted; 7-day trial; its table lists $19 a month as the starting priceClients, invoices, tickets, services; read and writeConnects WHMCS "over OAuth"; actions loggedNo date shown

The Marketplace modules run inside WHMCS with their own keys, so their settings (plus, for MCP Hub, the bound admin's role) are the limit. The open-source packages call the External API, so a narrow API role holds whatever the package does.

How do you connect Claude to WHMCS safely?

Assume the model can be talked into anything; make WHMCS and the server refuse. OWASP's LLM06:2025 Excessive Agency says: "Implement authorization in downstream systems rather than relying on an LLM to decide if an action is allowed or not." My rules:

  • Read-only first. Only "Get" actions, for weeks, before any write.
  • Least privilege. One role, credential and admin per agent; OWASP warns of "an extension intended to read data" whose identity can also delete.
  • No passwords, no access key. API credentials only, from an allowed IP.
  • Approval for money and services. The spec says "there SHOULD always be a human in the loop with the ability to deny tool invocations." Enforce it in the server; client dialogs can be set to auto-run.
  • An audit log you own, refusals included.
  • Rate limits and less data. Cap calls per minute and strip card details, notes and passwords from results (OWASP LLM02 Sensitive Information Disclosure).

Ticket text is the main way in. OWASP's LLM01:2025 Prompt Injection covers inputs "from external sources, such as websites or files", and anyone can open a ticket asking the AI to credit an account. The toc-whmcs-mcp README designs for that: "a customer can put text in a support ticket and that text reaches the agent choosing the next tool call." So the session that reads tickets gets no billing or service tools, and you "Separate and clearly denote untrusted content", as OWASP advises.

Which WHMCS API actions should an AI agent get first?

Reads first; each action that changes money, services or domains is its own decision for a WHMCS AI agent. Names are from the API index.

RiskExample actionsWhat can go wrongMy rule
Low: system readsWhmcsDetails, GetStats, GetProductsLittleStart here
Medium: client readsGetClientsDetails, GetClientsProducts, GetInvoices, GetTicketsPersonal data sent to the AI provider; injected ticket textRead-only role, fields trimmed
Medium: messagesAddTicketNote, AddTicketReply, SendEmailWrong or injected text reaches a clientInternal notes first; replies approved
High: services and ordersAcceptOrder, ModuleCreate, ModuleSuspend, ModuleChangePackageA live site goes down, or a server is provisioned unpaidApproval per call
High: moneyUpdateInvoice, AddInvoicePayment, CapturePayment, AddCredit, ApplyCreditInvoices marked paid, credit given, cards chargedApproval with amount limits, or manual
High: domainsDomainRegister, DomainTransfer, DomainRequestEPP, DomainUpdateNameserversRegistrar charges, a transfer code handed out, DNS movedKeep manual
NeverModuleTerminate, DeleteClient, DecryptPassword, GetClientPassword, CreateSsoToken, SetConfigurationValueData deleted, secrets or logins exposed, settings changedOut of every role

The API index lists no action named Refund; if a module offers refunds, ask its vendor how before enabling that tool.

Do you need a WHMCS MCP server at all?

Often not. A task that runs the same way every time is cheaper as a script or hook; MCP pays off when staff ask varied questions (see my chatbot vs agent guide).

Decision flow, Do you need a WHMCS MCP server: four yes-or-no questions on client chat, ad-hoc staff questions, read-only access and human approval, ending in a chat module, a script, read-only MCP, MCP with approval, or manual writes.
Do you need a WHMCS MCP server? Answer in order; the first outcome you reach decides. Source: shahidmalla.com.
  1. Is the goal answering clients in a chat widget? Yes: use a chat module, not MCP.
  2. Do staff need ad-hoc questions across WHMCS data? No: script it with the API or a hook.
  3. Is read-only access enough for the job? Yes: a read-only MCP server on its own API role.
  4. Will a person approve every write before it runs? Yes: MCP with an approval step. No: keep write actions manual.

Should you buy a module, use an open-source package or build your own?

Buy when a module's tool list fits, use open source to read every line, and build when your products, approval rules or data limits are unusual.

PointMarketplace moduleOpen-source packageCustom server
What sets the limitThe module's key or connection settingsA WHMCS API role, plus the package's switchesA WHMCS API role and your code
Code you can readMX Modules and Provonic require ionCube; MCP Hub's listing does not sayAll of itAll of it
Approval for writesA queue in MCP Hub; per-key or per-tool switches elsewhereConfirmation tokens or approval steps in someWhatever you build
CostFree to $22.00 as listed, plus renewals where statedFree, plus time to review and hostDeveloper time, and upkeep after WHMCS updates

How would you build a custom read-only WHMCS MCP server?

Small: a few read tools, one API role, a log.

  1. Map each question staff really ask to one API action.
  2. Set up the admin, Get-only role, credential, IP and logging described above.
  3. Write one tool per question with a tight input schema, returning only needed fields.
  4. Mark read tools with readOnlyHint, but rely on the role: the SDK docs say annotations "never change how the SDK runs the tool".
  5. Use stdio for one admin's machine, or Streamable HTTP with OAuth or a token for remote clients.
  6. Add writes later, on a separate credential, as pending requests a person approves.

With version 2 of the official TypeScript SDK (v2.3.1, 5 October 2026), one read tool looks like this; whmcs() is your own POST to includes/api.php:

import { McpServer } from '@modelcontextprotocol/server';
import { StdioServerTransport } from '@modelcontextprotocol/server/stdio';
import * as z from 'zod/v4';

const server = new McpServer({ name: 'whmcs-readonly', version: '0.1.0' });

server.registerTool(
    'get_invoice',
    {
        description: 'Read one WHMCS invoice by its ID',
        inputSchema: z.object({ invoiceid: z.number().int().positive() }),
        annotations: { readOnlyHint: true }
    },
    async ({ invoiceid }) => ({
        content: [{ type: 'text', text: JSON.stringify(await whmcs('GetInvoice', { invoiceid })) }]
    })
);

async function main() {
    await server.connect(new StdioServerTransport());
}

main();

How do you test a WHMCS MCP server before production?

On a staging copy with test clients:

  • Credential and IP. WhmcsDetails works from the server's address and fails from any other.
  • Tool list. The MCP Inspector (npx @modelcontextprotocol/inspector@latest), recommended in OpenAI's guide, shows only intended tools.
  • Role. AddCredit sent with the same credential outside the server is refused by WHMCS.
  • Injection. A test ticket asking for a credit, summarized by the AI, changes nothing.
  • Approval. Every write waits for a person; a denied request writes nothing.
  • Logs and limits. Calls and refusals are logged; bursts hit the rate limit.
  • Off switch. Deleting the credential stops the server at once.
  • Repeat after every WHMCS, server or module update.

What else do people ask about WHMCS MCP servers?

Is MCP safe to use?

It depends on the server and its permissions. The specification says tools "represent arbitrary code execution and must be treated with appropriate caution." Use servers you can inspect, start read-only and enforce limits in WHMCS.

What is the difference between an MCP server and an API?

The WHMCS API is the set of actions WHMCS accepts. An MCP server wraps chosen actions as described tools an AI client can discover and call. The API does the work; the MCP server decides what an AI may reach.

Can ChatGPT use MCP servers?

Yes. OpenAI's developer docs describe adding a custom MCP server in ChatGPT, subject to workspace policies, over public HTTPS with streamable HTTP or through OpenAI's Secure MCP Tunnel.

Does Claude Desktop support remote MCP servers?

Yes, as custom connectors on Free, Pro, Max, Team and Enterprise plans; Free users get one. Connections come from Anthropic's cloud, so the server must be reachable from the internet.

If no package fits your products, roles or approval rules, that is custom WHMCS module development: a free scoping call of about 30 minutes, then a written quote within one business day.

Last reviewed 21 October 2026. Disclosure: I sell WHMCS development, so I am not neutral. I am CTO at ElySpace and founder of WHMCSPilot and MagizAI. I am not affiliated with WHMCS, Anthropic or OpenAI, or any vendor named here, and no link is an affiliate link.

Share this article

Shahid Malla

Written by

Shahid Malla

Freelance WHMCS developer and web designer with 13+ years of client work. CTO at ElySpace, freelance developer for Marmaids LLC, and founder of WHMCSPilot and MagizAI.

Got a project like this?

Tell me what you need and I will send a written quote within one business day.