GetMCP/Product/How it works

The protocol, translated.

GetMCP sits between any MCP client and your existing REST API. The plugin terminates the protocol, validates each tool call, applies your auth, and forwards the request — turning JSON-RPC into HTTP, and HTTP back into JSON-RPC, on every call.

Architecture

One plugin. Three responsibilities.

GetMCP terminates the MCP protocol on a WordPress endpoint, runs your tool config to translate calls into HTTP requests, and pipes responses back into the protocol — adding logging, rate limits, and auth on the way through.

01 · Client
Any MCP client
Claude · Cursor · ChatGPT
JSON-RPC 2.0
Streamable HTTP / SSE
User credentials
02 · GetMCP
WordPress + plugin
mcp.yoursite.com
txProtocol terminator
cfgTool runtime
logAuth · limits · logs
03 · Upstream
Your REST API
api.yoursaas.com
GET/v1/projects
POST/v1/tasks
DEL/v1/records/:id
Life of a call

Trace one request, end-to-end.

Here's exactly what happens between the moment a user types a prompt in Claude and the moment your API answers.

trace · req_01HW8K3M · POST /mcp/my-mcp-server/tools/call
+0 ms
Client → GetMCP
Claude posts JSON-RPC tools/call with name create_task and arguments. Auth header is forwarded as configured.
192 B
+1 ms
Validate
GetMCP looks up the tool spec, validates the arguments against its JSON Schema, and rejects malformed input before any upstream call.
+3 ms
Authorize
The configured auth strategy (API key, bearer, basic, or OAuth) is applied. OAuth tokens are refreshed automatically if expired.
+4 ms
Rate limit check
Per-client counter increments for this server. Exceeded? Return 429 immediately, never touch upstream.
+5 ms
GetMCP → Your API
Arguments are mapped onto the configured HTTP request — path params, query, headers, and body — and dispatched.
512 B
+138 ms
Your API responds
Response is captured. 5xx triggers the configured retry policy with exponential backoff and jitter.
2.4 KB
+141 ms
Transform & respond
Optional response transforms run (rename, redact, reshape). The result is wrapped as a JSON-RPC tools/call response.
2.4 KB
+142 ms
Log & record
The full request/response, timing, client identity, and status are persisted to your analytics table — filter, replay, or export to JSON/CSV.
→ logs
Setup

Four steps to a live MCP server.

No separate infra. No DevOps tickets. The same WordPress site you already run becomes your MCP runtime.

01 Install

Drop the plugin on WordPress

Requires WordPress 6.2+ and PHP 8.0+. Activate on a subdomain like mcp.yoursite.com.

$ wp plugin install getmcp --activate
GetMCP 1.0.0 activated
→ /wp-admin/admin.php?page=getmcp
02 Server

Create a server

Pick a path (/mcp/my-mcp-server) and set the auth strategy. Each server gets a unique URL; the per-client rate limit you've configured globally applies here automatically.

server  production
path    /mcp/my-mcp-server
auth    Bearer · OAuth 2.0
03 Tools

Add tools, prompts, resources

Import from cURL, OpenAPI, Swagger, or Postman — or pick a template. Edit anything in the visual editor.

import openapi.json
+ 24 tools generated
+ 3 prompts · 2 resources
04 Connect

Share the URL

Paste your server URL into Claude Desktop, Cursor, Windsurf, or any MCP client. Done.

# claude_desktop_config.json
"mysaas": {
  "url": "mcp.yoursite.com"
}
Design principles

Why we built it this way.

01Self-hosted

Your data, your domain

GetMCP runs on your WordPress, on infrastructure you already control. Tool calls flow client → your server → your API. We never see the traffic, never store the credentials, never proxy the data.

02Visual-first

Config, not code

Every primitive — tool, prompt, resource — has a UI in WordPress admin. Engineers can drop into JSON when they want; everyone else stays in the visual editor.

03Pass-through auth

Identity end-to-end

The user identity flowing into the MCP client flows all the way to your API. The same permission boundaries you already enforce stay in place. No magic.

04Future-safe

Protocol updates ship as plugin updates

The MCP spec moves fast. We track it so you don't. When a new revision lands, a plugin update brings it forward — your existing tool definitions just keep working.

Ready in under 10 minutes

From WordPress login to live MCP, today.

Install the plugin, import your API, share one URL.