Obambu cPanel MCP

io.github.RodrigueDev13Published by GitHub account RodrigueDev13v0.1.2Updated Oct 24, 2026

MCP server exposing cPanel UAPI (domains, DNS, email, MySQL, files) as tools for AI assistants.

VerifiedSTDIODesktop onlyCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

A local MCP server that lets an AI assistant manage a cPanel hosting account through the cPanel UAPI: domains, DNS, email, MySQL and files.

What you can do
Inspect the account: quota and bandwidth summary, domains and subdomains, DNS zone records, email accounts, MySQL databases and users, files under the home directory. Create and change DNS records: add, edit and remove records in a domain's zone. Manage email accounts: create and delete mailboxes. Manage MySQL: create databases and users, grant privileges. Call any other cPanel UAPI module or function through a generic escape hatch, including reading and saving individual files.
When to use it
Useful when you want to run cPanel hosting chores in plain language from an assistant: checking domains and DNS before a cutover, adding DNS records, creating mailboxes, provisioning a database for a new app, or auditing an account during a migration.
Requirements
Runs locally via npx with Node.js 18 or later. Needs a cPanel account with API token access and four environment variables: CPANEL_HOST, CPANEL_USERNAME, CPANEL_API_TOKEN, and optionally CPANEL_PORT. Network access to the cPanel server is required.
Before you install
The token in CPANEL_API_TOKEN grants API access to the hosting account; scope it as narrowly as the provider allows and keep it out of committed files. Several tools write or delete: DNS records, email accounts, databases and users, and the generic UAPI call can invoke any function available to the account, including file writes. Prefer the cPanel File Manager for bulk file operations.

Installation

In SourceWeft

  1. Open Obambu cPanel MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

obambu-cpanel-mcp

A Model Context Protocol (MCP) server that lets an AI assistant (Claude, etc.) manage a cPanel hosting account through the cPanel UAPI.

It exposes tools for domains, DNS zones, email accounts, MySQL databases, and file listing, plus a generic escape hatch to call any other UAPI module/function.

Requirements

  • Node.js 18+
  • A cPanel account with API token access (Security → Manage API Tokens in cPanel)

Getting your cPanel credentials (Obambu example)

The four env vars below can come from any cPanel host, but here's how to find them on Obambu:

  • CPANEL_HOST — your server hostname, e.g. cp4.obambu.com (or your own domain if cPanel is reachable at https://yourdomain.com:2083). Find it in your Obambu welcome email, or in your domain's DNS zone: look for an A record named cpanel (e.g. cpanel.yourdomain.com) — that same server also answers at its cpX.obambu.com hostname.
  • CPANEL_PORT — 00000 (cPanel's default HTTPS port). Leave it unless your host says otherwise.
  • CPANEL_USERNAME — your cPanel account username, shown top-right when logged into cPanel, or in the welcome email Obambu sent when the hosting account was created.
  • CPANEL_API_TOKEN — generate one yourself, it is not your cPanel password:
    1. Log into cPanel at https://<CPANEL_HOST>:00000
    2. Go to Security → Manage API Tokens
    3. Click Create, give it a name (e.g. mcp-server), optionally restrict it to specific ACLs, then Create
    4. Copy the token immediately — cPanel only shows it once

Using it with an MCP client (npx, recommended)

Published on npm as obambu-cpanel-mcp — no clone or build needed. Add it to your MCP client config (e.g. Claude Desktop / Claude Code):

json
{  "mcpServers": {    "obambu-cpanel": {      "command": "npx",      "args": ["-y", "obambu-cpanel-mcp"],      "env": {        "CPANEL_HOST": "your-server-hostname-or-ip",        "CPANEL_PORT": "00000",        "CPANEL_USERNAME": "your-cpanel-username",        "CPANEL_API_TOKEN": "your-api-token"      }    }  }}

Running from source

bash
git clone https://github.com/RodrigueDev13/obambu-cpanel-mcp.gitcd obambu-cpanel-mcpnpm installcp .env.example .env

Edit .env with your cPanel details, then:

bash
npm run buildnpm start

For local development without building first:

bash
npm run dev

When running from source, point your MCP client at the built entrypoint instead of npx:

json
{  "mcpServers": {    "obambu-cpanel": {      "command": "node",      "args": ["/absolute/path/to/obambu-cpanel-mcp/dist/index.js"],      "env": {        "CPANEL_HOST": "your-server-hostname-or-ip",        "CPANEL_PORT": "00000",        "CPANEL_USERNAME": "your-cpanel-username",        "CPANEL_API_TOKEN": "your-api-token"      }    }  }}

Available tools

ToolDescription
get_account_summaryDisk/bandwidth quota usage and general stats
list_domainsDomains, subdomains, addon domains and parked domains
list_dns_recordsRead a domain's DNS zone
add_dns_recordAdd a DNS record
edit_dns_recordEdit an existing DNS record
remove_dns_recordRemove a DNS record
list_emailsList email accounts
create_emailCreate an email account
delete_emailDelete an email account
list_filesList files/directories under the account home directory
list_databasesList MySQL databases
list_database_usersList MySQL database users
create_databaseCreate a MySQL database
create_database_userCreate a MySQL database user
grant_database_privilegesGrant a user privileges on a database
cpanel_uapi_callCall any UAPI module/function directly for anything not covered above

Usage examples

Once connected, just talk to your assistant in plain language — it picks the right tool:

  • "Test the connection to my cPanel account" → get_account_summary
  • "What domains and subdomains are on this hosting account?" → list_domains
  • "Show me the DNS records for example.com" → list_dns_records
  • "Add an A record for shop.example.com pointing to 1.2.3.4" → add_dns_record
  • "Create a mailbox [email protected]" → create_email
  • "Create a MySQL database and user for my new app, then grant privileges" → create_database + create_database_user + grant_database_privileges
  • "List the files in public_html" → list_files
  • "Read config/filesystems.php and fix this path" → cpanel_uapi_call with module: "Fileman", function: "get_file_content" / save_file_content

Because tool calls map directly to UAPI modules, this is also useful for real migration/deployment workflows — e.g. moving a site to a new cPanel account, provisioning a database for a fresh app, or auditing DNS before a domain cutover.

Notes on Fileman

Only list_files (backed by Fileman::list_files) and, through the cpanel_uapi_call escape hatch, get_file_content / save_file_content are known to work reliably for reading and writing individual files. Bulk filesystem operations (extract_files, rename, mkdir, fileop, delete_files, ...) are not guaranteed to be available depending on your cPanel version/provider — test before relying on them, and prefer cPanel's File Manager UI for bulk moves, extraction, and deletion.

Security

  • Never commit your .env file (it's git-ignored by default).
  • Scope your cPanel API token as narrowly as your provider allows.
  • The cpanel_uapi_call tool can call any UAPI function available to your account — treat it with the same care as direct API/token access.

License

MIT

Source: README.md at commit 84d3b3c

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts