anthropics / anthropics/claude-ai-mcp

Claude unhappy when a server has an MCP Apps tool and anyOf in outputSchema

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

Descrizione

### What happened?

Claude MCP client seems broken for MCP server that has an MCP Apps tool and anyOf in outputSchema.

Observed pattern:
1. MCP Server responds successfully to initialize.
2. Claude MCP client sends notifications/initialized.
3. Claude MCP client calls tools/list and receives a valid tool list.
4. If one tool has outputSchema: { "anyOf": [...] }, Claude does not proceed normally.
5. It never calls resources/read for the MCP App widget and never calls tools/call.
6. In the Claude UI, the connector may spin on “Checking connection…”, show a connection issue, disappear from the tool list and appear to have no usable tools.
7. There is no useful schema error surfaced to the user.

### What did you expect to happen?

Connection should go through and a single tool listed. But the tools disappear, and the connector becomes unusable.

### Steps to reproduce

Steps to reproduce the behavior:
1. python mcp_ui_repro_server.py --port 8767 (https://gist.github.com/pradh/7cef384106592254640b6e609f59bf63)
2. ssh -o StrictHostKeyChecking=accept-new -o ServerAliveInterval=30 -R 80:localhost:8767 nokey@localhost.run
3. Connect to the returned URL on Claude UI's Custom Connector

### Area

MCP Connector (adding/managing servers)

### MCP Server (if applicable)

_No response_

### Error messages or logs

```shell

```

### Additional context

_No response_

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start with mcp_ui_repro_server.py from the linked gist and reproduce against Claude UI using the listed SSH tunnel. Compare the tools/list response containing outputSchema.anyOf with a control response, then inspect the MCP connector handling; done means the connector remains usable, lists the tool, and proceeds to resources/read and tools/call without an opaque connection failure.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
api
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
38/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.