anthropics / anthropics/claude-ai-mcp

anthropics/claude-ai-mcp

Ouverte
#651 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
auth bug server-developer-report
Langage dominant
Aucune donnée de langage
Étoiles
471
Forks
76
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### MCP server URL

https://mcp-laptop.magnifyo.app/mcp

### Where does the issue occur?

When pressing the Connect button

### Transport used

streamable-http

### Client registration type

My server does not have auth

### 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-07-19

### Browser and OS

_No response_

### Describe the issue

# GitHub Issue — anthropics/claude-ai-mcp

**Suggested title:** Custom connector completes full MCP handshake (verified server-side) but claude.ai reports "Couldn't reach server" / "no tools available" — ofid_cba590964ba4a702

**Labels:** bug, custom-connectors

---

## Summary
Two custom remote MCP connectors on one account began failing simultaneously on **July 20, 2026 ~09:29–09:45 EDT** after working normally for weeks. Server-side logs prove Claude's broker completes a **full, successful MCP handshake** — yet the UI reports "Couldn't reach Curtis MCP Server" and "This connector has no tools available."

Support reference from the error banner: **`ofid_cba590964ba4a702`**

## Connector A — no-auth (Streamable HTTP): "no tools available" despite perfect handshake
Endpoint: `https://mcp-laptop.magnifyo.app/mcp`

Server access log during a connector re-add attempt (all requests from Claude, UA `Claude-User`):
```
15:24:39 POST /mcp → 200 (initialize; Mcp-Session-Id issued)
15:24:39 GET /.well-known/oauth-protected-resource → 404 (correct no-auth posture)
15:24:39 GET /.well-known/oauth-authorization-server → 404 (correct no-auth posture)
15:24:39 POST /mcp → 200 (tools/list)
15:24:40 POST /mcp → 202 (notifications/initialized)
```
Reproducing the identical sequence with curl returns a full `tools/list` result (30+ tools with complete JSON schemas). Nothing is malformed, empty, or slow (all responses < 0.3s). The UI nonetheless shows "no tools available" and "Couldn't reach…".

## Connector B — OAuth: broker stopped attempting token refresh
Endpoint: `https://mcp-prod.magnifyo.ai/mcp` (OAuth 2.0, dynamic registration, discovery all verified healthy).

The server's OAuth token store shows hourly refreshes for weeks, ending with a final successful exchange at **08:29:16 EDT July 20** (access token expired 09:29:16; the refresh token issued then remains valid and **unused**). Since 09:29, **zero** requests of any kind have arrived from the broker for this connector, across 13+ tool invocations — each failing client-side with "The connector's server isn't responding," with no JSON-RPC error ever delivered. Sample failing request IDs:
```
req_011CdDRfBsS92y4V9KiwLe4E req_011CdDSAaUXem94YWiSfra6Y
req_011CdDTE5KpGCaC1FgksKd1D req_011CdDXJjyLnDvMvhyG6HyjH
req_011CdDpyEMvxK7Me86WsvmJw req_011CdDrTtHN7sn67xDFTpkCZ
```
Meanwhile the connector still shows "Connected ✓" in settings — inaccurate.

## Ruled out server-side (with host-provider confirmation)
- Server health: both endpoints answer globally in <0.3s; the no-auth connector's full handshake verified by transcript above.
- Firewall: host provider (CanSpace) confirmed in writing that no Anthropic address (160.79.104.0/21) is or ever has been in CSF/LFD deny/temp-ban lists, and that arriving Claude requests were served 200.
- DNS/TLS/reachability from Anthropic: Claude's own web_fetch tool reaches both endpoints (405 on GET, as expected).
- Protocol errors: discovery endpoints, token endpoint (`invalid_grant` on bad refresh), and dynamic registration (201) all verified correct.

## Timeline
- Through July 19 23:05 EDT: both connectors fully functional (server logs show `Claude-User` POSTs with 200s; OAuth jobs executed end-to-end).
- July 20 08:29 EDT: last successful OAuth refresh (connector B).
- July 20 ~09:29–09:45 EDT: both connectors fail from the client side; server-side health unchanged.
- July 20 15:24 EDT: connector A re-add attempt — perfect server-side handshake, still reported unreachable by the UI.

## Request
1. Trace `ofid_cba590964ba4a702` — what did the broker consider failed after a 200/202 handshake with a valid tools/list?
2. Why has the broker stopped attempting token refresh for connector B since 09:29 EDT while holding a valid refresh token, and why does the UI still show it Connected?
3. Was a broker-side change deployed on/around July 20 affecting custom connectors (Streamable HTTP session binding or tools/list ingestion)?

Happy to provide full curl transcripts, complete server logs, or a test account against these endpoints.

### Issue details

```shell
Connector A — no-auth (Streamable HTTP): "no tools available" despite perfect handshake

Endpoint: https://mcp-laptop.magnifyo.app/mcp

Server access log during a connector re-add attempt (all requests from Claude, UA Claude-User):

15:24:39 POST /mcp → 200 (initialize; Mcp-Session-Id issued)
15:24:39 GET /.well-known/oauth-protected-resource → 404 (correct no-auth posture)
15:24:39 GET /.well-known/oauth-authorization-server → 404 (correct no-auth posture)
15:24:39 POST /mcp → 200 (tools/list)
15:24:40 POST /mcp → 202 (notifications/initialized)

Reproducing the identical sequence with curl returns a full tools/list result (30+ tools with complete JSON schemas). Nothing is malformed, empty, or slow (all responses < 0.3s). The UI nonetheless shows "no tools available" and "Couldn't reach…".

Connector B — OAuth: broker stopped attempting token refresh

Endpoint: https://mcp-prod.magnifyo.ai/mcp (OAuth 2.0, dynamic registration, discovery all verified healthy).

The server's OAuth token store shows hourly refreshes for weeks, ending with a final successful exchange at 08:29:16 EDT July 20 (access token expired 09:29:16; the refresh token issued then remains valid and unused). Since 09:29, zero requests of any kind have arrived from the broker for this connector, across 13+ tool invocations — each failing client-side with "The connector's server isn't responding," with no JSON-RPC error ever delivered. Sample failing request IDs:

req_011CdDRfBsS92y4V9KiwLe4E req_011CdDSAaUXem94YWiSfra6Y
req_011CdDTE5KpGCaC1FgksKd1D req_011CdDXJjyLnDvMvhyG6HyjH
req_011CdDpyEMvxK7Me86WsvmJw req_011CdDrTtHN7sn67xDFTpkCZ

Meanwhile the connector still shows "Connected ✓" in settings — inaccurate.
```

### Expected behavior

Successful Connection and 81 tools refreshed.

### Logs from your server

```shell

```

### Additional context

_No response_

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.