# Speed up a slow site with Zed on xCloud

> Ask the Zed Agent Panel why a site is slow: xCloud supplies server and site history, cache layers, PageSpeed and traffic, and names the likely cause.

Speeding up a slow site with Zed means asking the Agent Panel to use xCloud for a diagnosis, so the measurements come from your hosting account and each call is shown before it runs.

## How do you set up Zed to speed up a slow site on xCloud?

### 1. Add xCloud as a remote server

Open Settings, then AI, then MCP Servers, click Add Server and choose Add Remote Server. Or run the zed: open settings file action and add this to settings.json yourself. Zed writes the same entry either way.

```json
{
  "context_servers": {
    "xcloud": {
      "url": "https://app.xcloud.host/mcp"
    }
  }
}
```

### 2. Sign in and check the dot

Because the entry has no Authorization header, Zed prompts you to authenticate through the MCP OAuth flow. Approve the teams and the access level in the browser. In Settings, AI, MCP Servers a green dot next to xcloud with the tooltip Server is active means it worked. Then ask this in the Agent Panel.

```prompt
Who am I on xCloud?
```

### 3. No browser sign-in? Use an API key

Create a token with the mcp:invoke scope plus the read abilities for the areas it will use (read:servers and read:sites, with read:billing and read:addons for billing and add-on tools) and the matching write: abilities if it should change things in Settings, Developers, API Tokens and add it as a header. With an Authorization header set, Zed skips its OAuth prompt. Replace YOUR_TOKEN with the token, which contains a pipe character, and keep it out of git and out of chat.

```json
{
  "context_servers": {
    "xcloud": {
      "url": "https://app.xcloud.host/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}
```

Then ask: "Use xCloud to check why shop.example.com is slow: look at the server's disk, the cache layers and the latest PageSpeed run."

## How does performance work from Zed?

You have Zed open on the site's project, the Agent Panel is docked, and you write: use xCloud to check why shop.example.com is slow, looking at the server's disk, the cache layers and the latest PageSpeed run. Naming xCloud in the prompt matters in Zed, because how reliably a model picks MCP tools varies and the name steers it to the right server. The Zed Agent then resolves the site and server, reads the monitoring history, calls sites_cacheSettings, reads the PageSpeed result, checks the services and the PHP version, and answers in the panel with the likely cause and its numbers.

Zed's default approval setting, agent.tool_permissions.default, is confirm, so each tool call asks before it runs. For a diagnosis built from a long chain of reads, that means a run of prompts, and you can decide how to live with it. Either click through them and see exactly what is read, or write per-tool rules with Zed's mcp:xcloud:tool_name key format for the read tools, and leave the cache purge and the PageSpeed scan on confirm. Purging throws away a warm cache on a live site, and a scan spends one of your PageSpeed runs, so those two should keep asking.

As with every client, the fix is sometimes outside the API. The Zed Agent can read which cache layers are on, but enabling page cache, Redis object cache or Cloudflare edge cache is dashboard-only, under Site, WordPress, Caching, and it gives you that path with the site's dashboard link. Changing the PHP version of one site is under Site, Site Settings. If the measurements look normal, the agent says so instead of making up a cause, and a site that errors instead of loading slowly belongs in a troubleshooting question.

### Example session

**You:** Use xCloud to check why shop.example.com is slow.
→ `sites_monitoring_history` (read-only)
→ `sites_pagespeed_latest` (read-only)
**Agent:** Site and server samples are flat over 24 hours, so this is not new load. The mobile run flags a slow server response and page cache is off. Enable it under Site, WordPress, Caching; I cannot switch it on from here.

## What xCloud does for performance

xCloud reads the site's and the server's CPU, RAM and disk samples, which cache layers are on, the latest PageSpeed result, traffic in the access log, service health and the site's PHP version. The agent names the cause from that data, then hands you the switches that only the dashboard can flip.

Skill: `xcloud:performance` · Toolsets: `pagespeed`, `sites`, `servers`, `broken-links`

