Skip to main content

Installation Guide

MCP Server for WHMCS

Connect Claude Desktop to WHMCS in 2-3 minutes

For beginners · No coding required · Step-by-step guide

Last updated: May 2026 · v1.7.1

Before You Start

Estimated time: 2-3 minutes

Level: Beginner · No technical knowledge required

What changed since v1.1.x

Aspectv1.1.xv1.3.0 and later
ServerSeparate Node.js processPHP addon (built-in)
AuthenticationAPI Key + SecretBearer token
Setup time10-15 minutes2-3 minutes
Node.jsRequired for serverNot required by addon
ConfigManual JSON editingSetup Assistant (copy and paste)

Note: Node.js is not required by the addon

The addon does not require Node.js. If you use Claude Desktop, Node.js must be installed on your machine because Claude Desktop uses npx to run mcp-remote as a connection bridge. This is a Claude Desktop limitation, not an addon requirement. Cursor, VS Code, and Windsurf connect directly without Node.js.

Important: Use Claude Desktop, NOT claude.ai

This guide is for the Claude Desktop app (installed on your computer), NOT the web version at claude.ai. MCP servers only work with Claude Desktop.

If you don't have Claude Desktop installed, download it here first →

What you'll need:

  • WHMCS installed and running
  • Admin access to WHMCS
  • Claude Desktop installedDownload →
  • MCP Server addon files (mx_mcp.zip)
  • License Key (received via email after purchase)

Note: Claude Desktop is free to use. No paid account required for this integration.

Part 1: Install Addon in WHMCS

Step 1.1: Upload Files

  1. 1.Open your FTP client (FileZilla, Cyberduck, etc.) or cPanel File Manager
  2. 2.Connect to your WHMCS server
  3. 3.Navigate to: /public_html/whmcs/modules/addons/
  4. 4.Extract mx_mcp.zip on your computer
  5. 5.Upload the entire mx_mcp/ folder

Expected folder structure:

/whmcs/modules/addons/mx_mcp/
├── mx_mcp.php
├── mcp.php
├── hooks.php
├── .htaccess
└── lib/
    ├── Admin/
    ├── Api/
    └── Database.php

Step 1.2: Activate Addon

  1. 1.Open your browser and go to your WHMCS admin: http://your-whmcs.com/admin
  2. 2.Login with your administrator account
  3. 3.Go to: Configuration → Addon Modules
  4. 4.Find "MCP Server" in the list
  5. 5.Click "Activate"
  6. 6.
    Configure settings:
    • License Key: Paste your license key (received via email)

    The activation form on v1.7.1 only requires the License Key. Older flags (Enable API, Rate Limit, Access Control) were removed; rate limiting and tool access now live inside the addon's admin UI.

  7. 7.Click "Save Changes"
  8. 8.Verify License Status shows "Active"

Important: License Required

The MCP Server requires an active license to function. Without a valid license, the API will return a license error and Claude will not be able to connect to your WHMCS.

Success check: You should see "Changes Saved Successfully" and License Status should display "Active"

Step 1.3: Generate Bearer Token

  1. 1.Go to: Addons → MCP Server
  2. 2.Click the API Keys tab
  3. 3.Click Generate New Credential
  4. 4.Enter a descriptive name (e.g., "Claude Desktop" or "Cursor")
  5. 5.Click "Generate"

Important: Copy the Bearer token immediately

After clicking "Generate", your Bearer token is displayed only once and cannot be retrieved later. Copy it somewhere safe before closing the dialog.

Authentication in v1.7.1:

  • • Your client sends the token via Authorization: Bearer YOUR_TOKEN
  • • No separate API Key and API Secret are needed
  • • One token per client (you can generate multiple tokens for different clients)

If you lose the token, generate a new one from the API Keys tab.

Previous method (v1.1.x)

Still works. In v1.3.0 the setup changed to Bearer tokens. If you are on v1.1.x, this is how authentication worked: go to Addons > MCP Server > API Keys, generate an API Key. An API Secret was shown once at creation. Then you set the MCP_API_KEY environment variable in your client config:

{
  "mcpServers": {
    "whmcs": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-remote",
        "https://your-whmcs.com/modules/addons/mx_mcp/mcp/sse.php"],
      "env": { "MCP_API_KEY": "your-api-key-here" }
    }
  }
}

Step 1.4: Enable the MCP Endpoint

The MCP Endpoint is a master kill-switch, separate from the WHMCS “addon active” flag. By default it ships OFF, so the endpoint will not respond to any client until you turn it on.

  1. 1.Go to: Addons → MCP Server → Settings tab, then click the Connection sub-tab on the left sidebar
  2. 2.In the Endpoint Status card, find the MCP Endpoint toggle
  3. 3.Switch the toggle to Enabled (the label next to it should now read “Enabled”)

Visual reference — what you should see after step 3

Endpoint Status

Settings → Connection

