
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.
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.
Installation
In SourceWeft
- Open Obambu cPanel MCP in the dashboard and add it to a workspace.
- 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 athttps://yourdomain.com:2083). Find it in your Obambu welcome email, or in your domain's DNS zone: look for anArecord namedcpanel(e.g.cpanel.yourdomain.com) — that same server also answers at itscpX.obambu.comhostname.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:- Log into cPanel at
https://<CPANEL_HOST>:00000 - Go to Security → Manage API Tokens
- Click Create, give it a name (e.g.
mcp-server), optionally restrict it to specific ACLs, then Create - Copy the token immediately — cPanel only shows it once
- Log into cPanel at
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):
Running from source
Edit .env with your cPanel details, then:
For local development without building first:
When running from source, point your MCP client at the built entrypoint instead of npx:
Available tools
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_callwithmodule: "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
.envfile (it's git-ignored by default). - Scope your cPanel API token as narrowly as your provider allows.
- The
cpanel_uapi_calltool 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
0Version history
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