Every client connects to the same endpoint — only the setup steps differ. There is no per-client code in the plugin; the Sokket → Connections → Connect your AI client tab is an instruction generator that fills your own endpoint into the right snippet for each client.
- Endpoint:
https://yoursite.com/wp-json/sokket/v1/mcp - Transport: Streamable HTTP (JSON-RPC 2.0 over POST)
- Auth:
Authorization: Bearer YOUR_TOKEN, or OAuth 2.1
Create a token on Settings → Access first (see Getting Started), or enable OAuth if your client prefers to sign in.
Claude Code
Native remote HTTP support — one command in your terminal:
claude mcp add --transport http sokket-site-connector-for-mcp https://yoursite.com/wp-json/sokket/v1/mcp --header "Authorization: Bearer YOUR_TOKEN"
Replace YOUR_TOKEN with a token from the Access tab. Check it with claude mcp list, and remove it later with claude mcp remove sokket-site-connector-for-mcp.
Claude Desktop (OAuth — recommended)
Claude Desktop’s custom connectors have no field for a bearer token, so this path uses OAuth 2.1:
- Turn on Enable OAuth 2.1 under Sokket → Settings → General and save.
- In Claude Desktop: Settings → Connectors → Add custom connector.
- Paste your endpoint URL. Leave Client ID and Client Secret blank — the connector registers itself.
- Claude opens your site in a browser. Sign in to WordPress if you aren’t already, choose Read-only or Full access on the consent screen, and approve.
The connection then acts as the WordPress user who approved it. Manage or revoke it under Sokket → Connections → OAuth. See OAuth 2.1 Connections.
Claude Desktop (bearer token)
Use this if you’d rather not enable OAuth. It proxies through mcp-remote and needs Node.js installed. Add it to claude_desktop_config.json:
{
"mcpServers": {
"sokket-site-connector-for-mcp": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"mcp-remote",
"https://yoursite.com/wp-json/sokket/v1/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer YOUR_TOKEN"
}
}
}
}
Why the odd shape? On Windows the
cmd /cwrapper is required, and the token has to travel in an environment variable because Claude Desktop strips spaces insideargs—"Authorization: Bearer xxx"as a single argument does not survive. Keep the${AUTH_HEADER}indirection exactly as generated.
ChatGPT
- In ChatGPT: Settings → Connectors → Create (developer mode).
- Paste your endpoint URL.
- Choose Bearer authentication and enter a token from the Access tab.
Cursor
Add this to .cursor/mcp.json in your project, or ~/.cursor/mcp.json for every project:
{
"mcpServers": {
"sokket-site-connector-for-mcp": {
"url": "https://yoursite.com/wp-json/sokket/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
VS Code
Add this to .vscode/mcp.json in your workspace:
{
"servers": {
"sokket-site-connector-for-mcp": {
"type": "http",
"url": "https://yoursite.com/wp-json/sokket/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Windsurf
Add this to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"sokket-site-connector-for-mcp": {
"serverUrl": "https://yoursite.com/wp-json/sokket/v1/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Any other MCP client
Endpoint: https://yoursite.com/wp-json/sokket/v1/mcp
Transport: Streamable HTTP (JSON-RPC 2.0 over POST)
Auth: Authorization: Bearer YOUR_TOKEN
Sokket implements initialize, ping, tools/list, tools/call, and the notifications/initialized no-op, and negotiates protocol versions 2025-11-25, 2025-06-18, and 2025-03-26. A successful initialize returns an Mcp-Session-Id header — send it back on subsequent requests, and DELETE the endpoint with that header to end the session cleanly. GET returns 405, because this server does not offer a server-initiated stream. Protocol details are on the Developer Reference.
Committing config files to a repo
.cursor/mcp.json, .vscode/mcp.json, and similar files often end up in version control. Never commit a token. Either keep the file out of the repo, or use your client’s environment-variable syntax so the token lives outside it. Anyone who reads that file has the same access to your site that the token grants.
After connecting
Restart or reconnect the server in your client so it runs the handshake, then ask it to list what it can do. The tool list you see is filtered twice: by your token’s allowlist, and by whether the bound WordPress user actually has each tool’s capability.
A newly granted tool isn’t showing up? Clients cache the tool list from the handshake. Reconnect the server (or restart the client) to refresh it.