Table of contents

Using Agents

Prompts, deploy workflows, and IDE setup for MetroPanel Connect Agents. Start with Connect Agents if you still need a token.

Speak naturally. MetroPanel MCP picks the right tools, waits for deploy to finish, and summarizes the result. Same prompts work in Cursor, Claude Code, Codex, and similar IDEs.

Change names, domains, or the ZIP path before sending (e.g. My Blog, example.com, /Users/you/site.zip).

💡
Tip
Use a Read token for list-only prompts. Use Manage for install, deploy, domain, SSL, or remove actions.

List my apps · Read

Show me all apps on my MetroPanel hosting account. Summarize each one’s name, type, status, and domain if it has one.

List domains · Read

List all domains on my MetroPanel account and tell me which ones look ready for SSL.

Deploy WordPress · Manage

Using MetroPanel, deploy WordPress named “My Blog” on my hosting account (a free system subdomain is fine). Wait until it’s ready, then tell me the status, live URL/domain, and what to do next.

Create PHP site (for my code) · Manage

Using MetroPanel, create a PHP website named “My Site” for my own code (system subdomain is fine). Wait until it’s running. Do not deploy a ZIP yet — I’ll give you an absolute path to a .zip on this computer next.

Create Static site (for my code) · Manage

Using MetroPanel, create a static website named “Landing” for my own files (system subdomain is fine). Wait until it’s running, then tell me which app to use for a ZIP deploy.

Create Node.js app (for my code) · Manage

Using MetroPanel, create a Node.js app named “My App” (prefer Node 20 if asked; system subdomain is fine). Wait until it’s running. Don’t deploy yet — I’ll provide a ZIP path on this computer (zip without node_modules).

Put my project online (ZIP) · Manage

Using MetroPanel, deploy this ZIP into my existing PHP, Node.js, or Static app: /ABSOLUTE/PATH/TO/site.zip (file must be on this computer; for Node exclude node_modules). If I haven’t named the app, list my apps and ask which one. Wait until deploy finishes, then tell me the result and domain if available.

Add domain + SSL · Manage

Using MetroPanel, add the domain example.com to my account. After I confirm DNS points to this server, install Let’s Encrypt SSL for it and report the result.

Remove an app · Manage

Using MetroPanel, list my apps and show candidates to delete. Only after I clearly confirm which app, remove it. Do not delete anything without my explicit confirmation.
💡
Note
Destructive actions (remove app / domain) still need your clear confirmation in chat. Do not ask the agent to delete without naming what to remove.

Depending on the preset (and what the connector version supports), AI can typically:

  • Yes — List your apps and check status / details
  • Yes — List domains and databases (passwords are not returned by the API)
  • Yes — See account usage (disk / bandwidth style summaries)
  • Yes — Browse available one-click app templates
  • Yes — With Manage: install_app / remove_app, add_domain / remove_domain, install_ssl (same panel rules; destructive tools need confirm=true)
  • Yes — With Manage: deploy a ZIP (or Git pull) into an existing PHP Website, Node.js App, or Static Site — see next section
  • Yes — Help you decide next steps (“which app is offline?”, “what templates can I install?”)

This is simple “build in the IDE → put it online” path — without giving the AI File Manager or Terminal access.

1. Install a PHP Website / Node.js App / Static Site (panel or agent) 2. Build the project in Cursor / Claude / Codex (on your computer) 3. Zip the project (for Node: exclude node_modules; include package.json) 4. Ask the agent (Manage token): deploy_app_zip → app_id + path to the ZIP 5. MetroPanel extracts into the app deploy root and rebuilds Node apps on the server 6. Poll get_app until status is running (or failed)
App type Deploy root ZIP should contain
PHP Website public_html/ Your PHP site (e.g. index.php) — single top-level folder is OK
Static Site public/ HTML/CSS/JS (e.g. index.html)
Node.js App App root Source + package.json (no node_modules); server runs install/build
💡
Security
the agent only calls a scoped deploy API. The panel host script unpacks into that app’s folder. There is no open shell and no arbitrary file browse. A leaked Manage token can still overwrite that app’s files via deploy — revoke tokens you do not need.
💡
Note
ZIP deploy replaces the contents of the deploy root (Node apps keep an existing .env when possible). It is not for WordPress/Docker catalog apps — use those templates’ own install flows.

API (Manage token):

POST /api/v1/apps/{id}/deploy-zip (multipart field: archive=@site.zip) POST /api/v1/apps/{id}/deploy-git (Node apps with Git already configured in the panel) GET /api/v1/apps/{id} (poll status)

MCP tools: install_app, deploy_app_zip, deploy_app_git, get_app (poll). Also add_domain / install_ssl when you need a custom hostname.

Agent tokens are intentionally limited. AI cannot:

  • No — Access other customers’ accounts or the whole server
  • No — Open File Manager or browse / edit arbitrary files one-by-one
  • No — Open App Terminal / SSH / run free shell commands
  • No — Create, delete, suspend, or take over hosting accounts
  • No — Change packages or server-wide settings
  • No — Run account backups / transfers / imports via this token
  • No — Read database passwords or secret environment values from the API
  • No — Bypass SSL, firewall, or admin-only areas
💡
ZIP / Git deploy
If a prompt asks the AI to “SSH in” or “edit random files on the server” using only this MetroPanel token, that path is blocked on purpose. Use ZIP / Git deploy for publishing, or the panel File Manager yourself.

Recommended workflow for custom websites (what most people want):

Goal Recommended approach
Custom PHP / Node / static site Install the matching template → code in the IDE → ZIP deploy (Manage token)
Write or fix application code Edit in Cursor/Codex/Claude on your computer, then redeploy the ZIP (or Git)
Install WordPress / n8n / catalog apps Ask the agent (Manage) or use Apps → Install in the panel
“Why is my site down?” Agent reads app status / account info; you apply fixes in the panel or redeploy
One-off file tweaks on the server Panel File Manager — not the agent token

Think of it this way: IDE = build the site, MetroPanel agent = host controls + put online.

  1. Click Connect IDE…
  2. Open the tab for your tool
  3. Copy the snippet and paste it into that tool’s config
Tool Where the snippet goes
OpenAI Codex ~/.codex/config.toml (or project .codex/config.toml) — TOML format
Cursor Cursor MCP settings — JSON
Claude Code Claude Code MCP settings — JSON
Advanced Environment variables or raw curl API examples

Default snippets use npx so the connector installs and runs on your computer (Node.js 20+), downloading the package from this panel’s /downloads/metropanel-mcp.tgz URL. That is intentional — do not point Cursor/Codex at a path like /opt/metropanel/mcp-server on the panel host (your IDE cannot see that filesystem).

If npx cannot reach the panel (offline / custom TLS), use the Advanced tab: copy the MCP connector onto this computer, run npm install, then replace the absolute path placeholder in the JSON.

Back to Connect Agents — overview, setup, access levels, security, and FAQ.