GitHub Copilot + xCloud

Install one-click apps with GitHub Copilot on xCloud

Managing one-click apps with GitHub Copilot means using agent mode in VS Code to stop, start, restart or redeploy an app already installed on xCloud, after Copilot explains what each action does and you approve it.

  • Skill: xcloud:deploy
  • Toolsets: oneclick-apps, catalog, servers
  • Free with every xCloud account

YouRestart the Ghost app on blog.example.com. What are my options?

oneclickApps_statusread-only

AgentIt is running. A restart keeps the containers. Stop takes it offline until you start it. Redeploy recreates the containers. Which one?

YouRestart.

oneclickApps_lifecycleneeds approval

AgentRestarted. The status shows the app running and the site answers.

. Keep a human in the loop: xCloud stops and asks before anything that creates, deploys, updates, reboots, deletes or buys.

Setup

How Do You Set Up GitHub Copilot to Install one-click apps on xCloud?

Connect GitHub Copilot once; every job on this account uses the same connection. Then ask in plain words.

  1. Add xCloud to .vscode/mcp.json

    Create or open .vscode/mcp.json in your workspace and paste this. VS Code uses a top-level servers key, not mcpServers, and a remote server needs type http. The URL carries profile=compact because VS Code allows at most 128 tools in one chat request and the full xCloud server advertises one tool per customer-facing operation, 188 today; the compact profile is five tools that still reach every operation. Start the server from MCP: List Servers. xCloud then asks you to sign in in the browser, where you tick the teams and choose Read-only or Full access.

    JSON
    {
      "servers": {
        "xcloud": {
          "type": "http",
          "url": "https://app.xcloud.host/mcp?profile=compact"
        }
      }
    }
  2. Or add it from the Command Palette

    Open the Command Palette and run this command, follow the prompts to add a remote HTTP server, paste https://app.xcloud.host/mcp?profile=compact and name it xcloud. VS Code asks where to save it; pick the workspace to share the entry with your team, or your user profile to keep it to yourself.

    Code
    MCP: Add Server
  3. Add the Agent Plugins package

    Optional. The xCloud Agent Plugins package bundles plugin.json, mcp.json and the nine skills for GitHub Copilot and VS Code. Download it from the xcloud-agent-skills GitHub Releases page (dist/agent-plugin/xcloud) and follow VS Code's agent plugin instructions to install it.

    URL
    https://github.com/xCloudDev/xcloud-agent-skills
  4. Check it worked

    Then ask GitHub Copilot for the job itself, for example:

    Prompt
    Restart the Ghost app on blog.example.com. Tell me the difference between restart, stop and redeploy before you run anything.

In practice

How Does One-click apps Work from GitHub Copilot?

Installing an app is a one-time event, but looking after it is a regular chore, and the chat panel in VS Code is a convenient place for that chore. You have a Ghost blog on blog.example.com that is acting up, and you type that you want it restarted. Copilot in agent mode does not jump straight to the heaviest option. It explains the choices first: a restart, a stop that takes the app offline until you start it again, and a redeploy that recreates the app's containers. Then it asks which you mean and calls oneclickApps_lifecycle with that action once you approve.

The actions run synchronously, so the answer comes back in the panel as soon as the call returns, and Copilot reads the app's status afterwards to confirm it is up. Two refusals are worth recognising. If an install is still running, or the last install failed, xCloud answers 422 for stop, start or redeploy, and Copilot reports that rather than retrying. And VS Code shows its own confirmation for a tool call, so a lifecycle action can pass through two prompts: Copilot's question in the chat and VS Code's approval dialog for the tool. Both are by design for a call that can take an app offline.

Your workspace shapes the setup. If you put the xCloud entry in .vscode/mcp.json, it is shared with anyone who opens the repository, and each person signs in to xCloud with their own account, so approval is never inherited from a teammate. Use the user profile instead if you want the connection only for yourself. Copilot can also take on the setup for a new app first: it checks the catalogue with oneclickApps_index and the server with oneclickApps_compatibility before you install, using the same chat.

GitHub Copilot specific: The server entry lives under a top-level servers key in .vscode/mcp.json, not mcpServers, and a remote entry needs type http. If the tools are missing in the chat panel, open MCP: List Servers and start xcloud, because VS Code does not call a server that is stopped. Lifecycle calls are rate-limited, so do not ask Copilot to restart a long list of apps in one go.

What xCloud does for one-click apps

xCloud lists the one-click catalogue, checks whether an app fits a given server, installs it once you approve and reports each install phase until it finishes. Afterwards the agent can fetch the login details and stop, start or redeploy the app. A few apps install only from the dashboard, and the agent tells you where to click.

  1. Find the app. The agent searches the catalogue by name or purpose and shows what it found. An empty catalogue means the list has not synced on that environment, so the agent never answers that an app does not exist from an empty list.
  2. Read the install form. The agent reads the app's fields. Fields xCloud generates for you can be left out. For the address you choose a free xCloud staging hostname or your own domain, and a live domain needs the full site name.
  3. Check the server fits. You name the server, or the agent lists yours and asks. The compatibility check covers the server stack, runtime, state, billing and RAM, CPU and disk against the latest monitoring snapshot. If monitoring data is missing the resource check was skipped, and the agent says the result is inconclusive.
  4. Approve and install. The agent restates the app, the server and the address, and asks once. On your yes it sends the install with an explicit confirmation and an idempotency key, so a retried request cannot create a second copy.
  5. Poll the install. The agent polls the install status every five to ten seconds until it is terminal. A failure names its phase: pre_install, install, post_install or provisioning, so you know where it stopped.
  6. Hand over and manage. The agent gives you the URL. It fetches the login details only when you ask, shows them once in the reply and tells you to store them in a password manager. Later it can stop, start, restart or redeploy the app after your approval.

