# MCP Office Expert Tools

Helper Node locali per diagnostica Pandoc e smoke conversioni fuori MCP.

Principi:

- `office-node document_convert` resta la API MCP ufficiale;
- questi script servono solo a distinguere problemi runtime/PATH da problemi MCP;
- output JSON machine-readable;
- nessuna installazione automatica;
- zero dipendenze npm aggiuntive.

Per discovery rapida leggere prima `catalog.json`.

## Tool disponibili

| Intento | Tool | Esempio rapido |
| --- | --- | --- |
| Stato Pandoc/PDF engine | `pandoc-status.js` | `--pretty` |
| Smoke conversioni Pandoc locali | `pandoc-convert-smoke.js` | `--out C:\tmp\pandoc-smoke --pretty` |

### pandoc-status.js

Verifica disponibilita' locale di `pandoc` e degli engine PDF supportati.

Uso:

```bash
node skills/mcp-office-expert/tools/pandoc-status.js --pretty
node skills/mcp-office-expert/tools/pandoc-status.js --require-engine xelatex --pretty
```

Output:

```json
{
  "ok": true,
  "tool": "pandoc-status",
  "pandoc": { "available": true, "version": "pandoc 3.x" },
  "pdf": {
    "available": false,
    "engines": [],
    "recommended_engine": null,
    "preferred_order": ["xelatex", "typst", "lualatex", "pdflatex", "weasyprint", "wkhtmltopdf"]
  }
}
```

Con `--require-engine`, exit code `1` se l'engine richiesto non e' nel PATH.

### pandoc-convert-smoke.js

Esegue conversioni locali con Pandoc, fuori MCP:

- Markdown -> HTML;
- Markdown -> DOCX;
- HTML -> GFM Markdown;
- opzionale Markdown -> PDF.

Uso:

```bash
node skills/mcp-office-expert/tools/pandoc-convert-smoke.js --out C:\tmp\pandoc-smoke --pretty
node skills/mcp-office-expert/tools/pandoc-convert-smoke.js --pdf --engine typst --out C:\tmp\pandoc-smoke --pretty
```

Se `--out` non e' specificato, usa una directory temporanea e la rimuove a fine esecuzione. Usa `--keep` per conservare la directory temporanea.

Exit code:

- `0`: smoke completato;
- `1`: Pandoc mancante, engine PDF mancante quando richiesto, o conversione fallita.

## Quando usarli

Usare questi helper quando:

- `document_convert` fallisce ma serve capire se il problema e' runtime/PATH;
- un host MCP vede un PATH diverso dal terminale;
- si vuole validare rapidamente un PDF engine prima di riavviare il server MCP.

Non usarli come sostituto del tool MCP nei workflow agentici normali.