MCP Endpoint

Accepts MCP client requests

Enabled

The toggle track turns blue and the label switches to Enabled in green when active. If you see Disabled in red, the endpoint will reject every MCP client request.

Success check

The toggle label reads “Enabled”, and the Endpoint URL card next to it shows the URL you will paste into your client config (typically https://your-whmcs.com/modules/addons/mx_mcp/mcp.php).

If you skip this step

Every MCP client will show “Server disconnected” after restart, with no error message pointing at the cause. The Bearer token, the URL, and the JSON config will all look correct. The endpoint is simply turned off.

Part 2: Configure Claude Desktop

Use the built-in Setup Assistant

Open Addons → MCP Server → Settings tab → Connection sub-tab, pick your client from the Setup Assistant dropdown, and copy the generated JSON. The endpoint URL and Bearer token are pre-filled. Do not edit the JSON by hand. Most connection failures we see come from copy-paste mistakes (missing quotes, wrong header format, stale token).

Before copying the JSON: confirm the MCP Endpoint toggle from Step 1.4 is set to Enabled. Otherwise the JSON points at a disabled endpoint and every client will show “Server disconnected”.

The Setup Assistant inside the addon generates the exact config you need. No manual JSON editing required.

1

Open the Setup Assistant

  1. 1.In WHMCS Admin, go to Addons → MCP Server
  2. 2.Click the MCP Endpoint tab
  3. 3.Select your client from the dropdown (Claude Desktop, Cursor, VS Code, Windsurf, etc.)
  4. 4.The assistant shows the ready-to-use JSON config with your endpoint and token pre-filled
  5. 5.Click the Copy button on the JSON snippet. You will paste it into your client's config file in the next step.
2

Paste Config into Claude Desktop

Find the Claude Desktop config file

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

Copy the config from the Setup Assistant and paste it into that file. The config looks like this:

{
  "mcpServers": {
    "whmcs": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://your-whmcs.com/modules/addons/mx_mcp/mcp.php",
        "--header",
        "Authorization: Bearer YOUR_TOKEN"
      ]
    }
  }
}

Claude Desktop requires Node.js

Claude Desktop uses npx mcp-remote as a bridge to connect to HTTP-based MCP servers. Node.js must be installed on your machine for this to work. Download Node.js →

3

Restart Claude Desktop

Close completely (Cmd+Q on Mac, Alt+F4 on Windows) and reopen. Claude will connect to your WHMCS automatically.

Dedicated Claude Desktop guide

The integrations page has a detailed step-by-step guide specifically for Claude Desktop, including screenshots.

View Claude Desktop guide →

Other AI Clients (Codex, Cursor, Windsurf, etc.)

MCP Server v1.7.1 connects via HTTP Streamable. Cursor, VS Code, Windsurf, and Codex Desktop support this natively. No Node.js needed on your machine.

Get the exact config for your client from the Setup Assistant: Addons → MCP Server → MCP Endpoint tab. Configs for all major clients are below for reference.

OpenAI Codex Desktop

macOS only (Apple Silicon). Config file:

~/.codex/config.toml
[mcp_servers.whmcs]
url = "https://your-whmcs.com/modules/addons/mx_mcp/mcp.php"

[mcp_servers.whmcs.headers]
Authorization = "Bearer YOUR_TOKEN"

TOML format (not JSON). Download Codex Desktop →

Cursor

