anthropics / anthropics/claude-ai-mcp

claude.ai connector reports Connected but loads zero tools from spec-compliant remote MCP server

Aperta
#692 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Nessun dato sulla lingua
Stelle
471
Fork
76
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### What happened?

A custom connector to a vendor-hosted remote MCP server shows ✔ Connected in both claude.ai and Claude Code, but none of its tools become available in conversation. The server publishes six tools correctly when queried directly.

Environment

Surface: claude.ai web; also reproduced in Claude Code CLI (Scope: claude.ai config)
Connector: remote MCP over Streamable HTTP, added via Connectors
Auth: none — vendor documents an empty headers object
Server: protocol 2025-06-18, stateless (no Mcp-Session-Id issued)
Endpoint: available on request

Expected: the six advertised tools appear and are callable.
Actual: connector shows Connected; zero tools and zero resources reach the conversation, with no error surfaced in the UI. A control connector on the same account loads its tools normally, so the issue is specific to this server.

Direct verification (curl)

initialize → HTTP 200, content-type: text/event-stream:

{"result":{"protocolVersion":"2025-06-18","capabilities":{"logging":{},"tools":{"listChanged":true}},"serverInfo":{"name":"[REDACTED]","version":"[REDACTED]"}},"jsonrpc":"2.0","id":1}

tools/list → HTTP 200, six read-only tools returned, all with valid inputSchema objects and readOnlyHint: true annotations.

GET on the endpoint returns 405 — permitted for a POST-only server offering no SSE stream.

Possible cause: the tool inputSchema objects use "nullable": true, an OpenAPI 3.0 keyword that is not valid JSON Schema. If the connector validates tool schemas strictly, tools carrying an unrecognized keyword may be dropped silently. Unconfirmed, offered as a lead — it would produce exactly this symptom.

That last paragraph is the most useful thing in the report and survives redaction intact, so the filing isn't worthless either way. But if support asks for the endpoint, give it to them — it's public information and it's what unblocks you.

### What did you expect to happen?

What did you expect to happen?

The six tools the server publishes should appear in the conversation and be callable, the same way a working connector's tools do. Failing that, the connector should not report ✔ Connected while exposing nothing — or should surface an error explaining why the tool list was rejected. The silent success state is the core of the complaint: there's no signal anywhere in the product distinguishing "connected and working" from "connected and publishing nothing," which is what made this take hours to isolate.

Two notes on filling the form. Step 3 is worth keeping even though you and I never definitively confirmed the Configure panel had tools authorized — if you haven't checked it, check before filing, because a triager will ask and it's the one remaining mundane explanation. And if there's a field asking how you're connecting, the answer is "from a custom connector URL I entered manually" if you added it yourself, or via your org's Owner if they added it — the template distinguishes those, and it changes who can adjust settings.

### Steps to reproduce

How can we reproduce this?

Add a custom connector pointing at a remote MCP server over Streamable HTTP that requires no authentication. (Endpoint available on request — it's a vendor's public developer-docs MCP server.)
Complete the add flow. The connector shows ✔ Connected.
Enable the connector for a conversation and confirm its tools are authorized in the connector's Configure panel.
Ask Claude to use any of the server's tools, or check which tools are available from that connector.
Observe that no tools from the connector are available. No error appears in the UI at any point.
For contrast, verify that a different connector on the same account (e.g. Figma) loads its tools normally in the same conversation.
Confirm the server is publishing tools by querying it directly:
bash
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'

Returns HTTP 200 with six tools.

### Area

MCP Connector (adding/managing servers)

### MCP Server (if applicable)

(https://vbapi-docs.vbasoftware.com/mcp)
### Error messages or logs

```shell

```

### Additional context

403 Forbidden: Invalid idpId

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.