Skip to content

Your EMCP guide

Answers from our docs

YOUR CHAT, YOUR CHOICE

Before we chat

MSR Builds processes your question and up to four recent messages on our server to answer from the EMCP docs. AI is optional and needs your separate permission.

The chat is kept in this page's memory, not saved as a conversation in our database or browser storage. Our hosting and security services process connection information, such as your IP address, to prevent abuse.

Cloudflare Turnstile checks your browser and connection to prevent automated abuse when you send a question. No login is required.

Please leave out personal, sensitive or confidential information, passwords and API keys.

You can withdraw consent and clear this page's chat at any time. This cannot undo a request already sent or erase provider/security records.

Chat privacy, retention & your rights ↗ · Privacy contact

Starting chat consents to this processing. You can browse our docs without using the chat.

Hermes

Hermes reads MCP servers from ~/.hermes/config.yaml, under mcp_servers. The config is YAML, so add the block below to your existing file.

The EMCP Tools → Connection screen generates every block on this page for your exact site in four steps:

  1. Choose your AI client: pick Hermes.
  2. Pick how it signs in: OAuth (recommended) or Application password.
  3. Add EMCP to Hermes: copy the YAML it shows. For an application password, click Create password first (it is shown once and the blocks already contain it), or open Use a password I already have; you then get a direct HTTP block and a Node proxy (npx) block. Click I’ve added it, continue.
  4. Test the connection: reload Hermes. The screen waits for its first MCP call and shows “Hermes is connected”.

The generated blocks name the server after your site (for example emcp-your-site-com); the examples below use emcp-tools.

mcp_servers:
emcp-tools:
url: "https://your-site.test/wp-json/mcp/emcp-tools-server"
headers:
Authorization: "Basic BASE64_ENCODED_CREDENTIALS"

Generate the base64 credentials:

Terminal window
echo -n "admin:xxxx xxxx xxxx xxxx xxxx xxxx" | base64

You can also create an application password yourself under WordPress admin → Users → Profile → Application Passwords.

If the direct HTTP transport gives you handshake trouble, run the bundled proxy over stdio. It handles the session and protocol negotiation:

mcp_servers:
emcp-tools:
command: "npx"
args: ["-y", "@msrbuilds/emcp-proxy@latest"]
env:
WP_URL: "https://your-site.test"
WP_USERNAME: "admin"
WP_APP_PASSWORD: "xxxx xxxx xxxx xxxx xxxx xxxx"
MCP_PROTOCOL_VERSION: "2024-11-05"

Note WP_URL is the bare site (no /wp-json/..., the proxy adds the route), and the app password goes in plain.

Point Hermes at the server URL with no credentials and let the server run the browser sign-in on first connect:

mcp_servers:
emcp-tools:
url: "https://your-site.test/wp-json/mcp/emcp-tools-server"

Requires an HTTPS site with OAuth sign-in on (EMCP Tools → Connection → Advanced settings, on by default on HTTPS). Only administrators can approve. Sign the app out or remove it any time under EMCP Tools → Connection → Connected apps.

Terminal window
hermes mcp test emcp-tools

Common issues:

  • 401 Unauthorized: the application password or username is wrong, or the base64 encoding is off.
  • HTML instead of JSON: the URL is missing the /wp-json/mcp/emcp-tools-server path and is hitting the site homepage.
  • Handshake timeout on the direct URL: switch to the Node proxy block above.

After a config change, reload with /reload-mcp inside Hermes. If step 4 of the Connection wizard still says “No call yet”, click Run a server test there.

If the server is unreachable, returns no tools, or lists fewer tools than expected, follow missing-tool diagnosis. Check the failing stage before changing the enabled catalog.