Skip to main content
Guild publishes OAuth 2.0 metadata so Model Context Protocol (MCP) clients such as Claude or Cursor can configure themselves. A client reads the metadata, registers itself, and runs the authorization code flow without any manual setup. Both metadata documents are public. You don’t need credentials to read them.
OAuth is for MCP clients acting on behalf of a person. To call the REST API from your own code, use an account API key instead. See Authentication.

Authorization server metadata

The authorization server metadata follows RFC 8414. It lives at the domain root, not under /v1:
Example response:
The example shortens scopes_supported. Read the live document for the full list rather than hardcoding it.

Protected resource metadata

Each OAuth-protected resource also publishes RFC 9728 metadata. It names the authorization server and the scopes that resource accepts. The path is the resource’s own path, appended to /.well-known/oauth-protected-resource:
A client usually finds this document from a 401 response. The response’s WWW-Authenticate header carries a resource_metadata link to it.

How a client connects

  1. The client calls the resource without a token and gets a 401 with a resource_metadata link.
  2. It reads the protected resource metadata to find the authorization server.
  3. It reads the authorization server metadata to find the endpoints.
  4. It registers itself at the registration_endpoint.
  5. It sends the person to the authorization_endpoint with a PKCE challenge. The person approves the requested scopes on Guild’s consent screen.
  6. It exchanges the returned code at the token_endpoint, then sends the access token as a Bearer token.
Last modified on October 15, 2026