What your client needs to support
Streamable HTTP transport — not SSE, and no session id to carry
OAuth 2.1 authorization code flow with PKCE (
S256)Dynamic client registration (RFC 7591), or a client we issue by hand
How the connection opens
Nothing is configured in advance. Your client discovers every endpoint it needs starting from a401:
1
Your client calls the endpoint and gets a 401
The response carries the pointer it needs:
2
It reads the protected resource metadata (RFC 9728)
Which names Glood as the authorization server for this resource.Both URL forms are served — the bare path and the path-suffixed form
(
/.well-known/oauth-protected-resource/api/v1/mcp) — because clients
build it both ways.3
It reads the authorization server metadata (RFC 8414)
/.well-known/oauth-authorization-server gives it the authorize, token and
registration endpoints.4
It registers itself (RFC 7591)
Unauthenticated, and it becomes a public client. Nothing is shared in
advance, so there is no credential to leak or to rotate.
5
Your browser opens the consent screen
Tick which organizations this connection may reach, approve, and the client
exchanges its code for a token on its own.
What the server advertises
Token lifetimes
Revoking a connection from the dashboard kills every credential it holds
immediately, refresh tokens included. See
Access and privacy.