mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-12 01:37:06 +02:00
fix(mcp): timeout connexion 90s (premier npx) + message d'erreur explicite
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
a34f997950
commit
99747d96e0
1 file changed
+12
-2
@@ -96,7 +96,10 @@ def set_mcp_state(sid: str, *, enabled: bool, params: dict) -> dict:
|
||||
|
||||
|
||||
_CALL_TIMEOUT = 30.0
|
||||
_CONNECT_TIMEOUT = 20.0
|
||||
# Généreux : le premier lancement d'un serveur npx (Playwright, Context7…)
|
||||
# télécharge le paquet — souvent bien plus de 20 s. Les démarrages suivants
|
||||
# sont instantanés (cache npm).
|
||||
_CONNECT_TIMEOUT = 90.0
|
||||
_MAX_RESULT_CHARS = 8000
|
||||
|
||||
|
||||
@@ -185,7 +188,14 @@ class McpManager:
|
||||
conn = _ServerConn(sid)
|
||||
await conn.start()
|
||||
except Exception as exc:
|
||||
msg = str(exc)[:300] or exc.__class__.__name__
|
||||
if isinstance(exc, (asyncio.TimeoutError, TimeoutError)):
|
||||
msg = (
|
||||
"délai de démarrage dépassé — premier lancement d'un "
|
||||
"serveur npx (téléchargement) ou paquet absent de l'image. "
|
||||
"Réessaie au prochain message."
|
||||
)
|
||||
else:
|
||||
msg = str(exc)[:300] or exc.__class__.__name__
|
||||
logger.warning("Serveur MCP %s indisponible : %s", sid, msg)
|
||||
self._errors[sid] = msg
|
||||
self._notices.append(
|
||||
|
||||
Reference in new issue
Block a user