{
  "markdown": "# obambu-cpanel-mcp\n\nA [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that lets an AI assistant (Claude, etc.) manage a cPanel hosting account through the [cPanel UAPI](https://api.docs.cpanel.net/openapi/cpanel/overview/).\n\nIt 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.\n\n## Requirements\n\n- Node.js 18+\n- A cPanel account with API token access (Security → Manage API Tokens in cPanel)\n\n## Getting your cPanel credentials (Obambu example)\n\nThe four env vars below can come from any cPanel host, but here's how to find them on **Obambu**:\n\n- **`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.\n- **`CPANEL_PORT`** — `00000` (cPanel's default HTTPS port). Leave it unless your host says otherwise.\n- **`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.\n- **`CPANEL_API_TOKEN`** — generate one yourself, it is *not* your cPanel password:\n  1. Log into cPanel at `https://<CPANEL_HOST>:00000`\n  2. Go to **Security → Manage API Tokens**\n  3. Click **Create**, give it a name (e.g. `mcp-server`), optionally restrict it to specific ACLs, then **Create**\n  4. Copy the token immediately — cPanel only shows it once\n\n## Using it with an MCP client (npx, recommended)\n\nPublished on npm as [`obambu-cpanel-mcp`](https://www.npmjs.com/package/obambu-cpanel-mcp) — no clone or build needed. Add it to your MCP client config (e.g. Claude Desktop / Claude Code):\n\n```json\n{\n  \"mcpServers\": {\n    \"obambu-cpanel\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"obambu-cpanel-mcp\"],\n      \"env\": {\n        \"CPANEL_HOST\": \"your-server-hostname-or-ip\",\n        \"CPANEL_PORT\": \"00000\",\n        \"CPANEL_USERNAME\": \"your-cpanel-username\",\n        \"CPANEL_API_TOKEN\": \"your-api-token\"\n      }\n    }\n  }\n}\n```\n\n## Running from source\n\n```bash\ngit clone https://github.com/RodrigueDev13/obambu-cpanel-mcp.git\ncd obambu-cpanel-mcp\nnpm install\ncp .env.example .env\n```\n\nEdit `.env` with your cPanel details, then:\n\n```bash\nnpm run build\nnpm start\n```\n\nFor local development without building first:\n\n```bash\nnpm run dev\n```\n\nWhen running from source, point your MCP client at the built entrypoint instead of `npx`:\n\n```json\n{\n  \"mcpServers\": {\n    \"obambu-cpanel\": {\n      \"command\": \"node\",\n      \"args\": [\"/absolute/path/to/obambu-cpanel-mcp/dist/index.js\"],\n      \"env\": {\n        \"CPANEL_HOST\": \"your-server-hostname-or-ip\",\n        \"CPANEL_PORT\": \"00000\",\n        \"CPANEL_USERNAME\": \"your-cpanel-username\",\n        \"CPANEL_API_TOKEN\": \"your-api-token\"\n      }\n    }\n  }\n}\n```\n\n## Available tools\n\n| Tool | Description |\n|---|---|\n| `get_account_summary` | Disk/bandwidth quota usage and general stats |\n| `list_domains` | Domains, subdomains, addon domains and parked domains |\n| `list_dns_records` | Read a domain's DNS zone |\n| `add_dns_record` | Add a DNS record |\n| `edit_dns_record` | Edit an existing DNS record |\n| `remove_dns_record` | Remove a DNS record |\n| `list_emails` | List email accounts |\n| `create_email` | Create an email account |\n| `delete_email` | Delete an email account |\n| `list_files` | List files/directories under the account home directory |\n| `list_databases` | List MySQL databases |\n| `list_database_users` | List MySQL database users |\n| `create_database` | Create a MySQL database |\n| `create_database_user` | Create a MySQL database user |\n| `grant_database_privileges` | Grant a user privileges on a database |\n| `cpanel_uapi_call` | Call any UAPI module/function directly for anything not covered above |\n\n## Usage examples\n\nOnce connected, just talk to your assistant in plain language — it picks the right tool:\n\n- *\"Test the connection to my cPanel account\"* → `get_account_summary`\n- *\"What domains and subdomains are on this hosting account?\"* → `list_domains`\n- *\"Show me the DNS records for example.com\"* → `list_dns_records`\n- *\"Add an A record for shop.example.com pointing to 1.2.3.4\"* → `add_dns_record`\n- *\"Create a mailbox contact@example.com\"* → `create_email`\n- *\"Create a MySQL database and user for my new app, then grant privileges\"* → `create_database` + `create_database_user` + `grant_database_privileges`\n- *\"List the files in public_html\"* → `list_files`\n- *\"Read config/filesystems.php and fix this path\"* → `cpanel_uapi_call` with `module: \"Fileman\", function: \"get_file_content\"` / `save_file_content`\n\nBecause 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.\n\n## Notes on `Fileman`\n\nOnly `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.\n\n## Security\n\n- Never commit your `.env` file (it's git-ignored by default).\n- Scope your cPanel API token as narrowly as your provider allows.\n- 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.\n\n## License\n\nMIT\n",
  "bytes": 5850,
  "sha": "37e766f40a53d2d35b71239e582f14549e23af2b37e92cf9383928afbc8eaaa8",
  "repo_slug": "rodriguedev13/obambu-cpanel-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_rodriguedev13_obambu_cpanel_mc_738626be/readme"
}