# Paperclip + xSpeed: Manage WordPress Caching

> Paperclip is an open-source, self-hosted platform that runs teams of AI agents such as Claude Code with an org chart, budgets, approvals and schedules, and with xSpeed Hub given to one of its agents that agent can read cache status, purge, change settings and run speed tests on every WordPress site in your workspace as a Paperclip task. Paperclip does not call tools itself, so the Hub goes on the agent it runs.

Page: https://xspeedcache.com/agent/paperclip/
Last updated: October 2026

- Wired through the MCP config of the agent Paperclip launches, or through a Paperclip connector
- Connector actions set to Allowed, Ask first or Off, with every Hub write starting Off
- Routines start a report-only cache review on a cron schedule

## How do I connect Paperclip to xSpeed?

### 1. Put your sites in xSpeed Hub

Sign in at app.xspeedcache.com with Google or email; the Hub is free and has no site cap. Then connect each WordPress site from its own dashboard: click Connect Hub in the xSpeed Cache top bar, then Connect via xSpeed Hub. Each site needs the free xSpeed Cache plugin.

### 2. Add xSpeed Hub to the agent Paperclip runs

For a Claude Code agent, run this on the machine that hosts it, as the same OS user the Paperclip heartbeat runs as. Paperclip's docs say MCP wiring lives at the adapter and runtime layer, and user scope makes the Hub available to every Claude Code agent that user runs.

```bash
claude mcp add --transport http --scope user xspeedhub https://app.xspeedcache.com/xspeed/mcp
```

### 3. Sign in once, or use a token

Start claude interactively as that same user, run /mcp, choose xspeedhub and approve access on the xSpeed Hub page. Claude Code keeps the credentials, so later headless runs need no browser; claude mcp get xspeedhub shows the status. On a host with no browser, add the server with the connection token from Connect AI in the Hub instead, ideally with Read-only everywhere on.

```bash
# Interactive sign-in
claude
/mcp

# Or a token, no browser
claude mcp add --transport http --scope user xspeedhub https://app.xspeedcache.com/xspeed/mcp \
  --header "Authorization: Bearer <your connection token>"
```

### 4. Or connect it as a Paperclip connector (alternative)

On the Connectors page choose Connect your own MCP server and paste the URL. Paperclip registers a client through dynamic registration and walks you through the xSpeed Hub sign-in, then lists the Hub's tools so you can set each to Allowed, Ask first or Off. The Hub publishes no tool annotations, so Paperclip classifies them by name: start every write Off and promote deliberately.

```
https://app.xspeedcache.com/xspeed/mcp
```

**Authentication:** OAuth sign-in or connection token. Paperclip runs agents headless, so nobody is there to click a browser prompt. Sign in once in an interactive session as the OS user the agent runs as, or send the connection token from the Hub's Connect AI page as a Bearer header. On the Connectors page, Paperclip registers itself and takes you through the browser sign-in.

**Check it worked:** ask "List the xSpeed Hub tools you can reach without calling any of them, then use xSpeed Hub to list my sites."

## Does Paperclip ask before it changes my site?

Paperclip's Claude Code adapter runs headless with dangerouslySkipPermissions on by default, which lets the agent call MCP tools without asking. Set it to false and a tool that needs approval does not run. A server added on the adapter does not pass through Paperclip's action permissions or review queue. A Paperclip connector does: each Hub tool is set to Allowed, Ask first or Off, and because the Hub publishes no annotations Paperclip classifies them by name, which can under-classify, so start every write Off. xSpeed Hub has no confirmation step of its own, so a write that gets past those settings runs as soon as your connection allows writes. For unattended routines, send a connection token with Read-only everywhere on, which makes the Hub refuse every write tool.

