WHMCS Addon Module · v0.0.1

Plug WHMCS into any AI agent.

Relyagent turns your WHMCS install into a self-hosted MCP server. Claude Desktop, Cursor, your custom bot — they speak Model Context Protocol; now WHMCS does too. OAuth-gated, scope-controlled, audit-logged.

WHMCS 8.x compatible OAuth 2.0 + PKCE 25+ scope-gated tools Self-hosted on your server
Claude Desktop
Connected to acme.relyweb.co · Relyagent MCP
● LIVE
How many open support tickets do we have, and what's the oldest unpaid invoice?
get_tickets {status: "Open"}✓ 200
get_due_invoices✓ 200
You have 14 open tickets (3 high-priority). The oldest unpaid invoice is INV-2026-00301 from Acme Cloud Pvt Ltd — ₹42,500, due 18 days ago.
✓ AUDIT-LOGGED
25+MCP tools
Clients · Tickets · Invoices
OAuth 2.0+ PKCE flow
Bearer-token auth
11Granular scopes
Read & write split
Every callAudit logged
With param redaction
60/minRate limited
Per-token windows
Architecture

One bridge. Every agent, every tool.

AI assistants connect through the Relyagent MCP gateway — OAuth-secured, scope-gated, rate-limited and fully audited — to reach your WHMCS clients, tickets, invoices, services and domains.

Relyagent MCP gateway — AI agents connect securely through OAuth, scope and rate-limit layers to WHMCS tools
Pricing

Simple, transparent licensing

One license per WHMCS installation. Includes updates, support, and unlimited MCP clients & tool calls.

Leased License

Yearly plan with continuous updates

$1.56/mo
Billed Annually. Renews at $18.77/year.
  • One WHMCS installation
  • Unlimited MCP clients & tool calls
  • One-click auto-updates
  • Email & ticket support
Choose Annual
* Prices are exclusive of GST. 18% GST applicable on Indian invoices.  ·  Need multiple installations? Contact us for volume pricing.
Built for AI-native WHMCS

Everything an LLM needs. Nothing it shouldn't.

A complete MCP server built into your WHMCS — with the guardrails your business actually needs in production.

6 tool groups, 25+ tools

Clients, tickets, invoices, services, domains, admin. Read or write, all scope-gated. Toggle entire groups on or off from the admin panel.

OAuth 2.0 + PKCE server

Full OAuth authorization-code server built in. Register clients from the admin UI, consent-screen flow, RSA-signed JWTs. No third-party auth service needed.

Streamable HTTP + SSE

Both MCP transports out of the box. Auto-negotiated per request via the Accept header. Works with every spec-compliant client.

Prompt-injection sanitiser

Ten known jailbreak patterns scrubbed from ticket bodies, client notes, and invoice descriptions before they reach the model. Detected hits flagged in the audit log.

Per-token rate limiting

Fixed-window minute + day counters per access token. Defaults 60/min and 5,000/day, tunable per install. Returns HTTP 429 + Retry-After on overflow.

Audit log + dangerous-tool gate

One row per tool call — success, sanitized, forbidden, rate-limited, error. Sensitive params redacted. Write tools refuse to fire until you flip the admin toggle.

OAuth · PKCE

Granular consent. No magic. No surprises.

Every MCP client is registered explicitly. Every connection goes through an admin consent screen with the exact scopes laid out. PKCE-protected, one-time auth codes, refresh tokens with rotation tracking.

  • 11 scopes — clients:read, tickets:write, admin:read, etc.
  • Per-client scope allow-list, enforced at token mint
  • Refresh-token rotation with revocation tracking
  • One-click panic switch revokes every active token
relyagent / oauth / authorize
Claude
Claude Desktop
wants permission to access your WHMCS
Requested scopes
clients:readView client profiles
tickets:readView support tickets
tickets:writeReply, change status
admin:readStats & activity log
Admin Control

See every connection. Revoke any of them.

The Relyagent admin panel gives you a live view of every registered client, every active token, and every tool call. Three KPIs at a glance, a click-to-revoke table, and a one-button panic switch when something feels off.

  • Live counts — connected clients, active tokens, calls today
  • One-time secret reveal on client registration
  • Per-client revoke + global "revoke all tokens" panic switch
  • Group toggles for clients / tickets / invoices / services / domains / admin
relyagent / mcp clients
Clients
4 connected
Tokens
7 active
Calls
1,243 today
Registered clients
Claude
Claude Desktop
rly_4f3a2b9c
active
Cursor
Cursor IDE
rly_8c1d7e2a
active
Support Bot
rly_2e9f1a0d
idle
Audit Trail

Every tool call. Every parameter. Every status.

Relyagent writes one audit row per tool call — regardless of outcome. Success, sanitised, forbidden, rate-limited, or error. Sensitive parameters (passwords, card numbers, OAuth secrets) are redacted before insert. Queryable from the admin panel, exportable as CSV.

  • One row per dispatch — success / sanitized / forbidden / rate_limited / error
  • 20+ redacted param keys — passwords, tokens, card data
  • Filterable by tool name, status, and date range
  • CSV export with no-cache headers — up to 10k rows