1. **Resolve the site and its server.** The agent looks up the site and the server it runs on, because the answer often comes from both. A slow site is frequently slow because a neighbour on the same server is.
2. **Check status and monitoring history.** A site that is mid-deploy or failed explains slowness without any measurement. Otherwise the agent reads the site's and the server's samples, and a 24-hour or 7-day series to tell whether the slowdown is new. Disk comes early: a nearly full disk slows everything, the database first.
3. **Read the cache layers.** The agent reads the cache settings before saying anything about caching: whether page cache, Redis or Object Cache Pro object cache and Cloudflare edge cache are on, and which server stack the site runs. It never reports that no cache configuration is readable without calling it.
4. **Read PageSpeed and traffic.** The latest completed PageSpeed run is free to read. A new scan is worth starting only when there is no result or the site changed since, and the agent tells you it is spending a scan. The access log shows spikes, a crawl or one client hammering a path.
5. **Check services and PHP.** The agent checks that PHP, the web server, Redis and the database are running, and reads the site's PHP version and pending updates. A stopped Redis next to an object cache that reads as on is a found answer.
6. **Name the cause and hand off.** You get the most likely cause with its numbers. The fix is either something the agent can do, such as a purge after you agree, or a dashboard switch it names with the path and the site's dashboard link. If every number looks normal, it says so instead of inventing a cause.

## Performance reference

| Setting or limit | What applies |
|---|---|
| Monitoring history | Site and server CPU, RAM and disk samples as a 24-hour or 7-day series. History is not available on the free plan, and the agent says that is a plan limit rather than reporting no data |
| Cache state | Read through sites.cacheSettings: page cache, object cache (Redis, Object Cache Pro) and Cloudflare edge cache. It returns settings only, never cache contents |
| Enabling a cache layer | Dashboard-only: Site, WordPress, Caching. The API reads the layers and purges them, and cannot switch one on for an existing site |
| Page cache details | Cache duration, URL and cookie exclusions and ignored query parameters are dashboard-only and are not returned by the cache settings read |
| PageSpeed | The latest mobile and desktop results and the history are read for free. One scan runs both strategies |
| Scan conflicts | A 409 while a scan is running means it is still pending or scanning. The agent polls it instead of starting another, and it is not a cooldown |
| Cache purge | Purging runs without a confirmation stop but throws away a warm cache, so the agent asks first on a live site and reports each layer as queued or skipped |
| Traffic | The access log shows spikes and bots. It is read over SSH, so the agent asks for a bounded window |
| PHP version | Read from the site's status. Changing one site's PHP version is a dashboard step: Site, Site Settings |
| Server PHP default | Changing the server default PHP changes only the command-line php and the version new sites get. It does not move any existing site |
| Broken links | A broken-link scan on a WordPress site returns findings grouped by source page, and a truncated scan is reported as partial |

## Rules Zed has to follow

- The agent diagnoses from measurements, not guesses, and it calls the cache settings read before it says anything about caching.
- It never offers to turn on Redis or any other cache layer itself. Enabling a layer is a dashboard step, and the agent gives you the path and the dashboard link.
- It never presents a change of server PHP default as a substitute for changing one site's PHP version.
- A cache purge on a live site, a new PageSpeed scan and any server-level PHP change are announced first. Server-level changes also need your explicit yes.
- A site that errors rather than loads slowly goes to troubleshooting, and a failed deploy goes to deploy.

**Zed specific:** Zed's approval setting is agent.tool_permissions.default from v0.224.0, and before that it was agent.always_allow_tool_actions. Do not switch it to allow everything just to speed up a diagnosis, because that would also let a cache purge through without a prompt. Allow the read tools by name and keep the rest on confirm. If the agent skips xCloud, say Use xCloud to at the start of the prompt.

## What can you ask Zed to do?

- Use xCloud to check why shop.example.com is slow: look at the server's disk, the cache layers and the latest PageSpeed run.
- Use xCloud to read whether php-fpm, the web server and Redis are running on the server behind shop.example.com.
- Use xCloud to show the 24-hour CPU, RAM and disk samples for shop.example.com and tell me if the slowdown is new.
- Why is shop.example.com slow? Check the cache, the server load and the latest PageSpeed result.
- Is Redis object cache on for the shop site? If it is off, tell me where to switch it on.
- Show CPU, RAM and disk for the shop site over the last 24 hours and tell me whether the slowdown is new.
- Run a PageSpeed scan on the shop site and compare the score with the previous scans.
- Look at the access log of the shop site for a traffic spike or a bot hammering one path.
- Which PHP version is the blog site running, and are there pending updates I should apply?
- Purge all caches on the shop site.
- Scan the shop site for broken links and list the pages with the most.

## Frequently asked questions

### Why does Zed ask for approval on every read in a slow-site check?

Zed's agent.tool_permissions.default is confirm, so each MCP tool call asks first. You can allow just the read tools by name with keys in the mcp:xcloud:tool_name format, and leave the cache purge and the PageSpeed scan on confirm.

### Do I need to say xCloud in my Zed prompt?

It helps. How reliably a model chooses MCP tools varies, and starting with Use xCloud to steers the Zed Agent to the xCloud server instead of answering from general knowledge about slow sites.