xSpeed Hub has no confirmation step of its own. Read tools change nothing on your sites, with one exception to know about: contact_support sends an email to xSpeed support, and a read-only connection can still call it. A write tool (a purge, a settings change, a cache toggle, or a speed test that spends the shared allowance) runs as soon as your connection allows writes. Three things stand between a prompt and a change: your connection's scope, because a read-only connection refuses every write tool (the connection token has a Read-only everywhere switch, and a Viewer member only ever gets read access); your AI client's own tool-approval prompt; and the Hub's instructions to the agent, which tell it to confirm the target site and to ask once before a write that touches every site.

## Example session

```
You: Ticket: use xSpeed Hub to review every site's cache and propose fixes. Do not change anything without my reply.
  → list_sites [read-only]: 3 sites: shop, blog, docs
  → get_cache_status(site: shop) [read-only]: page cache on, hit ratio 82% in the last 24h
  → get_cache_status(site: blog) [read-only]: page cache on, hit ratio 49% in the last 24h
  → get_cache_status(site: docs) [read-only]: page cache on, hit ratio 79% in the last 24h
  → get_preloader_status(site: blog) [read-only]: preloader idle, last run 11 days ago, 58 URLs not warmed
Agent: blog is the outlier at 49%: its preloader has not run for 11 days and 58 pages are cold. Proposed fix: start the preloader on blog. Reply to approve.
You: Approved.
  → start_preloader(site: blog) [changes site]: preloader started, 58 URLs queued
Agent: Started, and noted on the ticket. Reopen it tomorrow and I will compare blog's hit ratio.
```

## What is Paperclip?

Paperclip is an open-source, MIT-licensed platform for running teams of AI agents. You define a goal, hire agents such as Claude Code, Codex or Hermes into an org chart, set budgets and approvals, and follow every task and tool call from one dashboard. It is self-hosted, needs no Paperclip account and starts with npx paperclipai onboard.

Paperclip orchestrates agents rather than being one. An adapter launches the runtime that does the work, and that runtime is the MCP client: for the Claude Code adapter, the server is added with claude mcp add on the host. Paperclip also has a Connectors page where you attach your own MCP server by URL and govern each action. MCP, the Model Context Protocol, is how xSpeed Hub describes its caching tools, so either route gives the agent status, purge, settings, preloader, object cache, Cloudflare and speed tests for every site in your workspace.

## Why use Paperclip with xSpeed?

- **Cache work as tickets**: Each instruction, Hub tool call and result sits on a Paperclip task with a trace, so you can read what the agent asked xSpeed Hub before you approve a change.
- **A rhythm, not a one-off**: A routine can start a weekly cache review for an agent without anyone opening a chat. Reads are a safe thing to schedule; you decide what to act on.
- **Per-action switches on a connector**: Attached as a connector, each Hub tool is Allowed, Ask first or Off, so reads can run while purges and settings changes wait for a person.

## Good to know

- The Claude Code adapter runs headless with dangerouslySkipPermissions on by default, so connected MCP tools run without asking. Set it to false, use the connector route with writes on Ask first or Off, or use a read-only token.
- A server added with claude mcp add does not pass through Paperclip's action permissions or review queue. Pick the route on purpose.
- A browser sign-in cannot finish headless. Complete it once in an interactive claude session as the heartbeat's OS user, or use a token. A 401 after some hours means the refresh failed and you should sign in again.
- User scope is shared by every Claude Code agent that OS user runs. Use a dedicated OS user if only one agent should reach your sites.

## Prompts to try

- Use xSpeed Hub to report the cache hit ratio for every site on this ticket. Do not change anything.
- Weekly review: use xSpeed Hub to list sites whose preloader has not run in a week and summarize what warming them would involve.
- With xSpeed Hub, purge the page cache on blog and start the preloader, then post the URL count on this ticket.
- Use xSpeed Hub to read the PageSpeed score history for shop and note any drop of more than five points.
- With xSpeed Hub, check whether Redis is reachable on shop and propose, without applying, the object cache change.

## Schedule a report-only cache review

