Skip to content

Multiple sites (one connection)

New in @msrbuilds/emcp-proxy 1.9.0. Instead of one WP_URL, give the proxy a site registry and switch between installs mid-session, ideal for agencies managing many client sites from a single Claude session.

Set EMCP_SITES to a JSON map of aliases → credentials (or point EMCP_SITES_FILE at a JSON file with the same shape):

{
"mcpServers": {
"emcp-tools": {
"command": "npx",
"args": ["-y", "@msrbuilds/emcp-proxy@latest"],
"env": {
"EMCP_SITES": "{\"acme\":{\"url\":\"https://acme.com\",\"username\":\"admin\",\"appPassword\":\"xxxx xxxx xxxx xxxx\"},\"globex\":{\"url\":\"https://globex.com\",\"username\":\"admin\",\"appPassword\":\"yyyy yyyy yyyy yyyy\"}}",
"EMCP_DEFAULT_SITE": "acme"
}
}
}
}

EMCP_DEFAULT_SITE picks which site the session starts on (defaults to the first entry). Single-site WP_URL mode is unchanged and adds none of the tools below.

When more than one site is configured, the proxy injects two tools:

  • emcp_list_sites: list the configured sites and which one is active.
  • emcp_use_site: switch the active site ({ "site": "globex" }); every subsequent tool call targets it.

The proxy keeps a separate session per site and initializes each one transparently on first use, so switching “just works” without re-connecting.

User: List my sites.
AI → emcp_list_sites → [acme (active), globex]
User: Switch to globex and audit the homepage.
AI → emcp_use_site { site: "globex" }
AI → get-page-snapshot { post_id: … } // now runs against globex

Each .mcpb bundle and each registry entry embeds a WordPress application password in plaintext. Treat these configs and bundle files as secrets (don’t commit them to git or leave them in cloud-synced folders). See Claude Desktop for the one-click bundle flow, which now also names each site’s bundle uniquely so multiple sites install side by side.