anthropics / anthropics/claude-ai-mcp
Custom connector tools not surfaced in claude.ai web conversations for personal accounts — org-level connector works on web against the SAME server (zero inbound requests observed server-side)
- Dominant language
- No language data
- Stars
- 471
- Forks
- 76
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
Tools from a user-level custom connector are never surfaced to the model in claude.ai **web** conversations on personal accounts. The same MCP server works correctly on every other surface, and — critically — an **org-level connector registration of the same server works on claude.ai web**. Server-side APM shows claude.ai web sends **zero requests** to the server at conversation time.
This matches #476 / #479, with additional isolating evidence below.
## Server
- Production MCP server: `https://mcp.cookiedeal.io/mcp`
- Stateless Streamable HTTP (JSON responses, no sessions), OAuth 2.1 (authorization code + PKCE + DCR), RFC 9728 protected-resource metadata
- Spec compliance verified: notifications accepted with HTTP 202 (no body), `ping` supported, GET/DELETE return 405 + `Allow: POST`, protocol version negotiation echoes the client-requested version, token endpoint returns 200 per RFC 6749, `WWW-Authenticate` with absolute https `resource_metadata`
- Instrumented with Datadog APM — every inbound HTTP request is traced
## Evidence matrix (same server, same time period)
| Surface | Connector registration | Result |
|---|---|---|
| ChatGPT | — | ✅ tools listed & callable |
| Claude Code | user-level (personal account) | ✅ |
| Claude Desktop | user-level (personal account) | ✅ |
| Claude Desktop | org-level (Team plan) | ✅ |
| claude.ai web | **org-level (Team plan)** | ✅ |
| claude.ai web | **user-level (personal account)** | ❌ tools never reach the model |
Failure reproduced across: 2 different personal accounts, 2 different connector URLs (cache-busting query string), fresh registrations, new conversations, and with the per-conversation connector toggle enabled. Settings shows the connector as Connected.
## Server-side observation (the key finding)
At the exact times we asked a claude.ai web conversation to list/use the connector's tools, **no request of any kind reached our server** (Datadog APM, all `POST /mcp` and OAuth endpoints traced). By contrast, Desktop/Code/ChatGPT sessions produce the expected `initialize` → `notifications/initialized` → `tools/list` sequences, all 2xx.
The only web-adjacent traffic observed is an occasional unauthenticated `POST /mcp` from `User-Agent: Claude-User` receiving a spec-correct 401 + `WWW-Authenticate` challenge (which is how the connect flow is supposed to discover auth).
Since the failing and succeeding cases hit the identical server, and the failing case sends no traffic, the fault isolates to the claude.ai web client's tool-injection path for user-level custom connectors.
## Repro steps
1. Personal (Pro) account on claude.ai web → Settings → Connectors → Add custom connector → `https://mcp.cookiedeal.io/mcp` → complete OAuth → shows Connected
2. Open a new conversation, enable the connector in the tools menu
3. Ask "list the cookiedeal tools" → model reports no such tools available
4. Same account in Claude Desktop or Claude Code → all 31 tools load and execute
## References
- Related: #476 (same symptom), #479 (zero-requests pattern), #473 (web-only stall)
- We can provide ofids, exact UTC timestamps, server-side traces, or live repros on request.
We are also mid-review for the connector directory — this bug currently affects all personal-plan web users of our connector.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.