Skip to content

How to Connect Other MCP Clients to WordPress

Easy MCP AI works with any MCP-compatible client. This page collects the connection settings for clients that don't have a dedicated guide: Windsurf, Cline, Roo Code, Zed, LibreChat, Pydantic AI, and generic stdio-based clients.

For the most popular clients, see the dedicated guides: ChatGPT, OpenAI Codex CLI, Claude.ai, Claude Code, Claude Desktop, GitHub Copilot, Google Antigravity, Cursor, OpenCode, and Manus.

In this article

Prerequisites

  • A WordPress site served over HTTPS with Easy MCP AI installed and activated (see the installation guide).
  • Pretty permalinks enabled (Settings > Permalinks set to anything other than "Plain").
  • For token-based clients, an API token from Easy MCP AI > API Token & OAuth.

Your site's MCP endpoint URL is always your domain followed by /wp-json/easy-mcp-ai/v1/mcp:

https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp

In every snippet below, replace the URL with your own endpoint and YOUR_API_TOKEN with your token.

Generic Settings for Any MCP Client

For clients that support OAuth 2.1, point the client at the MCP endpoint URL. The client auto-discovers OAuth, prompts you to log in to WordPress, and manages tokens automatically. No manual token is needed.

SettingValue
TransportStreamable HTTP
MCP Endpoint URLhttps://yoursite.com/wp-json/easy-mcp-ai/v1/mcp
Auth methodOAuth 2.1 (auto-discovered)

Bearer Token (Authorization Header)

For clients without OAuth support, generate a token and pass it as a header.

SettingValue
TransportStreamable HTTP
Endpoint URLhttps://yoursite.com/wp-json/easy-mcp-ai/v1/mcp
AuthenticationAuthorization: Bearer YOUR_API_TOKEN
Content-Typeapplication/json

Token in URL (Last Resort)

For clients that cannot set headers, append the token to the endpoint:

https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp/YOUR_API_TOKEN

URL-based tokens appear in server access logs, WordPress debug logs, and browser history. Use the Authorization header method whenever possible.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{
  "mcpServers": {
    "wordpress": {
      "serverUrl": "https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Windsurf also supports OAuth 2.1, so you can omit the headers and complete the login flow instead.

Cline (VS Code)

Add to cline_mcp_settings.json:

json
{
  "mcpServers": {
    "wordpress": {
      "autoApprove": [],
      "disabled": false,
      "transportType": "streamableHttp",
      "url": "https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Roo Code (VS Code)

Roo Code uses the same format as Cline. Add the snippet above to the Roo Code MCP settings file (roo_cline_mcp_settings.json).

Zed Editor

Add to ~/.config/zed/settings.json:

json
{
  "context_servers": {
    "wordpress": {
      "settings": {},
      "url": "https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

LibreChat

Add to librechat.yaml:

yaml
mcpServers:
  wordpress:
    type: http
    url: https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp
    headers:
      Authorization: "Bearer YOUR_API_TOKEN"

Pydantic AI (Python)

Use the streamable HTTP server class in your Python application:

python
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStreamableHTTP

wordpress_mcp = MCPServerStreamableHTTP(
    url="https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp",
    headers={"Authorization": "Bearer YOUR_API_TOKEN"},
)

agent = Agent("openai:gpt-4o", toolsets=[wordpress_mcp])

Any stdio-Based Client

For MCP clients that only speak stdio, use the mcp-remote bridge:

json
{
  "command": "npx",
  "args": [
    "-y",
    "mcp-remote",
    "https://yoursite.com/wp-json/easy-mcp-ai/v1/mcp",
    "--header",
    "Authorization:Bearer YOUR_API_TOKEN",
    "--transport",
    "http-only"
  ]
}

Replace the outer object key with the server name your client expects. The mcp-remote bridge requires Node.js on your computer; your WordPress server needs nothing extra.

Control What Connected Clients Can Access

Every connection acts as a WordPress user, so roles apply as usual. Tokens can be limited to specific tools, and site-wide guardrails let you disable sensitive tools globally, set rate limits, force AI-created posts to stay drafts, and audit every call. See Creating and Managing API Tokens for details.

Security

If you identify a potential security vulnerability in this plugin, please disclose it responsibly. Follow the protocols on the Themeisle Security Page.

Was this helpful?