relyagent / audit log — last 24h
AllSuccessSanitizedForbidden
TimeToolClientStatus
14:22:08get_clientClaudesuccess
14:21:55get_ticketCursorsanitized
14:21:32suspend_serviceBotforbidden
14:21:18get_due_invoicesClaudesuccess
14:20:47search_clientsBotrate_limited
Defence in depth

Built assuming an LLM will misbehave

AI agents make mistakes. Sometimes they get prompt-injected. Sometimes they hallucinate a destructive action. Relyagent assumes the worst — and contains it at four layers.

01 / OAuth

OAuth 2.0 + PKCE

Bearer-token auth via league/oauth2-server. RSA-signed JWTs. Per-install keypair, rotatable on demand. Every call validated through a real resource server.

02 / Audit

Every dispatch logged

One audit row per tool call. Success, sanitised, forbidden, rate-limited, or error — all captured. Sensitive parameters redacted before insert. CSV export, no leaks.

03 / Limits

Per-token rate limiting

Minute and day windows per access token. Defaults 60/min and 5,000/day. Tunable up to 10,000/min, 1M/day. HTTP 429 + Retry-After on overflow.

04 / Sanitiser

Prompt-injection defence

Ten known jailbreak patterns scrubbed from every value flowing back to the LLM. Hits flagged in the audit log as status=sanitized for forensic review.

Compatibility

Requirements & compatibility

Relyagent runs on standard WHMCS environments. No exotic dependencies, no extra services to manage, no third-party auth provider.

System Requirements

WHMCS Version8.x or higher
PHP Version7.4 or higher
ionCube LoaderRequired
DatabaseMySQL / MariaDB
Disk Space~ 8 MB

PHP Extensions

curl✓ required
openssl✓ required
json✓ required
zip✓ required
mbstring✓ required
FAQ

Common questions

Can't find what you're looking for? Get in touch.

What is Relyagent in one sentence?

A WHMCS addon that exposes your WHMCS install as a self-hosted MCP (Model Context Protocol) server — so any LLM client that speaks MCP (Claude Desktop, Cursor, your custom agent) can call WHMCS tools through OAuth 2.0 + PKCE.

Roughly 25 scope-gated tools across six groups: clients, tickets, invoices, services, domains, and admin.

How does an LLM client connect?

You register the client from Addons → Relyagent → MCP Clients, picking which OAuth scopes it can request. The client then uses the standard OAuth 2.0 authorization-code flow with PKCE — you approve the request on a consent screen with the exact scopes spelled out, and the client receives a bearer access token and refresh token.

Every subsequent JSON-RPC call carries that bearer. Refresh tokens rotate on use.

Does it work with Claude Desktop, Cursor, and the Anthropic API?

Yes — Relyagent ships both MCP transports: Streamable HTTP (default) and Server-Sent Events (when the client sends Accept: text/event-stream). Anything that implements the MCP 2025-03-26 spec works out of the box.

Is it safe to expose WHMCS data to an AI agent?

That's the entire design centre. Every tool requires a specific OAuth scope. Write operations require an additional "Dangerous Operations" admin toggle, which starts off. Every parameter and result flows through a prompt-injection sanitiser. Every call is rate-limited per token. Every call is audit-logged with sensitive parameters redacted.

The agent can only do what you explicitly granted — and you can see exactly what it did.

Can I disable write operations entirely?

Yes — and that's the default. The Dangerous Operations toggle in MCP Settings starts off. Until you flip it on, write tools (suspend_service, create_invoice, update_client, add_credit, etc.) reject every call with MCP error -32004.

You can also disable entire tool groups (clients, tickets, invoices, services, domains, admin) independently — useful for staging environments or restricted-purpose agents.

What about rate limits and abuse prevention?

Each access token has its own minute + day counters. Defaults are 60/min and 5,000/day, tunable in MCP Settings (hard ceilings: 10,000/min and 1,000,000/day). On overflow the request returns HTTP 429 with a Retry-After header and MCP error -32029.

There's also a one-click "Revoke All Tokens" panic switch in the admin panel for when something's clearly wrong.

How does the prompt-injection sanitiser work?

A library of ten known jailbreak patterns — ignore previous instructions, you are now a/an, act as, [INST], <|im_start|>, DAN mode, jailbreak, and several others — is matched against every string in every tool response. Anywhere user-generated text lives: ticket bodies, client notes, invoice descriptions, etc.

Matches are replaced with [sanitized]. The audit row gets tagged status=sanitized so you can spot which calls hit a pattern.

What WHMCS versions are supported?

Relyagent v1.0.x is built and tested for WHMCS 8.x with PHP 7.4 or higher. ionCube Loader is required (it's pre-installed on virtually all WHMCS-ready hosting environments, including all Relyweb hosting plans).

How do licensing and updates work?

One license per WHMCS installation, matched by domain and directory. The plugin checks your license periodically and caches the result locally. Updates are checked daily — when one's available, click "Update Now" from the admin panel; the plugin backs up the current installation before applying the update and auto-restores if anything fails.

Annual licenses continue to work after expiry, but stop receiving updates and support. Lifetime licenses never expire.

Can I get a refund if it doesn't work for me?

Yes — we offer a 14-day money-back guarantee. If Relyagent doesn't fit your setup or doesn't meet your needs, just contact support within 14 days of purchase for a full refund.

Hand WHMCS to your AI agents. Safely.

OAuth-protected. Audit-logged. Scope-controlled. 14-day money-back guarantee, no risk.