494a95d80c
- streamable_http_app() espone /mcp internamente; mount a root evita doppio prefisso. - mcp.session_manager.run() integrato nel lifespan FastAPI: l'app mounted non riceve automaticamente il proprio lifespan -> la task group streamable-http non veniva inizializzata e le richieste MCP fallivano con RuntimeError. Smoke test end-to-end via gateway Caddy (porta 8090): - MCP initialize handshake OK - tools/list espone 6 tool corretti - template_create + template_list: round-trip con persistenza su volume - document_generate propaga LLMAuthError come MCP isError:true - Registrato in claude mcp list: ✓ Connected Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>