Paperclip routines fire on a cron schedule or a webhook, create a task and wake the agent you assign; timer heartbeats are off by default. The Hub has no scheduler for agent prompts, so the timer is Paperclip's. Nobody is there to say yes during a run, and the Claude Code adapter does not stop to ask by default, so make the routine's instructions read only and give that agent a read-only connection: a connection token with Read-only everywhere on.

```
Weekly cache review. Use xSpeed Hub to read the cache status and preloader status of every site, and post on this task any site with page caching off, a hit ratio under 70%, or a preloader idle for a week. Read only: do not purge, toggle, change settings or run speed tests.
```

## What can Paperclip do with xSpeed?

- [Purge the WordPress cache with Paperclip](https://xspeedcache.com/agent/paperclip/purge-cache/): Clear stale pages after a deploy, an edit or a plugin update, on one site or all of them.
- [Find out why WordPress pages are not cached with Paperclip](https://xspeedcache.com/agent/paperclip/troubleshoot-cache/): Work out why a site misses the cache, serves slow pages or shows a low hit ratio, using read-only checks first.
- [Scan a website for speed problems with Paperclip](https://xspeedcache.com/agent/paperclip/speed-scan/): Get a graded speed report with the fix for every failing check and a link you can share, for your own site or any public URL.
- [Run and track PageSpeed tests with Paperclip](https://xspeedcache.com/agent/paperclip/pagespeed-tests/): Read the PageSpeed scores a site already has, run a new test when something changed, and tell a Lighthouse score from a cache benchmark.
- [Raise a WordPress site's PageSpeed score with Paperclip](https://xspeedcache.com/agent/paperclip/optimize-site/): Preview and apply xSpeed's recommended settings to a site, check the pages still work, and be told plainly what caching cannot fix.
- [Tune WordPress cache settings with Paperclip](https://xspeedcache.com/agent/paperclip/cache-settings/): See which modules a site has, read their current settings, change them, and turn page caching on or off.
- [Warm the WordPress cache with Paperclip](https://xspeedcache.com/agent/paperclip/preload-cache/): Fill the page cache before visitors arrive, for example right after a purge or a deploy.
- [Set up the Redis object cache with Paperclip](https://xspeedcache.com/agent/paperclip/object-cache/): Connect a site to Redis or Memcached so database results survive between requests.
- [Manage Cloudflare caching with Paperclip](https://xspeedcache.com/agent/paperclip/cloudflare/): Check the Cloudflare connection, clear the edge cache and switch development mode on or off for a site.
- [Manage every WordPress site at once with Paperclip](https://xspeedcache.com/agent/paperclip/fleet/): Run one action across all of your sites, or a chosen few, and read the result site by site.

## Which way should I connect?

| Surface | Endpoint | Reaches | Auth | Tools |
| --- | --- | --- | --- | --- |
| [xSpeed Hub MCP](https://xspeedcache.com/docs/hub-mcp/) | `https://app.xspeedcache.com/xspeed/mcp` | Every site in your workspace, one connection | OAuth sign-in in the browser, or a connection token in an Authorization header | 29 tools (16 read, 13 write), seven of them can act on every site at once |
| [xSpeed Cache Site MCP](https://xspeedcache.com/docs/mcp-server/) | `https://your-site.com/xspeed/mcp` | One WordPress site | OAuth sign-in by a site admin, or the site's own token in an Authorization header | The full per-site tool set plus run_command for the WP-CLI surface |
| [xSpeed Scan MCP](https://xspeedcache.com/docs/scan-mcp/) | `https://xspeedcache.com/scan/mcp` | Any public URL, read-only | None. No account. | 5 tools: run_speed_scan, get_speed_scan and three product-info tools |
| [WP-CLI](https://xspeedcache.com/docs/wp-cli-commands/) | `wp xspeed …` | The site whose server the agent has a shell on | Your server login | Every xSpeed command: cache, purge, preloader, objcache, cf, score, settings and more |

## Frequently asked questions

### How do I connect Paperclip to xSpeed Hub?

Paperclip does not call MCP tools itself, so you add the Hub to an agent it runs. For a Claude Code agent, run claude mcp add --transport http --scope user xspeedhub https://app.xspeedcache.com/xspeed/mcp as the OS user that runs the heartbeat, then sign in once with /mcp in an interactive claude session. You can also attach the URL on Paperclip's Connectors page with Connect your own MCP server.

### Do I need an API key?

Not necessarily. OAuth works if you finish the sign-in once in an interactive session as the same user the agent runs as, and the Connectors page runs the sign-in for you. For a headless host, the workspace owner can use the connection token from the Hub's Connect AI page as a Bearer header.

### Will a Paperclip agent change my site without asking?

It can. The Claude Code adapter skips permission prompts by default, and xSpeed Hub has no confirmation step of its own. Set dangerouslySkipPermissions to false, or use the connector route with writes on Ask first or Off, and for routines send a connection token with Read-only everywhere on so the Hub refuses every write.

### Can Paperclip run xSpeed checks on a schedule?

Yes. Routines fire on a cron schedule or a webhook and give a task to an agent. Keep the routine read only, such as a weekly hit-ratio review, and have the agent post findings on the task for a person to act on.

### Which route should I pick, the adapter or the connector?

The connector route puts Paperclip's per-action permissions and review queue in front of the Hub. The adapter route is simpler but bypasses them, so it relies on the agent runtime's own settings and your connection's scope.

### Which Paperclip agents can use xSpeed Hub?

Paperclip documents MCP wiring for its Claude Code adapter and its Hermes adapter. Other adapters inherit whatever MCP support their own tool has, so check that tool's own MCP setup first.

### How do I disconnect Paperclip?

Run claude mcp remove xspeedhub as the OS user the agent runs as, or delete the connector on Paperclip's Connectors page. If you used the connection token, rotate it on the Hub's Connect AI page, which also cuts off any other client that sends it.

## Also works with

[Claude Code](https://xspeedcache.com/agent/claude-code/) · [Claude](https://xspeedcache.com/agent/claude/) · [Claude Cowork](https://xspeedcache.com/agent/claude-cowork/) · [ChatGPT](https://xspeedcache.com/agent/chatgpt/) · [Codex](https://xspeedcache.com/agent/codex/) · [Cursor](https://xspeedcache.com/agent/cursor/) · [GitHub Copilot in VS Code](https://xspeedcache.com/agent/github-copilot/) · [Windsurf](https://xspeedcache.com/agent/windsurf/) · [Gemini CLI](https://xspeedcache.com/agent/gemini-cli/) · [Antigravity](https://xspeedcache.com/agent/antigravity/) · [Zed](https://xspeedcache.com/agent/zed/) · [Kiro](https://xspeedcache.com/agent/kiro/) · [OpenCode](https://xspeedcache.com/agent/opencode/) · [OpenClaw](https://xspeedcache.com/agent/openclaw/) · [Hermes Agent](https://xspeedcache.com/agent/hermes-agent/) · [Grok Build](https://xspeedcache.com/agent/grok-build/) · [ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/) · [Grok](https://xspeedcache.com/agent/grok/) · [Grok Bot](https://xspeedcache.com/agent/grok-bot/) · [Muse](https://xspeedcache.com/agent/muse/) · [Manus](https://xspeedcache.com/agent/manus/) · [Kimi Code](https://xspeedcache.com/agent/kimi/) · [NanoClaw](https://xspeedcache.com/agent/nanoclaw/)

## Sources

- Paperclip Docs: Connect a custom MCP server: https://docs.paperclip.ing/connectors/custom-mcp-servers/
- Paperclip Docs: Add an MCP server to an agent: https://docs.paperclip.ing/how-to/add-mcp-server-to-agent/
- Paperclip Docs: Claude Code adapter: https://docs.paperclip.ing/reference/adapters/claude-code/
- Paperclip Docs: Routines: https://docs.paperclip.ing/guides/projects-workflow/routines/
- Paperclip: https://paperclip.ing
