Files
ArcaSuite/services/mcp-docugen
Adriano e8705dcd0b feat(mcp-docugen): Task 7-10 renderer, http_routes, mcp_tools, main bootstrap
- 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>
2026-04-21 12:27:16 +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.