Config file location:

  • Global: ~/.cursor/mcp.json
  • Per project: .cursor/mcp.json in your project folder
{
  "mcpServers": {
    "whmcs": {
      "url": "https://your-whmcs.com/modules/addons/mx_mcp/mcp.php",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

No Node.js required. Cursor connects directly via HTTP.

Windsurf

Config file:

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "whmcs": {
      "url": "https://your-whmcs.com/modules/addons/mx_mcp/mcp.php",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

No Node.js required. Windsurf connects directly via HTTP.

Cline (VS Code Extension)

Config file:

.vscode/mcp.json
{
  "servers": {
    "whmcs": {
      "type": "http",
      "url": "https://your-whmcs.com/modules/addons/mx_mcp/mcp.php",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN"
      }
    }
  }
}

No Node.js required. VS Code connects directly via HTTP.

Other MCP Clients

Any client that supports HTTP Streamable MCP can connect using the endpoint URL and a Authorization: Bearer YOUR_TOKEN header. Check your client's documentation for the config file location.

Part 3: Test the Connection

Test 1: Verify Connection

Open your AI client and look for the MCP connection indicator.

Success: You should see "MCP Servers: 1 connected" or a tools icon.

Test 2: First Query

Type this:

Using the WHMCS MCP server, get the system status.

You should see system info like WHMCS version, PHP version, and client count.

Do not ask Claude meta-questions

Asking “what tools do you have?” or “are you connected to WHMCS?” can return a confident “none” even when the connection is healthy. Give Claude a concrete WHMCS task instead. If a tool runs and returns data, the connection is fine.

Test 3: List Clients

Type this:

Show me a list of all clients in WHMCS.

If you see a list of clients with names and emails, it works.

If you get “I don't have any tools” or “Server disconnected” instead, jump to Common Setup Pitfalls before opening a ticket. Three known causes cover most failures, and Step 1.4 (Enable the MCP Endpoint) is the most common one.

Common Setup Pitfalls

You finished setup, opened Claude Desktop, and saw “Server disconnected” or “no tools available”. Three real causes account for most of these reports. Check them in order before opening a ticket.

1

Symptom

Claude shows "Server disconnected" right after restart

Cause

The MCP Endpoint master switch is OFF by default. Generating an API key and completing the Setup Assistant does not flip it on — that toggle is separate, and the endpoint will not respond to any request until it is enabled.

Fix

In WHMCS Admin, go to Addons → MCP Server → Settings → Connection. Find the "MCP Endpoint" card and switch the toggle to Enabled. Save. Then restart Claude Desktop.

2

Symptom

Claude replies "I don't have any tools" when you ask

Cause

Claude Desktop hallucinates on meta-questions about its own capabilities. Asking "what tools do you have?" or "are you connected?" can return a confident "no" even when the connection is healthy. The tools are loaded — the model just answers the wrong question.

Fix

Skip the meta-question. Give Claude a concrete WHMCS task instead: "List our 5 most recent clients" or "Show me overdue invoices". If a tool call happens and returns data, the connection is fine.

3

Symptom

You edited the config but Claude still doesn't see WHMCS

Cause

Claude Desktop only reads the MCP config at full app startup. A normal window close, reload, or Developer → Reload does not pick up changes. The process needs to fully exit.

Fix

Quit Claude Desktop completely: Cmd+Q on macOS, Alt+F4 on Windows (or right-click the tray icon → Quit). Then reopen. The MCP config is now loaded fresh. This also applies to swapping a Bearer token — old token stays cached until the app fully restarts.

Still stuck after these three? Continue to the Troubleshooting section below for connection, authentication, and license errors.

Troubleshooting

Your AI client doesn't show MCP Servers connected

  • Check config file is saved correctly
  • For Claude Desktop: verify Node.js is installed (run node --version in terminal)
  • Check Claude Desktop logs at ~/Library/Logs/Claude/ (Claude Desktop only)
  • Restart Claude Desktop completely

Your AI client says it doesn't have access to WHMCS

  • Verify WHMCS URL ends with /modules/addons/mx_mcp/mcp.php
  • Check Bearer token is copied correctly (no extra spaces)
  • Test the endpoint manually with curl: curl -H "Authorization: Bearer YOUR_TOKEN" https://your-whmcs.com/modules/addons/mx_mcp/mcp.php
  • Check addon is activated in WHMCS

Error: "Module license is invalid or expired"

  • Go to WHMCS Admin → Configuration → Addon Modules → MCP Server → Configure
  • Enter your License Key in the License Key field
  • Click "Save Changes"
  • Verify License Status shows "Active"
  • If license is correct but still invalid, contact support

Error: "Unauthorized" or 401 response

  • Go to WHMCS Admin → Addons → MCP Server → API Keys tab
  • Verify your credential exists and is active
  • Generate a new Bearer token if needed
  • Make sure the Authorization header is formatted exactly as: Bearer YOUR_TOKEN

Not all tools are showing (or tools disappear after a while)

  • Claude Desktop caches the tool list at startup. Restart the app completely to reload all tools.
  • In Claude Desktop: go to Developer menu → Reload MCP Configuration.
  • On Windows, if tools still disappear: close Claude Desktop, delete the Cache and Code Cache folders inside %AppData%LocalAnthropicClaude, then reopen.
  • This is a Claude Desktop limitation and does not affect Cursor, VS Code, or other clients.

Tools and Prompts Reference

MCP Server ships 68 core tools across 12 categories (up to 84 total with MX Metrics and MX Proposals installed) plus 10 workflow prompts (slash commands) in v1.7.1. Tools answer single questions; prompts orchestrate multi-step workflows. Both invoke through natural language from any MCP client.

Client Management

5 tools

Products

2 tools

Service Management

8 tools

Invoice Management

8 tools

Quote Management

6 tools

Order Management

6 tools

Support Tickets

9 tools

Domain Management

10 tools

Affiliates & Promotions

3 tools

System & Configuration

11 tools

Business Metrics

5 tools (MX Metrics)

Proposals

11 tools (MX Proposals)

Tip: You don't need to remember tool names. Simply describe what you want in natural language and Claude will use the appropriate tool automatically.

Congratulations!

You've successfully connected Claude to your WHMCS. Try these example prompts:

"Show me today's revenue"

"List all pending orders"

"Which clients opened tickets this week?"

"Update client #7's phone number"