Files
ArcaSuite/services/mcp-docugen
Adriano 494a95d80c fix(mcp-docugen): mount FastMCP a root + lifespan session_manager.run()
- 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>
2026-04-21 12:42:00 +02:00
..

mcp-docugen

MCP server per generazione documenti Markdown da template + LLM (OpenRouter).

Design: ../../docs/mcp-docugen-design.md Plan: ../../docs/mcp-docugen-implementation.md

Dev

Dalla root del repo:

uv sync --all-groups
uv run --package mcp-docugen mcp-docugen

Test

uv run --package mcp-docugen pytest services/mcp-docugen

Docker

# build (dalla root)
docker build -f docker/base.Dockerfile -t arca-base:latest .
docker build -f docker/mcp-docugen.Dockerfile -t arca-mcp-docugen:dev .

# o via compose
docker compose build mcp-docugen
docker compose up mcp-docugen

Env

Vedi .env.example. Variabili obbligatorie: API_KEY, OPENROUTER_API_KEY, PUBLIC_BASE_URL.