MCP server that dies after connecting shows "connected" forever and is never reconnected
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- backend
Línea de trabajo
Empieza en src/main/tools/mcp.ts, especialmente en McpHub.connectOne y en la gestión del estado del cliente descrita en el issue. Comprueba cómo indica el MCP SDK que una conexión se ha cerrado y luego añade un fixture stdio que termine después de listTools. El trabajo estará terminado cuando status() informe de un error después de que el servidor termine y refresh() vuelva a conectarse.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 2
- Merge medio
- 5 h 28 min
- PR fusionados (30 d)
- 24
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PierrunoYT/patch
-
enhancement platform: windows priority: low severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
PierrunoYT/patch#198 ·
Los mantenedores suelen responder en 1 día
-
priority: medium security severity: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
PierrunoYT/patch#66 ·
Los mantenedores suelen responder en 1 día
-
bug platform: macos priority: low severity: low tests
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
PierrunoYT/patch#218 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
enhancement priority: low security severity: low
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
PierrunoYT/patch#211 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement platform: windows priority: low security severity: low
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
PierrunoYT/patch#207 ·
Los mantenedores suelen responder en 1 día
Todos los issues de PierrunoYT/patch
Issues similares
-
Add: YRF Music NepalAbiertostreams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
walletbeat/walletbeat#1558 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
hawk-digital-environments/HAWKI#438 ·
Los mantenedores suelen responder en 1 día
-
Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
GiganticMinecraft/seichi-portal-frontend#1165 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día