feat(mcp-docugen): tema CSS Tielogic, Swagger pubblico, README aggiornato

- themes/tielogic-devnotes.css: stile DEVNOTES + offerta Tielogic per md-to-pdf
  (cover bianca con logo+box FORNITORE/CLIENTE, tabelle finanziarie, badge,
  status-card, sezione ACCETTAZIONE con firme, A4 portrait)
- main.py: exempt_paths estesi a /docs /redoc /openapi.json (Swagger UI
  accessibile senza Bearer per esplorazione interattiva)
- README: stato mcp-docugen aggiornato, layout docker/gateway, setup completo
  con docker compose + smoke test

Template runtime (offerta, report-analisi) vivono nel volume Docker
docugen-data, non versionati nel repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-25 12:16:41 +02:00
parent 494a95d80c
commit b4c2935c53
3 changed files with 335 additions and 6 deletions
+14 -5
View File
@@ -13,7 +13,7 @@ Due pezzi, stesso repo:
| Servizio | Stato | Funzione |
|---|---|---|
| `mcp-docugen` | Design pronto, implementazione da iniziare | Genera Markdown formale da template + LLM (OpenRouter). Vedi [`docs/mcp-docugen-design.md`](docs/mcp-docugen-design.md) + [`docs/mcp-docugen-implementation.md`](docs/mcp-docugen-implementation.md). |
| `mcp-docugen` | Implementato, 68 test verde, deploy Docker via gateway Caddy (porta 8090), 6 tool MCP esposti | Genera Markdown formale da template + LLM (OpenRouter). Vedi [`docs/mcp-docugen-design.md`](docs/mcp-docugen-design.md) + [`docs/mcp-docugen-implementation.md`](docs/mcp-docugen-implementation.md). |
| `mcp-convert` | Da progettare | Conversione Markdown → PDF / DOCX / HTML (pandoc/typst backend). |
| `mcp-inbox` | Da progettare | Ingest da Telegram (+ STT opzionale via Whisper) verso draft inbox consumati da Claude Code desktop. |
@@ -31,7 +31,9 @@ ArcaSuite/
│ └── mcp-<nome>/ # src/ tests/ pyproject.toml Dockerfile
├── scripts/ # script operativi (provisioning, backup, smoke)
├── secrets/ # chiavi, token (gitignored)
├── docker-compose.yml # stack completo (TODO: arriverà con primo MCP)
├── docker/ # base.Dockerfile condiviso multi-stage
├── gateway/ # Caddy reverse proxy (Caddyfile)
├── docker-compose.yml # stack completo (gateway + servizi MCP)
├── pyproject.toml # workspace uv + ruff + pytest root
├── .env.example # config root stack
├── .mcp.json.example # template registrazione client MCP
@@ -52,12 +54,19 @@ ArcaSuite/
Servizi non-MCP (es. eventuali `inbox-service` REST) seguono [`/home/adriano/Documenti/Struttura_Progetti/2026-04-01-python-project-spec-design.md`](/home/adriano/Documenti/Struttura_Progetti/2026-04-01-python-project-spec-design.md). Gli MCP server seguono la struttura specifica descritta nei rispettivi design doc (FastMCP come root ASGI).
## Setup (quando ci sarà il primo MCP implementato)
## Setup
```bash
cp .env.example .env
cp .mcp.json.example .mcp.json # compila con URL + API key
cp .env.example .env # imposta OPENROUTER_API_KEY, DOCUGEN_API_KEY, GATEWAY_PORT
cp .mcp.json.example .mcp.json # compila con URL + API key per registrazione client
uv sync --all-groups
docker compose up -d --build # avvia gateway + mcp-docugen
```
Smoke test:
```bash
curl -H "Authorization: Bearer $DOCUGEN_API_KEY" http://localhost:8090/mcp-docugen/health
```
## Remote