xCloud MCP Server

Connect your AI assistant to xCloud and manage servers, sites, WordPress, SSL, backups and deployments from your editor or chat.

Run this in your terminal. Then type /mcp inside Claude Code and choose Authenticate; the browser opens for the xCloud approval screen.

Terminal
claude mcp add xcloud --transport http https://app.xcloud.host/mcp

Open Settings, then Connectors, then Add custom connector. Name it xcloud and paste this URL. Claude Desktop opens the browser sign-in for you.

URL
https://app.xcloud.host/mcp

Add this to ~/.cursor/mcp.json, or use Settings, then MCP, then Add new MCP server. Click Needs login on the server to approve. Cursor caps a server at 40 tools: if it refuses the list, use the compact URL from the reference below.

JSON
{
  "mcpServers": {
    "xcloud": { "url": "https://app.xcloud.host/mcp" }
  }
}

Run both lines in your terminal. The second one opens the browser sign-in.

Terminal
codex mcp add xcloud --url https://app.xcloud.host/mcp
codex mcp login xcloud

Add this under "mcp" in ~/.config/opencode/opencode.jsonc, then run opencode mcp auth xcloud to sign in.

JSON
"xcloud": { "type": "remote", "url": "https://app.xcloud.host/mcp", "enabled": true, "oauth": {} }

Add this to ~/.hermes/config.yaml. On first connect Hermes prints the authorize link and opens your browser for the xCloud sign-in; run hermes mcp login xcloud if you ever need to re-authorize.

YAML
mcp_servers:
  xcloud:
    url: "https://app.xcloud.host/mcp"
    auth: oauth

GitHub Copilot, VS Code and any client that speaks MCP Streamable HTTP: add the server URL under mcpServers in its config. OAuth starts on first use. A client that only runs local servers can bridge with mcp-remote.

JSON
"xcloud": { "url": "https://app.xcloud.host/mcp" }
Terminal
npx mcp-remote https://app.xcloud.host/mcp

Then ask your assistant: Who am I on xCloud? It should answer with your name, email and team.No browser? Connect with an API key

  • Free with every xCloud account
  • OAuth in the browser, no token to store
  • Read-only option; risky changes ask first

What you can ask

Run Your Hosting from a Conversation

Describe the outcome and the assistant picks the xCloud tool. Reads run straight away. Anything that creates, changes or deletes stops and asks you first. Copy a prompt, swap in your own site and server names.

YouList all my xCloud servers with CPU, RAM and disk usage, and flag any above 80% disk.

→list_servers read-only

3 servers — Frankfurt 42% · London 61% · Singapore 86% ⚠

xCloudSingapore is over 80% disk. Want the largest sites and caches on it?

  • See everything at once

    Server load, pending updates, vulnerabilities and open alerts, without opening thirty tabs.

    Prompt
    List all my xCloud servers with CPU, RAM and disk usage, and flag any server above 80% disk.
    Prompt
    Which of my sites have pending WordPress core, plugin or theme updates? Group them by site.
  • Keep WordPress up to date

    Plugins, themes, debug mode and a passwordless login link for the admin.

    Prompt
    Update every plugin on the Northwind site, then confirm the homepage still loads.
    Prompt
    Give me a magic login link for the Northwind WordPress admin.
  • Create and deploy

    New sites with a dry run first, Git and Docker Compose deploys, staging for Git-backed apps.

    Prompt
    Dry-run a new WordPress site called Northwind on my Frankfurt server and show me the resolved configuration without creating anything.
    Prompt
    Deploy the main branch of github.com/acme/api to my Docker server as a Compose app on a staging hostname.
  • Recover a failed deploy

    A failed deploy gets a diagnosis that names the step, shows the output and lists what would fix it.

    Prompt
    The last deploy of the API site failed. Diagnose it, show me the settings I can correct, fix the build command, and retry on the same site.
    Prompt
    Scan the docker-compose.yml in github.com/acme/api and tell me which services and ports xCloud would use.
  • Security, SSL and backups

    Vulnerability rollups, certificate checks and renewals, backup status for every site.

    Prompt
    Show the vulnerability count for every site on this team, sorted worst first.
    Prompt
    Check the SSL certificate on shop.example.com and tell me when it expires.
    Prompt
    When was the last backup of the shop site, did it succeed, and where is it stored?
  • Server housekeeping

    Services, PHP and Node.js versions, cron jobs, cache purges and reboots.

    Prompt
    Install Redis on the Frankfurt server and enable the service.
    Prompt
    Purge all caches on the shop site.
    Prompt
    Reboot the staging server and tell me when it is back.

Chain the steps and let it work

The assistant remembers the conversation, so you can describe an outcome and set the condition for stopping. This one is four tools, run in order, each result checked before the next.

Prompt
Update every plugin on the Northwind site, then run a vulnerability scan, and if the scan comes back clean give me a magic login link so I can check the pages. If it is not clean, stop and tell me what it found.

Read the full guide: 40+ prompts, what it will not do, and how to stay safe

How it works

One URL, Approved in Your Browser

The MCP server is built into xCloud and hosted at a single endpoint. Point your client at it and approve access once; every xCloud Public API operation is then a tool your assistant can call.

  • 01

    Choose what it may do

    Read lets it view servers, sites, account and billing. Read and write lets it make changes. Start read-only and reconnect with more later.

  • 02

    Risky changes ask first

    Creating, deploying, updating, rebooting, deleting and buying are refused unless the assistant passes an explicit confirmation. Routine actions such as cache purges, backups, restarts and scans run straight away, and reads never ask. Site creation also has a dry run.

  • 03

    One connection, every team you choose

    Authorize the connection for several teams, then just name the team in the prompt. A team you did not grant is refused, never silently swapped.

    Multi-team access
  • 04

    Revoke in one click

    Every connection is listed with your API keys in the dashboard. Your client can add its own per-tool rules on top: run, ask, or block.

Setup overview

MCP endpoint
URL
https://app.xcloud.host/mcp
Transport
Streamable HTTP
Authentication
OAuth in the browser (recommended), or an API key with the mcp:invoke scope sent as
Terminal
Authorization: Bearer YOUR_TOKEN
Compact profile
Five tools instead of one per operation. Use this for any client that caps the tool list; toolsets alone rarely fit under a cap.
URL
https://app.xcloud.host/mcp?profile=compact

Reference

Everything Else, When You Need It

API keys for headless clients, profiles for clients that cap tools, the full toolset list, and what to do when something does not connect.

Connect with an API keyFor CI, servers and clients with no browser sign-in

Create an access token with the explicit mcp:invoke scope. Add read:servers and read:sites to let the assistant view things, or the write: scopes to let it make changes. Full access alone does not enable MCP. You can also limit a key to specific MCP toolsets when you create it. Create an API key.

Claude Code

Pass the key as a header when adding the server. Keep the single quotes: xCloud tokens contain a | character that a shell would otherwise read as a pipe.

Terminal
claude mcp add xcloud --transport http https://app.xcloud.host/mcp \
  --header 'Authorization: Bearer YOUR_TOKEN'

Claude Desktop

Add this to your Claude Desktop config file, then restart the app:

JSON
{
  "mcpServers": {
    "xcloud": {
      "type": "http",
      "url": "https://app.xcloud.host/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Cursor

In ~/.cursor/mcp.json, add the key as a header:

JSON
{
  "mcpServers": {
    "xcloud": {
      "url": "https://app.xcloud.host/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

Other clients

Configure the URL plus an Authorization header:

Code
URL:    https://app.xcloud.host/mcp
Header: Authorization: Bearer YOUR_TOKEN

Through the stdio bridge:

Terminal
npx mcp-remote https://app.xcloud.host/mcp --header "Authorization: Bearer YOUR_TOKEN"
Too Many Tools for Your Client?Flat, compact and toolset-limited views of the same server

Everything below is served from the same server URL with the same access; only the tool list the client sees differs.

Flat (default)

URL
https://app.xcloud.host/mcp

Every xCloud API operation is its own tool (servers_index, sites_ssl and so on), plus the two search tools. The full picture, at the cost of ~190 tool descriptions loaded every session.

Compact

URL
https://app.xcloud.host/mcp?profile=compact

Five tools: the two searches plus three executors split by what a call does (read, write, irreversible). Use it when your client caps how many tools a server may advertise, Cursor stops at 40, or when you would rather not load every description. An API key can carry mcp:profile:compact instead, for clients whose configuration has no room for a query string; /mcp/v2 is the same surface.

Toolsets

URL
https://app.xcloud.host/mcp?toolsets=sites,servers

Narrow the list to one or more areas of xCloud, for focus rather than for a tool cap: servers alone is 61 tools and sites 60, so use the compact profile for a cap. Both search tools stay, so the assistant can still tell you what it cannot reach. An API key can be limited to toolsets when you create it (a key with none selected sees every tool). Toolsets narrow what the assistant is shown, not what the key may do: the permissions on the connection decide every call.

What the Assistant Can Reach188 tools in 18 toolsets, plus two search tools

The server exposes 188 of the Public API's 199 operations as tools, plus two search tools, grouped into toolsets. Each toolset can be granted or narrowed on its own.

ToolsetToolsWhat it covers
servers61Create and list servers, monitoring stats, PHP and Node.js versions, services such as Redis and Docker, cron jobs, firewall rules, Fail2Ban, sudo users, reboots, staging hostname suggestions.
sites60Create, list and inspect sites, deploy from Git (native or Docker Compose), staging environments for Git sites, deploy diagnosis and correction, domains, DNS checks, SSL, cache purges, backups, cron jobs, events and logs.
billing10Current plan, billing overview, bills and invoices.
addons-mailbox9Mailbox plans, purchase, list, inspect, delete, verify DNS.
oneclick-apps7Browse the one-click catalogue, check server compatibility, install, poll status, fetch credentials, stop or redeploy.
vulnerabilities6Per-site findings and counts, the team-wide rollup, rescans, ignore and unignore a finding.
wordpress-actions5Update or activate plugins and themes, refresh the inventory, toggle WP_DEBUG, generate a magic login link.
sites-wordpress4List plugins and themes, the updates summary and the site health status.
broken-links4Trigger a broken-link scan and read its findings.
addons-mail-delivery4Mail Delivery plans, purchase and subscriptions.
alerts3List incident alerts, read one, mark it read.
pagespeed3Trigger a PageSpeed scan, latest snapshot, history.
ssl-certificates3Inspect, check and delete a certificate.
integrations3Connected Cloudflare and Git providers and their repositories.
catalog2The app catalogue and hosting pricing.
user2The current user and the teams the connection may act on.
blueprints1List blueprints.
payments1Pay an invoice.
xcloud_agent_search1Finds the right operation and the order to call things in. The assistant uses it when it is not sure which tool fits.
xcloud_docs_search1Answers a question from the xCloud documentation, so "how does the edge cache work?" is answered without a tool call against your account.
When Something Does Not Connect401, 403, missing tools and the 40-tool cap
SymptomCause and fix
Client asks for a tokenIt does not support browser sign-in. Use the API-key path in the Setup tabs above.
403 on connectThe approval was declined, or was granted read-only for a write action. Reconnect and approve read and write. On the API-key path, the key lacks the explicit mcp:invoke scope.
"Lacks the ... ability"The connection is not permitted that action. Reconnect with write access, or add the missing scope (for example write:sites) to your API key.
"Site not found"The site belongs to a team this connection was not granted. Ask the assistant to list its granted teams and name the right one, or reconnect and grant that team during authorization.
401 UnauthorizedThe sign-in expired: reconnect. On the API-key path the key is invalid, or the Authorization header was mangled by shell quoting; keep the single quotes around a token that contains |.
Client refuses to load all the toolsSome clients cap the tools per server (Cursor at 40). Connect with ?profile=compact, which is five tools. Toolsets alone rarely get under the cap: servers is 61 tools and sites is 60.
A tool you expected is not listedThe key is limited to some toolsets, or the URL carries ?toolsets=. Ask xcloud_agent_search for the operation, which says what exists, then widen the key or drop the parameter.
What the Server Does Not DoExcluded operations, dashboard-only workflows, no schedules
  • Eleven Public API operations are deliberately excluded: the health check, managing your own API tokens, and the native apps' sign-in and push-notification plumbing. Most customer-facing operations are available.
  • Every mutating operation is gated: without an explicit confirmation from the assistant it is refused. This is by design, not a bug to work around.
  • Some workflows remain dashboard-only today: WordPress staging (Git-backed sites can create staging environments through MCP), restoring a backup, and triggering a backup on a non-Docker site.
  • MCP runs while you are talking to your assistant. A long job started from chat finishes on xCloud either way, but nothing reports back after your session ends and nothing runs on a schedule. For that, use the Public API.
  • Tools that return credentials (one-click app logins, magic login links) return real secrets into the conversation. The server asks assistants not to echo them into summaries, but treat the transcript accordingly.

Frequently Asked Questions

Feel free to contact us with any questions or concerns you may have.

Is xCloud MCP free?

Yes. xCloud MCP comes free with your xCloud account. There is no separate plan, no extra purchase, and nothing to upgrade. This feature is included for every xCloud user, on both managed and self-managed servers.

What is MCP?

MCP, the Model Context Protocol, is an open standard that lets AI agents connect to external tools and act on your behalf. With xCloud MCP connected, you can ask your agent to check a server's health, run a backup, update plugins, purge a cache, or pull the latest vulnerability scan, and it does it through your xCloud account.

Which AI clients can I connect?

Any client that speaks the MCP Streamable HTTP transport: Claude Code, Claude Desktop, Cursor, Codex, OpenCode and others. Clients with browser sign-in connect over OAuth; anything else can use an API key with the mcp:invoke scope. Clients that only support local (stdio) servers connect through the mcp-remote bridge.

Can I limit what the agent is allowed to do?

Yes, at two levels. On the xCloud side you choose Read or Read and write when you authorize (or the scopes on an API key), and anything that creates, deploys, updates, reboots, deletes or buys is refused unless the assistant passes an explicit confirmation, while routine actions such as cache purges, backups, service restarts and scans run straight away. On the assistant's side, most clients let you set per-tool rules: run automatically, ask each time, or block. Read-only is a safe place to start; you can reconnect with wider access later.

How is this different from xCloud AI Agent Skills?

The skills are a plugin you install into Claude Code. MCP is an open protocol, so it is the way to connect every other client, including Claude Desktop and Cursor. Both are free, and both run on the same xCloud Public API.

Ready to Transform Your Hosting Workflow?

Connect your assistant in minutes with xCloud MCP and manage your server, sites and more in natural language.