Reference

One-click apps Settings and Limits on xCloud

The facts GitHub Copilot works within when it installs one-click apps. Where a row names the dashboard, that step stays yours to take there.

Setting or limitWhat applies
CatalogueSearchable by name. It holds hundreds of apps, and most run on a Docker server. Public facts such as supported stacks and minimum size come from the catalogue listing
Compatibility checkPer server: stack, runtime, server state, billing and RAM, CPU and disk. monitor_available set to false means the resource check was skipped, not passed
Too-small serversA server that is too small stays too small. The agent suggests a larger server instead of retrying the install
Stack requirementsAn app that needs another stack is refused with a 422 that reads "This app requires a ... server. This server is on the ... stack."
Dashboard-only installsn8n, Supabase, Nextcloud, Mautic, LibreChat, Open WebUI, Ollama, Umami, WireGuard, phpMyAdmin and Site.pro. The API answers 404 for these eleven; install them from Add site, One-Click Apps in the dashboard
AddressStaging hostname for a free xCloud address, or go live with your own domain. A demo site promoted to a live domain cannot return to the demo address
IdempotencyThe install carries an Idempotency-Key, so a retried request cannot create a duplicate site
Install phasespre_install, install, post_install and provisioning. is_terminal marks the end, and failed_phase says where a failure happened
CredentialsRead on request and shown once in the reply. Some apps have none to read because you create the first admin inside the app
LifecycleStop, start, restart and redeploy run synchronously. Stop takes the app offline and redeploy recreates its containers. Both answer 422 while an install is running or after a failed install
Agentic serversAn OpenClaw, Hermes, Paperclip or DeepSeek Harness server never takes a one-click app

Rules GitHub Copilot has to follow

  • Installing, stopping and redeploying an app stop for your approval; browsing the catalogue and the compatibility check never change anything.
  • A missing resource reading is reported as inconclusive, never as a pass.
  • Login details are shown once, only when you ask, and never repeated in a summary or a later message.
  • For the eleven dashboard-only apps the agent checks that the server fits, then gives you the dashboard path instead of trying the install.
  • A failed install is not retried blindly: the agent names the failed phase and reads the site's recent events first.

Example prompts

What Can You Ask GitHub Copilot to Do for One-click apps?

Type these as written and swap in your own repository, site and server names. Reads and routine actions such as backups, cache purges, PageSpeed scans and vulnerability scans run straight away; creating, deploying, updating, rebooting, deleting, buying or starting a broken-link scan stops and asks first.

Prompt
Restart the Ghost app on blog.example.com. Tell me the difference between restart, stop and redeploy before you run anything.
Prompt
Redeploy the Ghost app on blog.example.com, but explain what a redeploy does to the containers first.
Prompt
Is the Ghost app on blog.example.com running? If it is stopped, tell me how to start it and ask before you do.
Prompt
Which one-click apps are compatible with my Frankfurt server?
Prompt
Search the one-click catalogue for a self-hosted blog and tell me what each result needs from a server.
Prompt
Install Uptime Kuma on the Frankfurt server on a staging hostname, wait until it is ready, then give me the login details.
Prompt
Check whether Immich fits my Amsterdam server before I install it, and tell me if the resource check was inconclusive.
Prompt
I want n8n on my Frankfurt server. Check that the server fits, then tell me where to click to install it.
Prompt
The Uptime Kuma install on the Frankfurt server failed. Which phase failed, and what do the recent events say?
Prompt
Redeploy the Ghost app on blog.example.com, but tell me what a redeploy does before you run it.

GitHub Copilot and One-click apps: Frequently Asked Questions

What people ask before they let GitHub Copilot install one-click apps through xCloud.

What is the difference between restarting and redeploying a one-click app?

A restart brings the app back with its existing containers. A redeploy recreates the containers, and a stop takes the app offline until you start it. GitHub Copilot explains all three before it runs one, and it asks for your approval first.

Why did Copilot say it cannot redeploy my one-click app?

xCloud refuses stop, start and redeploy with a 422 while an install is still running or after an install has failed. Copilot reports the refusal. Wait for the install to finish, or ask it for the failed phase and the site's recent events.

Can an agent install any app in the one-click catalogue?

Most of them. Eleven apps install only from the dashboard: n8n, Supabase, Nextcloud, Mautic, LibreChat, Open WebUI, Ollama, Umami, WireGuard, phpMyAdmin and Site.pro. For those the agent checks that your server fits and points you to Add site, One-Click Apps.

How does the agent know an app will fit my server?

It runs the compatibility check for that server, which covers the stack, runtime, server state, billing and the RAM, CPU and disk readings from the latest monitoring snapshot. If monitoring data is missing, the agent tells you the resource check was inconclusive.

What does a 422 during an app install mean?

Usually that the app needs a different server stack than the one you picked, and the message names both. Pick a server on the required stack. A 422 on stop, start or redeploy means an install is still running or the last install failed.

Where do the login details for a one-click app come from?

The agent can read them from xCloud when you ask and shows them once in the reply. Store them in a password manager. Some apps have no generated login because you create the first administrator inside the app.

Can an agent stop or restart a one-click app?

Yes. Stop, start, restart and redeploy are available, and they run straight away once you approve. Stop takes the app offline and redeploy recreates its containers, so the agent asks before either.

Other agents

One-click apps with Other Agents

The same job, the same xCloud tools, a guide for each client.

Run Your Hosting from GitHub Copilot

xCloud MCP, the Agent Skills and the Public API are free with every account. Connect once and ask.