Hosted multi-site gateway
The hosted gateway lets you add one MCP connection to your AI client and reach every WordPress site in your EMCP Cloud workspace — no per-site config, no passwords on your machine. It’s the cloud-hosted counterpart to the proxy site registry, aimed at agencies managing many client sites.
Plans & connected-site limits
Section titled “Plans & connected-site limits”The gateway reaches every site connected to your workspace, up to your plan’s connected-site limit:
| Plan | Connected sites | Multi-site gateway |
|---|---|---|
| Free | 3 | — |
| Freelancer | 25 | ✓ |
| Agency | 100 | ✓ |
| Enterprise | 1000 | ✓ |
Connecting a site beyond your plan’s limit is refused — disconnect a site or upgrade to add another.
How it differs from the proxy
Section titled “How it differs from the proxy”| Proxy site registry | Hosted gateway | |
|---|---|---|
| Where it runs | On your machine (npx @msrbuilds/emcp-proxy) | Hosted at gateway.emcptools.com |
| Credentials | You store an App Password per site in env | None on your side — each site self-issues a revocable token |
| Which sites | Whatever you list in EMCP_SITES | Every site connected to your Cloud workspace |
| Setup per client | A JSON registry in each client config | One connector URL + sign in |
| Broadcast to all | — | site: "all" |
Both expose the same emcp_list_sites / emcp_use_site tools, so switching feels the same.
Requirements
Section titled “Requirements”- An EMCP Cloud account on a paid plan that includes the gateway (Freelancer or Agency).
- Each site you want to reach is running EMCP Tools 3.10.0+ and connected to that Cloud workspace with the gateway consent enabled (below).
- An AI client that supports remote MCP servers with OAuth (Claude, Cursor, VS Code, …).
Step 1 — Connect each site with the gateway consent
Section titled “Step 1 — Connect each site with the gateway consent”On every site, go to EMCP Tools → Connection → Connect to EMCP Cloud. The connect form shows a checked-by-default box:
☑ Also let me manage this site through the EMCP gateway (recommended)
Leave it checked and complete the connection. The site then self-issues a scoped, revocable “gateway” credential and hands it to EMCP Cloud. No password ever leaves the site — it’s an OAuth token issued by the site’s own server, and you can revoke it at any time (see Revoking access). Unchecking the box still connects the site for backup/sync, but it won’t appear in the gateway.
The “EMCP Gateway” entry shows up under Users → Authorized Apps on each site once provisioned.
Step 2 — Add the gateway to your AI client
Section titled “Step 2 — Add the gateway to your AI client”Add a single remote MCP server pointing at:
https://gateway.emcptools.com/mcpYour client discovers authentication automatically (via /.well-known/oauth-protected-resource) and walks you through signing in to EMCP Cloud. There are no per-site credentials to paste.
For example, in Claude Code:
claude mcp add --transport http emcp-gateway https://gateway.emcptools.com/mcpthen run /mcp and complete the sign-in. Other clients accept the same URL in their “add remote MCP server / connector” flow.
Using it
Section titled “Using it”Once connected, the gateway advertises the standard EMCP tool catalog plus three helpers:
emcp_list_sites— list the sites in your workspace (id, name, URL).emcp_use_site— set the active site for the rest of the session:{ "site": "acme" }(accepts the site id or its URL).describe-site— a site’s fingerprint (Elementor version, Pro, active integrations, tool count) so the agent knows what a specific site supports.
You can also target a single call without switching the active site by passing site in any tool’s arguments:
{ "site": "acme", "post_id": 42 }If a tool isn’t available on the targeted site (a Pro tool on a free site, or one you’ve disabled), the gateway returns a clear tool_unavailable instead of failing silently. A site that’s offline returns site_unavailable — one site being down never breaks the others.
Broadcasting to every site — site: "all"
Section titled “Broadcasting to every site — site: "all"”Pass site: "all" to run a call against every site in the workspace at once. You get back a per-site status array (which succeeded, which were unreachable, which lack the tool):
{ "site": "all" }Reads (list, get, search, audit, …) broadcast freely. Writes are gated twice, on purpose:
- Workspace opt-in — off by default. Enable it in the Cloud dashboard under Account → Sites → “Allow broadcast writes”.
- Per-call confirm — even with the opt-in on, a write broadcast must include
confirm: true.
If either is missing, the gateway refuses the write and calls no sites. Broadcasts are concurrency-capped, so a large workspace fans out in controlled batches.
Security & revocation
Section titled “Security & revocation”- No passwords. The gateway holds a per-site OAuth refresh token, encrypted at rest, that the site itself issued and can revoke. Tokens rotate on use.
- Scoped. A gateway call acts with your site’s normal MCP permissions and honours each site’s per-tool enable/disable grid — it can’t do more than a direct connection could.
- Entitlement-gated. If a workspace drops below the required plan, the gateway stops serving its sites.
Revoking access
Section titled “Revoking access”Cut a site off from the gateway from either end:
- On the site: Users → Authorized Apps → EMCP Gateway → Revoke. Immediate, works even if Cloud is unreachable.
- From Cloud: Account → Sites → Disconnect. This deletes the stored credential and best-effort revokes it on the site.
Either way the credential dies — a disconnect tears it down on both ends.
Troubleshooting
Section titled “Troubleshooting”emcp_list_sitesis empty. The site isn’t connected with the gateway consent, the workspace isn’t on a plan that includes the gateway, or the site is still provisioning. Re-check Connection → Connect to EMCP Cloud with the box ticked.- A write broadcast is refused. Enable Allow broadcast writes in the Cloud dashboard and pass
confirm: true. - One site errors but others work. Expected —
site_unavailable/tool_unavailableare per-site; the rest of the broadcast still runs.
See also
Section titled “See also”- Multiple sites with the proxy — the local, bring-your-own-credentials alternative.
- EMCP Cloud & Marketplace — connecting a site to Cloud, backup, and sync.