### Can the agent turn on caching for my slow site?

No. It can read which cache layers are on and purge them, but switching page cache, Redis object cache or Cloudflare edge cache on for an existing site is a dashboard step under Site, WordPress, Caching. The agent tells you the path and gives you the site's dashboard link.

### What does a 409 mean when the agent starts a PageSpeed scan?

It means a scan for that site is still pending or running. The agent polls the existing scan instead of starting another, and it is not a cooldown period. A new scan is only worth starting when there is no recent result or the site has changed.

### Will changing the server's PHP default speed up my site?

No. The server default changes only the command-line php and the version new sites get, and it does not move any existing site. The PHP version of one site is changed in the dashboard under Site, Site Settings.

### Why does the agent say monitoring history is unavailable?

Monitoring history is a paid-plan feature, so on the free plan the request is refused as a plan limit. The agent reports it that way rather than saying there is no data, and it falls back to the samples and measurements the plan does include.

### Does purging the cache ask for my confirmation?

xCloud itself runs a purge without a confirmation stop, because it is a routine action. The agent still asks you first on a live site, since a purge throws away a warm cache and the next visitors wait while it rebuilds.

## Performance with other agents

- [Speed up a slow site with Claude Code](https://xcloud.host/agents/claude-code/performance/)
- [Speed up a slow site with Claude](https://xcloud.host/agents/claude/performance/)
- [Speed up a slow site with Claude Cowork](https://xcloud.host/agents/claude-cowork/performance/)
- [Speed up a slow site with Cursor](https://xcloud.host/agents/cursor/performance/)
- [Speed up a slow site with Codex](https://xcloud.host/agents/codex/performance/)
- [Speed up a slow site with OpenCode](https://xcloud.host/agents/opencode/performance/)
- [Speed up a slow site with Hermes Agent](https://xcloud.host/agents/hermes-agent/performance/)
- [Speed up a slow site with OpenClaw](https://xcloud.host/agents/openclaw/performance/)
- [Speed up a slow site with Windsurf](https://xcloud.host/agents/windsurf/performance/)
- [Speed up a slow site with GitHub Copilot](https://xcloud.host/agents/github-copilot/performance/)
- [Speed up a slow site with Gemini CLI](https://xcloud.host/agents/gemini-cli/performance/)
- [Speed up a slow site with ChatGPT](https://xcloud.host/agents/chatgpt/performance/)
- [Speed up a slow site with ChatGPT dots](https://xcloud.host/agents/chatgpt-dots/performance/)
- [Speed up a slow site with Grok](https://xcloud.host/agents/grok/performance/)
- [Speed up a slow site with Grok Bot](https://xcloud.host/agents/grok-bot/performance/)
- [Speed up a slow site with Kiro](https://xcloud.host/agents/kiro/performance/)
- [Speed up a slow site with Antigravity](https://xcloud.host/agents/antigravity/performance/)

## More Zed guides

- [Zed and xCloud overview](https://xcloud.host/agents/zed/)
- [Deploy from Git with Zed](https://xcloud.host/agents/zed/deploy-from-git/)
- [Run Docker apps with Zed](https://xcloud.host/agents/zed/docker-apps/)
- [Install one-click apps with Zed](https://xcloud.host/agents/zed/one-click-apps/)
- [Manage WordPress with Zed](https://xcloud.host/agents/zed/wordpress/)
- [Back up and stage sites with Zed](https://xcloud.host/agents/zed/backups-and-staging/)
- [Manage SSL and domains with Zed](https://xcloud.host/agents/zed/ssl-and-domains/)
- [Manage servers with Zed](https://xcloud.host/agents/zed/server-management/)
- [Troubleshoot a broken site with Zed](https://xcloud.host/agents/zed/troubleshooting/)
- [Secure sites and servers with Zed](https://xcloud.host/agents/zed/security/)

## Related documentation

- [Enable the edge full page cache](https://xcloud.host/docs/enable-the-edge-full-page-cache/)
- [Configure xSpeed Cache settings](https://xcloud.host/docs/configure-xspeed-cache-settings-xcloud/)
- [Control OPcache with xCloud](https://xcloud.host/docs/control-opcache-with-xcloud/)

Canonical: https://xcloud.host/agents/zed/performance/
Last updated: October 2026. Keep a human in the loop: xCloud stops and asks before anything that creates, deploys, updates, reboots, deletes or buys.
Every agent guide: https://xcloud.host/agents/ · xCloud MCP: https://xcloud.host/mcp/ · Agent Skills: https://xcloud.host/ai-agent-skills/ · Setup script for agents: https://xcloud.host/agent-setup/prompt.md
