Skip to content
WP EngineDocumentation

OAuth protected resource metadata for the MCP endpoint

GET
/.well-known/oauth-protected-resource/v1/mcp
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('GET', 'https://api.ai.wpengine.com/.well-known/oauth-protected-resource/v1/mcp');
echo $response->getBody();

OAuth 2.0 Protected Resource Metadata (RFC 9728) for /v1/mcp, naming the authorization server an MCP client obtains an access token from. This is the discovery entry point for interactive OAuth sign-in: an MCP client that calls /v1/mcp without a credential receives 401 with a WWW-Authenticate: Bearer resource_metadata="..." challenge pointing at this document. The resource value is the canonical URI of the MCP endpoint, and is the value a client must send as the RFC 8707 resource parameter on its authorization and token requests. A token is accepted at /v1/mcp only when its aud claim is that same URI. No credential is required, and the response is readable from any origin. No scopes_supported is published: no scope beyond sign-in is required at this endpoint.

The protected resource metadata document.

Media typeapplication/json

OAuth 2.0 Protected Resource Metadata (RFC 9728 §2) for the MCP endpoint. Fields not listed here are omitted; a client must ignore members it does not understand.

object
resource
required

The canonical URI of the MCP endpoint. A client must discard this document if the value is not identical to the URL it requested the MCP endpoint at (RFC 9728 §3.3).

string
authorization_servers
required

Issuer identifiers of the authorization servers that issue access tokens for this resource. A client discovers each one’s endpoints from its own metadata document (RFC 8414).

Array<string>
bearer_methods_supported
required

How an access token may be presented. Only the Authorization request header is supported.

Array<string>
Allowed values: header
Example
{
"resource": "https://api.wpengineapi.com/v1/mcp",
"bearer_methods_supported": [
"header"
]
}

This deployment does not accept interactive OAuth sign-in at the MCP endpoint. API key and Okta authentication are unaffected.

The document is read-only; use GET or HEAD.

Media typetext/plain
string