Guides
Written from a self-hosted MCP server that passed claude.ai's connector validation, not from the spec alone.
2026
- 08/22Add OAuth to your MCP server with Auth0 (2026, no proxy)A start-to-finish Auth0 setup for MCP connectors, verified live: free signup, dynamic client registration, native RFC 8707 resource support, and a Worker that validates Auth0 JWTs offline. Every step was executed for real and screenshotted.
- 08/22Auth0 in front of an MCP server, with a thin proxyThe architecture that got a self-hosted MCP server through claude.ai connector validation: Auth0 for login and tokens, a small proxy for the metadata and DCR endpoints Auth0 does not serve the way MCP clients expect.
- 08/22The endpoints claude.ai actually probes before connectingA verified checklist of every discovery request claude.ai makes when you add a remote MCP server with OAuth, and what each response must contain.
- 08/22Debugging "unable to connect": a failure mapWhere MCP OAuth connections actually break, ordered by how often they happen, with the test that isolates each one.
- 08/22One MCP server, three connectors: Claude, ChatGPT, GrokThe same OAuth 2.1 server can pass Claude, ChatGPT, and Grok connector validation — if your discovery, registration, and redirect handling account for how each client differs.
- 08/22Run your own OAuth server: Ory Hydra in front of MCPNo Auth0, no SaaS identity provider — a self-hosted Hydra instance that issues connector tokens, with the DCR response quirk that fails Claude's schema validation and the tiny proxy that fixes it.
- 08/22Add OAuth to your MCP server with Stytch Connected AppsStytch as the authorization server for an MCP connector: magic-link signup, the Connected Apps DCR + CIMD toggles, the project-domain metadata trap, and validating Stytch JWTs in a Worker. Executed live, screenshots included.
- 08/22Add OAuth to your MCP server with Supabase AuthSupabase's OAuth Server beta as an MCP authorization server: the /auth/v1 issuer, ES256 keys, dynamic client registration, and the dashboard toggle that only the Management API can flip. Executed live against a real project.