MCP server URL
https://mcp.sme.ec/mcp
Where does the issue occur?
When pressing the Connect button
Transport used
streamable-http
Client registration type
Dynamic Client Registration (DCR)
SSE only: Does your server return the expected status code for POST requests?
Not applicable (my server does not use SSE)
When did you last reproduce this?
2026-06-07 6:07 PM AEST (Australia/Melbourne, UTC+10) = 2026-06-07 08:07 UTC
Browser and OS
Chrome 148 on Windows 10
Describe the issue
Adding our MCP server as a custom connector in claude.ai (web and mobile) fails the moment I press Connect — no Cloudflare/Access login or consent screen ever appears. The connector stays "Not connected" and shows "Authorization with the MCP server failed" with reference ofid_11fbd3c3d128f53f. The exact same server URL connects and works in Claude Code (CLI), so the server-side OAuth works for at least one Claude client.
Issue details
Error shown in claude.ai: "Authorization with the MCP server failed. You can check your credentials and permissions. If this persists, share this reference with support: ofid_11fbd3c3d128f53f"
Reference ID: ofid_11fbd3c3d128f53f
Affected: claude.ai web connector AND Claude mobile app. NOT affected: Claude Code (CLI) connects to the same URL fine.
It fails at the Connect button — before any authorization screen appears. I manually walked the pre-auth handshake; every server-side step succeeds:
1. GET/POST /mcp (unauth) -> 401, but with NO `WWW-Authenticate` header (the one deviation from RFC 9728 / the MCP auth spec).
2. /.well-known/oauth-protected-resource (and /mcp variant) -> 200, correct resource + authorization_servers=[https://smebusinesssupport.cloudflareaccess.com].
3. authorization-server metadata -> 200, complete: authorization/token/registration(DCR)/revocation endpoints, PKCE S256, authorization_code grant.
4. Dynamic Client Registration with redirect_uris=["https://claude.ai/api/mcp/auth_callback"] -> 201 Created, valid client_id issued (DCR accepts claude.ai's callback).
5. No Cloudflare WAF / Browser-Integrity challenge (all user-agents get 200 on discovery).
Prime suspect: because it dies before any login screen and every endpoint works when called directly, the likely trigger is the missing `WWW-Authenticate` header on the 401. Claude Code tolerates its absence (probes the .well-known path and connects); the claude.ai connector appears to require it. Please trace ofid_11fbd3c3d128f53f to confirm where the connector gives up. Likely fix: Cloudflare Access "Managed OAuth" should emit `WWW-Authenticate: Bearer resource_metadata="..."` on the 401, and/or claude.ai could fall back to probing the protected-resource well-known path like Claude Code does.
Expected behavior
Pressing Connect should run the full OAuth flow — discover metadata, register (DCR), open the Cloudflare Access login/consent screen, redirect back to https://claude.ai/api/mcp/auth_callback, exchange the code for a token, and connect — exactly as Claude Code does against this same URL and authorization server. Instead it fails instantly with no login screen.
Logs from your server
Our MCP origin (the streamable-http server behind the Cloudflare "Managed OAuth" portal) logged NOTHING for the failed connector attempts at 2026-06-07 07:43 and 08:07 UTC — the flow never reached our server. In the same window an authenticated MCP session succeeded: a sam_chat tool call at 07:52:56 UTC returned 200 OK (Claude Code, the client that works). Because Cloudflare performs the full OAuth handshake before proxying to the origin, a pre-auth failure is invisible on our side — which places the failure entirely in the pre-authorization layer (claude.ai connector <-> Cloudflare Access Managed OAuth), consistent with "fails at Connect, no login screen."
Cloudflare-side correlation logs (Zero Trust -> Access -> Logs / Authentication, and the MCP portal request logs) are available in our dashboard if helpful — happy to provide on request.
Additional context
Reference IDs from two reproductions (please correlate either):
- ofid_11fbd3c3d128f53f — 2026-06-07 07:43 UTC (5:43 PM AEST)
- ofid_bc04b84af9c20bdf — 2026-06-07 08:07 UTC (6:07 PM AEST)
Both show: "Authorization with the MCP server failed. You can check your credentials and permissions. If this persists, share this reference with support."
Same server URL (https://mcp.sme.ec/mcp) connects fine in Claude Code (CLI); fails only in the claude.ai web + mobile connectors — instantly at Connect, with no login screen ever shown.
MCP server URL
https://mcp.sme.ec/mcp
Where does the issue occur?
When pressing the Connect button
Transport used
streamable-http
Client registration type
Dynamic Client Registration (DCR)
SSE only: Does your server return the expected status code for POST requests?
Not applicable (my server does not use SSE)
When did you last reproduce this?
2026-06-07 6:07 PM AEST (Australia/Melbourne, UTC+10) = 2026-06-07 08:07 UTC
Browser and OS
Chrome 148 on Windows 10
Describe the issue
Adding our MCP server as a custom connector in claude.ai (web and mobile) fails the moment I press Connect — no Cloudflare/Access login or consent screen ever appears. The connector stays "Not connected" and shows "Authorization with the MCP server failed" with reference ofid_11fbd3c3d128f53f. The exact same server URL connects and works in Claude Code (CLI), so the server-side OAuth works for at least one Claude client.
Issue details
Expected behavior
Pressing Connect should run the full OAuth flow — discover metadata, register (DCR), open the Cloudflare Access login/consent screen, redirect back to https://claude.ai/api/mcp/auth_callback, exchange the code for a token, and connect — exactly as Claude Code does against this same URL and authorization server. Instead it fails instantly with no login screen.
Logs from your server
Additional context
Reference IDs from two reproductions (please correlate either):
Both show: "Authorization with the MCP server failed. You can check your credentials and permissions. If this persists, share this reference with support."
Same server URL (https://mcp.sme.ec/mcp) connects fine in Claude Code (CLI); fails only in the claude.ai web + mobile connectors — instantly at Connect, with no login screen ever shown.