Bug Report: Supabase hosted MCP OAuth fails — /.well-known/openid-configuration returns 404, breaking OIDC discovery
To: https://github.com/supabase/mcp
Status: Ready to file
Reported: 2026-08-23
Title
Hosted MCP OAuth: api.supabase.com/.well-known/openid-configuration returns 404 — OIDC-discovery clients (VS Code) can't start the sign-in flow
Summary
The hosted Supabase MCP server (https://mcp.supabase.com/mcp) delegates OAuth to
the authorization server https://api.supabase.com. That authorization server
publishes its metadata only at the RFC 8414 path
(/.well-known/oauth-authorization-server) and returns 404 at the OIDC path
(/.well-known/openid-configuration). MCP clients that perform OIDC discovery
(probing openid-configuration) — including VS Code's dynamic-auth MCP client —
cannot construct the authorization URL, so the OAuth flow never starts. The result
is a registered dynamic client with no session and a server that stays at
401 No access token was provided.
Environment
- MCP client: VS Code (dynamic OAuth / PKCE)
- MCP endpoint:
https://mcp.supabase.com/mcp?project_ref=<ref>&features=...
- Authorization server:
https://api.supabase.com
- Date observed: 2026-08-23
Evidence
GET https://api.supabase.com/.well-known/openid-configuration:
HTTP/2 404
{"message":"Cannot GET /.well-known/openid-configuration"}
GET https://api.supabase.com/.well-known/oauth-authorization-server (RFC 8414):
HTTP/2 200
{
"issuer": "https://api.supabase.com",
"authorization_endpoint": "https://api.supabase.com/v1/oauth/authorize",
"token_endpoint": "https://api.supabase.com/v1/oauth/token",
"registration_endpoint": "https://api.supabase.com/platform/oauth/apps/register",
"grant_types_supported": ["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:jwt-bearer"],
"code_challenge_methods_supported": ["S256","plain"],
...
}
The MCP resource metadata (https://mcp.supabase.com/.well-known/oauth-protected-resource/mcp)
correctly points to authorization_servers: ["https://api.supabase.com"], but the
client then fails at the discovery step because the OIDC document is missing.
Expected behavior
https://api.supabase.com/.well-known/openid-configuration should return a valid
OpenID Connect discovery document (or redirect/alias to the RFC 8414 metadata), so
OIDC-discovery-based MCP clients can initiate the authorization flow.
Actual behavior
The OIDC path 404s. VS Code registers a dynamic client (clientId is created via
the working registration_endpoint) but never obtains an authorization URL, so no
session is ever established. All MCP calls return:
HTTP/2 401
www-authenticate: Bearer error="invalid_request",
error_description="No access token was provided in this request",
resource_metadata="https://mcp.supabase.com/.well-known/oauth-protected-resource/mcp?project_ref=..."
Impact
Any MCP client that relies on OIDC discovery (rather than RFC 8414
oauth-authorization-server) cannot authenticate to the hosted Supabase MCP
server. VS Code is affected; other clients that probe openid-configuration first
would be too.
Suggested fixes
- Serve the OIDC discovery document at
https://api.supabase.com/.well-known/openid-configuration (even a thin alias of
the RFC 8414 metadata with an issuer field is sufficient), or
- Confirm/document that clients must use RFC 8414 discovery only, and ensure the
protected-resource metadata / client guidance reflects that.
Workaround
None client-side for VS Code's dynamic-auth flow — the discovery document is
missing server-side. (A personal access token / API-key header is not currently
supported by the hosted Supabase MCP server.)
Bug Report: Supabase hosted MCP OAuth fails —
/.well-known/openid-configurationreturns 404, breaking OIDC discoveryTo: https://github.com/supabase/mcp
Status: Ready to file
Reported: 2026-08-23
Title
Hosted MCP OAuth:
api.supabase.com/.well-known/openid-configurationreturns 404 — OIDC-discovery clients (VS Code) can't start the sign-in flowSummary
The hosted Supabase MCP server (
https://mcp.supabase.com/mcp) delegates OAuth tothe authorization server
https://api.supabase.com. That authorization serverpublishes its metadata only at the RFC 8414 path
(
/.well-known/oauth-authorization-server) and returns 404 at the OIDC path(
/.well-known/openid-configuration). MCP clients that perform OIDC discovery(probing
openid-configuration) — including VS Code's dynamic-auth MCP client —cannot construct the authorization URL, so the OAuth flow never starts. The result
is a registered dynamic client with no session and a server that stays at
401 No access token was provided.Environment
https://mcp.supabase.com/mcp?project_ref=<ref>&features=...https://api.supabase.comEvidence
GET https://api.supabase.com/.well-known/openid-configuration:GET https://api.supabase.com/.well-known/oauth-authorization-server(RFC 8414):The MCP resource metadata (
https://mcp.supabase.com/.well-known/oauth-protected-resource/mcp)correctly points to
authorization_servers: ["https://api.supabase.com"], but theclient then fails at the discovery step because the OIDC document is missing.
Expected behavior
https://api.supabase.com/.well-known/openid-configurationshould return a validOpenID Connect discovery document (or redirect/alias to the RFC 8414 metadata), so
OIDC-discovery-based MCP clients can initiate the authorization flow.
Actual behavior
The OIDC path 404s. VS Code registers a dynamic client (
clientIdis created viathe working
registration_endpoint) but never obtains an authorization URL, so nosession is ever established. All MCP calls return:
Impact
Any MCP client that relies on OIDC discovery (rather than RFC 8414
oauth-authorization-server) cannot authenticate to the hosted Supabase MCPserver. VS Code is affected; other clients that probe
openid-configurationfirstwould be too.
Suggested fixes
https://api.supabase.com/.well-known/openid-configuration(even a thin alias ofthe RFC 8414 metadata with an
issuerfield is sufficient), orprotected-resource metadata / client guidance reflects that.
Workaround
None client-side for VS Code's dynamic-auth flow — the discovery document is
missing server-side. (A personal access token / API-key header is not currently
supported by the hosted Supabase MCP server.)