e8705dcd0b
- Renderer: orchestratore generate() — validazione strict variabili,
materializzazione image vars come asset effimeri su disco + URL rewrite,
asset paths template da ./assets/X -> {PUBLIC_BASE_URL}/assets/<t>/X,
integrazione LLM error -> record success=0
- FastAPI sub-app: GET /health (no auth), /assets/{t}/{f} (auth+traversal check),
/generated/{gen_id}/{f} (410 su scaduto o mancante)
- FastMCP server con 6 tool: template_create/update/delete/list/get,
document_generate. Tools esposti anche via mcp.tools dict per test.
- main.build_app() compone http_app + FastMCP mount su /mcp + auth middleware
+ lifespan cleanup task TTL (24h). run() entry point per script console.
68 test passed. Build Docker arca-mcp-docugen:dev verificata,
/health endpoint risponde correttamente nel container.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.