Protocol tab leaves a request PENDING when the server denies it with a bare HTTP 403
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 50/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- frontend
Direzione di ricerca
Start by reproducing with a reverse proxy that returns a bare 403 for tools/call, then compare the Protocol tab's request entry with the Tools panel error path that already shows 'Error POSTing to endpoint: Forbidden'. Find where a 403 response is handled for the Protocol entry and make it resolve as an error carrying the HTTP status. Done when the echo call and subscriptions/listen both show an error in Protocol, the Subscriptions section shows the refused listen, and the listen is no longer re-sent after a definitive 403.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
When a server denies a JSON-RPC request with a bare HTTP 403 Forbidden (no WWW-Authenticate header), the web client's Protocol tab never resolves that request's entry. It stays PENDING for good, instead of showing the failure.
The failure is reported elsewhere:
- The Tools panel shows
Tool Error: "Error POSTing to endpoint: Forbidden". - The connection stays
connected. That is correct since #2515 / PR #2690, which stopped a bare 403 from starting OAuth discovery.
So the Protocol tab, the surface meant to record what happened on the wire, disagrees with the rest of the UI about whether the request finished.
It is pre-existing: 2.10.1 does the same. It was found during the v2.11.0 milestone smoke (#2718), while driving #2515.
Reproduce
- Put a reverse proxy in front of an HTTP test server that answers one JSON-RPC method with a bare
403 Forbidden: no body that matters, noWWW-Authenticate. Let everything else through. - Connect the web client (prod
--web) to the proxy. - Legacy: run the
echotool while the proxy 403stools/call. - Modern: subscribe to a resource on a
subscriptionsserver while the proxy 403ssubscriptions/listen. - Open the monitoring sidebar → Protocol.
Observed
tools/call echostaysPENDING.subscriptions/listenstaysPENDING. On modern, the UI also re-sendssubscriptions/listenabout 7 times in ~5s after the 403, and the Subscriptions section never surfaces the denial.- The proxy log confirms each request got its 403 response immediately.
Expected
The entry resolves as an error carrying the HTTP status, and the Subscriptions section shows that the listen was refused. The repeated re-send after a definitive 403 is worth a look in the same pass.
- Lingua principale
- TypeScript
- Stelle
- 11.1k
- Fork
- 1.6k
- Merge medio
- 5h 29m
- PR unite (30g)
- 158
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di modelcontextprotocol/inspector
-
enhancement v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
modelcontextprotocol/inspector#2782 ·
I maintainer di solito rispondono entro 1 giorno
-
CLI tests seed the developer's real ~/.mcp-inspector/mcp.json (cli.test.ts, completion.test.ts)Apertabug v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
modelcontextprotocol/inspector#2765 ·
I maintainer di solito rispondono entro 1 giorno
-
chore v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
modelcontextprotocol/inspector#2752 ·
I maintainer di solito rispondono entro 1 giorno
-
SSE transport: connection succeeds then marked 'Failed' after first event, works fine with raw curlAperta
Difficoltà 4/5 1-2 giorni Idoneità per principianti 53/100
modelcontextprotocol/inspector#2783 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement v2
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
modelcontextprotocol/inspector#2772 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di modelcontextprotocol/inspector
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
source-cooperative/docs.source.coop#41 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Nimblesite/SharpLsp#468 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
solidjs-community/solid-primitives#1082 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno