Skip to content

What is MCP?

The Model Context Protocol is an open standard from Anthropic for connecting AI assistants to external tools and data sources. It’s like REST for AI agents, a stable contract for “here are the things you can do, here are the things you can read.”

Before MCP, every AI client had its own way of integrating external systems. ChatGPT plugins, Claude tool-use, Cursor commands, OpenAI function-calling: different shapes, different runtimes, different limits. MCP unifies all of that into one protocol.

An MCP server exposes:

  • Tools: actions the AI can take (list-widgets, create-page, update-element)
  • Resources: data the AI can read (Elementor data, page content, settings)
  • Prompts: pre-defined templated prompts

An MCP client connects to one or more servers and surfaces their tools to the AI it’s driving. The AI then decides which tools to call based on the user’s prompt.

EMCP Tools is an MCP server that runs inside your WordPress install. It registers up to 526 tools, each one a wrapper around an Elementor or WordPress operation. The MCP client is your AI app: Claude Code, Claude Desktop, Cursor, Antigravity, etc. The client connects to your EMCP Tools server over HTTP or stdio and gains the ability to manipulate Elementor and the wider WordPress site.

The flow looks like this:

You → AI client → MCP server (EMCP Tools) → Elementor → WordPress
↑ ↓
AI decides Server returns
which tools JSON results
to call

No vendor lock-in. Any MCP-compatible client speaks to any MCP-compatible server. Switching from Claude to Cursor doesn’t require re-configuring anything on the WordPress side. The server is the same.

MCP supports multiple transports. The two that matter for EMCP Tools:

  • HTTP: the server is a REST endpoint at /wp-json/mcp/emcp-tools-server. Clients hit it over the network, send a session-ID header, get JSON back. Works for remote WordPress installs, easy to debug with curl.
  • stdio: the server runs as a subprocess (via wp mcp-adapter serve), reads JSON-RPC from stdin, writes responses to stdout. No HTTP, no auth, no sessions, but client and server must be on the same machine. Faster for local dev.

Both transports expose the exact same tools and behavior. Pick the one that fits your setup.

Site context (the server’s instructions)

Section titled “Site context (the server’s instructions)”

The MCP spec lets a server send instructions at connection time, stable, server-wide guidance the client is expected to apply to everything it does there. EMCP Tools builds this on the Context screen (EMCP Tools → Context, in the Build group of the sidebar). Every AI agent that connects to this site, and AI Chat, receives it automatically as part of the instructions string, no per-tool wiring needed. As of 3.18.0 the screen has four parts:

  • Site profile (written by you): Business name, Industry, “What the site is for”, and up to 8 Brand voice chips (Clear, Friendly, Technical, Playful, Formal, Warm, Bold, Concise, or your own with Add voice). It is sent as a ## Site profile block.
  • Detected automatically: what EMCP finds on its own, each with a switch so you can leave out what the AI doesn’t need: Page builder, Theme, Global styles, Site structure, Active plugins, WooCommerce catalog (off by default, shown only while WooCommerce is active), Elementor’s MCP server (shown only when Elementor’s own server is on), and on Pro the Skills catalog and Project memory. Refresh re-reads them.
  • Extra instructions: plain-language rules in Markdown (up to 20,000 characters) for your business identity, content rules, technical constraints and guardrails.
  • Send context to connected agents: the switch that controls whether the profile and extra instructions are sent at all.

EMCP Tools → Context screen with the Site profile card, the Detected automatically switches, the Context size meter and the live preview, and Preview what the AI sees at the top

A Context size meter estimates the tokens against an 8k budget and shows a live preview while you edit. Preview what the AI sees opens the exact server instructions an agent would receive with your unsaved changes, so there’s no guessing what’s actually going out. Click Save context to apply. Changes take effect the next time an agent connects; existing sessions keep whatever instructions they got at connect time. Every setting on the screen is described in Context screen.

This is different from Project Memory: Context is a human-written, always-sent block; Memory is agent-proposed, individually approved, and grouped by type.

Every WordPress install gains an API for free through the MCP Adapter (bundled with EMCP Tools): the data is already there, the permissions model is already there, the auth (Application Passwords) is already there. MCP just exposes it in a shape AI agents can use.

EMCP Tools is one application of that idea, Elementor-specific. There’s no reason the same approach couldn’t extend to WooCommerce, Gravity Forms, ACF, custom post types: anything with structured data. The MCP Adapter is the substrate; EMCP Tools is one server built on top of it.