MCP server that dies after connecting shows "connected" forever and is never reconnected
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- backend
Direzione di ricerca
Inizia da src/main/tools/mcp.ts, in particolare da McpHub.connectOne e dalla gestione dello stato del client descritta nell’issue. Verifica come MCP SDK segnala una connessione chiusa, poi aggiungi un fixture stdio che termina dopo listTools. Il lavoro è completato quando status() segnala un errore dopo la terminazione del server e refresh() si riconnette.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found in the 2026-10-07 code review (traced through MCP SDK 1.31.0).
Problem
McpHub.connectOne (src/main/tools/mcp.ts:100-141) never sets client.onclose. When a stdio server crashes or an HTTP session drops, the SDK clears its transport (protocol.js:268) and later calls throw Not connected. state.client stays set, though:
status()reportsconnected.- The tools are still offered to the model, and every call fails.
connectOnereturns early for an unchanged config, so a refresh doesn't reconnect either.
Fix
client.onclose = () => {
if (state.client !== client) return;
state.client = null;
state.tools = [];
state.listed = [];
state.error = 'The server closed the connection.';
this.onToolsChanged();
};
Optionally reconnect on the next refresh. Test: a stdio fixture that exits after listTools → status() reports an error and refresh() reconnects.
- Lingua principale
- TypeScript
- Stelle
- 2
- Fork
- 2
- Merge medio
- 5h 52m
- PR unite (30g)
- 18
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 PierrunoYT/patch
-
Renderer h() sets any known DOM property from props; restrict it before a dynamic key appearsApertaenhancement priority: low security severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
PierrunoYT/patch#208 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement platform: windows priority: low severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PierrunoYT/patch#198 ·
I maintainer di solito rispondono entro 1 giorno
-
bug priority: low severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PierrunoYT/patch#190 ·
I maintainer di solito rispondono entro 1 giorno
-
Unbounded waits: revokeProjectGrant has no timeout, and timed-out browser waiters are never removedApertabug priority: low severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
PierrunoYT/patch#188 ·
I maintainer di solito rispondono entro 1 giorno
-
bug priority: medium severity: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
PierrunoYT/patch#179 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di PierrunoYT/patch
Issue simili
-
DB-plane provider_chat_options.* is accepted by config set but never merged into the loaded configAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Bump Firebase JS SDK (12.19.0 → 13.0.0)Forse già presa @SelaseKay l’ha presa oggi. ApertaNeeds Attention type: enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
invertase/react-native-firebase#9364 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
clouflaure de fernandoApertaenhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
cloudflare/mcp#271 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 4 giorni
-
[fullsend] E2E: rhdh-version-override — run-e2e.sh overrides RHDH_VERSION to non-existent 2.1Apertae2e-failure ready-to-code
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
redhat-developer/rhdh-plugin-export-overlays#4261 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno