Find the MCP server URL
Everything a client needs is printed on one screen. This page tells you where, and which value to give the client.
Where the URLs are
Open Settings → POM AI → MCP server. The Endpoints card shows three URLs:
| Card label | Path |
|---|---|
| MCP | /wp-json/pom-ai-mcp/v1/mcp |
| Protected resource metadata | /.well-known/oauth-protected-resource |
| Authorization server metadata | /.well-known/oauth-authorization-server |
Copy them from the screen rather than assembling them by hand. They are built from the site's own home URL, so they already reflect your domain, scheme and any subdirectory install.
Which one the client needs
The MCP URL. That is the server address a client asks for.
A well-behaved client discovers the other two by itself: it calls the MCP endpoint, receives a 401 with a WWW-Authenticate header pointing at the protected resource metadata, and follows the chain from there. See How discovery works.
Give the client only the MCP URL unless its setup form explicitly asks for a metadata URL.
The exact form
https://example.com/wp-json/pom-ai-mcp/v1/mcp
On a subdirectory install:
https://example.com/blog/wp-json/pom-ai-mcp/v1/mcp
Three things matter:
- HTTPS. Tokens and API keys travel in headers.
- No trailing slash. The OAuth resource check compares the URL exactly, ignoring only a trailing slash difference; a query string or fragment makes it invalid.
- The canonical host. The URL is derived from your site's home URL, so it uses whichever of
example.comandwww.example.comWordPress considers canonical. Using the other one will fail the resource check.
Why the exact URL matters
The MCP endpoint doubles as the OAuth resource identifier. During authorization and token exchange, the client sends a resource parameter and the server checks it against this endpoint, comparing scheme, host, port and path.
A mismatch — the wrong host variant, an added path segment, a query string — is rejected with invalid_resource. If a client fails at the token step with that error, compare its configured URL against the one on this screen character by character.
Clients that omit the resource parameter entirely are accepted, because some MCP clients do not send it; the server then assumes its own endpoint.
Multisite
Each site has its own endpoint, derived from that site's home URL:
https://example.com/site-a/wp-json/pom-ai-mcp/v1/mcp
https://example.com/site-b/wp-json/pom-ai-mcp/v1/mcp
Tokens, API keys, OAuth clients and settings are all per-site. A token for one site does not work on another. Open the MCP settings inside the specific site's administration to get its URL.
Multilingual sites
When POM Translate prefixes URLs with a language code, the server also accepts localized paths for the OAuth and discovery endpoints — /es/pom-ai-mcp/oauth/authorize, for example — while still advertising the canonical unprefixed URLs.
Configure the client with the canonical form shown on the settings screen. The localized acceptance exists so a redirect through a translated URL does not break the flow.
Checking it resolves
Open the status endpoint in a browser:
https://example.com/wp-json/pom-ai-mcp/v1/status
It should return JSON. If it returns HTML or a 404, the MCP tool is not enabled or the REST API is not reachable. See The status endpoint.
Then check the two .well-known URLs the same way. If those return your site's 404 page while the status endpoint works, pretty permalinks are not configured — the discovery URLs are rewrite rules. Set a permalink structure and re-check.
Next
Confirm everything is healthy with Check the server status, then pick an authentication method.