mcp-italian-workplace-safety
README.md
# mcp-italian-workplace-safety
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io)
[](https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:2008-04-09;81)
[](https://github.com/tutor-sicurezza)
**MCP server** che espone i dati di **123Formazione** sulla sicurezza sul lavoro italiana (D.Lgs 81/08) a qualsiasi AI assistant compatibile **Model Context Protocol** — Claude Desktop, Cursor, Cline, Windsurf, Continue, e altri.
Chiedi al tuo assistente AI cose tipo:
> _"Quali corsi sicurezza sono obbligatori per il codice ATECO 41 (costruzioni di edifici)?"_
> _"Ogni quanto va aggiornato il corso preposto secondo l'Accordo Stato-Regioni 78/CSR del 17 aprile 2025?"_
> _"Cerca nel glossario D.Lgs 81/08 il termine RSPP e dammi la definizione + normativa di riferimento."_
> _"Mostrami tutte le sanzioni dell'art. 55 D.Lgs 81/08 per omessa formazione."_
L'assistente userà gli strumenti MCP per chiamare l'API pubblica gratuita di [123formazione.com/api/public](https://123formazione.com/api/public/docs) e restituire dati strutturati, citabili e aggiornati.
---
## Install
### Quick install (npx — no global install)
```jsonc
// claude_desktop_config.json (Claude Desktop) o equivalente
{
"mcpServers": {
"italian-workplace-safety": {
"command": "npx",
"args": ["-y", "github:tutor-sicurezza/mcp-italian-workplace-safety"]
}
}
}
```
### Local install
```bash
git clone https://github.com/tutor-sicurezza/mcp-italian-workplace-safety.git
cd mcp-italian-workplace-safety
npm install
npm run build
```
Poi nel client MCP punta al binario `dist/index.js`:
```jsonc
{
"mcpServers": {
"italian-workplace-safety": {
"command": "node",
"args": ["/absolute/path/to/mcp-italian-workplace-safety/dist/index.js"]
}
}
}
```
---
## Client-specific instructions
### Claude Desktop
1. Apri il file di configurazione:
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`
2. Aggiungi il blocco `italian-workplace-safety` come sopra.
3. Riavvia Claude Desktop. Vedrai i tool `get_ateco`, `search_ateco`, `get_corsi_obbligatori`, `get_scadenze_formazione`, `search_glossario`, `get_normativa`, `search_normativa`, `suggest` disponibili nelle conversazioni.
### Cursor
1. Apri `~/.cursor/mcp.json` (crea il file se non esiste).
2. Aggiungi lo stesso JSON dell'esempio sopra.
3. Riavvia Cursor.
### Cline (VS Code extension)
1. Apri le settings VS Code → cerca "Cline MCP".
2. Aggiungi il server `italian-workplace-safety` con il blocco JSON.
### Windsurf
1. Apri `~/.codeium/windsurf/mcp_config.json`.
2. Aggiungi il blocco MCP server come sopra.
### Continue (VS Code/JetBrains)
1. Apri `~/.continue/config.json`.
2. Aggiungi nella sezione `mcpServers`.
---
## Tools
| Tool | Descrizione |
|------|-------------|
| `get_ateco(codice)` | Dettagli ATECO 2007 (codice o slug) con classificazione rischio e corsi obbligatori |
| `search_ateco(query)` | Ricerca fuzzy ATECO per nome settore |
| `get_corsi_obbligatori(ateco)` | Lista corsi sicurezza obbligatori per settore ATECO |
| `get_scadenze_formazione(corso?)` | Periodicità rinnovo formazione (D.Lgs 81/08 + Accordi SR) |
| `search_glossario(termine, categoria?)` | Glossario 200+ termini D.Lgs 81/08 |
| `get_normativa(slug?)` | Index normative italiane SSL |
| `search_normativa(query)` | Ricerca fuzzy normative |
| `suggest(query)` | Autocomplete combinato corsi + glossario |
## Resources
| URI | Descrizione |
|-----|-------------|
| `123formazione://ateco` | Dataset ATECO completo |
| `123formazione://scadenze` | Scadenze formazione |
| `123formazione://glossario` | Glossario completo |
| `123formazione://normativa` | Normative complete |
| `123formazione://llms.txt` | Site map per LLM (llmstxt.org) |
| `123formazione://openapi` | OpenAPI 3.1 spec |
---
## Data source
Tutti i dati sono serviti dall'API pubblica **gratuita** di [123Formazione](https://123formazione.com/api/public/docs) — REST + OpenAPI 3.1 + DCAT-AP-IT, licenza **CC-BY 4.0**.
L'API espone:
- ATECO 2007 + classificazione rischio (Accordo Stato-Regioni 21/12/2011)
- Scadenze formazione (D.Lgs 81/08 + Accordi 2011/2012/2016 + Rep. 78/CSR 2025)
- Glossario 200+ termini
- Index normative (D.Lgs 81/08, Accordi SR, DM 388/2003, DM 02/09/2021, DPR 177/2011, GDPR, Reg. CE 852/2004, CEI 11-27)
## Environment variables (optional)
- `MCP_123F_BASE_URL` — override base URL (default `https://123formazione.com`)
## English summary
This MCP server exposes Italian workplace-safety data (D.Lgs 81/08 — Italy's main occupational safety code) to any MCP-compatible AI assistant. It uses the free public REST API of 123formazione.com and provides 8 tools and 6 resources for querying ATECO economic sectors with risk classification, required training courses, renewal schedules, glossary terms, and regulations.
Useful for: legal-tech tools, compliance assistants, HR / RSPP (workplace safety officers) chatbots, content generation for Italian SSL (Salute e Sicurezza sul Lavoro) topics.
---
## Related repositories
Open dataset / tooling ecosystem for Italian workplace safety (D.Lgs 81/08) maintained by [@tutor-sicurezza](https://github.com/tutor-sicurezza):
**Datasets**
- [italian-ateco-database](https://github.com/tutor-sicurezza/italian-ateco-database) — ATECO 2007 codes + workplace-safety risk
- [italian-province-regioni-dataset](https://github.com/tutor-sicurezza/italian-province-regioni-dataset) — Italian provinces + regions metadata
- [comuni-italiani-istat](https://github.com/tutor-sicurezza/comuni-italiani-istat) — Italian municipalities with ISTAT codes
- [dlgs-81-08-glossario](https://github.com/tutor-sicurezza/dlgs-81-08-glossario) — 218 D.Lgs 81/08 glossary terms
- [dlgs-81-08-testo-unico](https://github.com/tutor-sicurezza/dlgs-81-08-testo-unico) — D.Lgs 81/08 structured by Title + key articles index
- [haccp-italia-normativa-regionale](https://github.com/tutor-sicurezza/haccp-italia-normativa-regionale) — HACCP regional regulations (20 Italian regions)
- [verifiche-periodiche-inail-attrezzature](https://github.com/tutor-sicurezza/verifiche-periodiche-inail-attrezzature) — Equipment subject to INAIL periodic verification
- [accordi-stato-regioni-sicurezza-lavoro](https://github.com/tutor-sicurezza/accordi-stato-regioni-sicurezza-lavoro) — Stato-Regioni training agreements
**Libraries / tools**
- [scadenze-formazione-calculator](https://github.com/tutor-sicurezza/scadenze-formazione-calculator) — Training renewal schedule calculator
- [next-seo-italian-helpers](https://github.com/tutor-sicurezza/next-seo-italian-helpers) — Next.js SEO helpers for Italian B2B
**Online services**
- [Public REST API + OpenAPI 3.1 + DCAT-AP-IT](https://123formazione.com/api/public/docs) — Free open data API
- [Live documentation site (GitHub Pages)](https://tutor-sicurezza.github.io/accordi-stato-regioni-sicurezza-lavoro/) — Accordi Stato-Regioni
All resources are MIT or CC-BY licensed and maintained as production-quality open data.
## License
[MIT](LICENSE) © 2026 tutor-sicurezza / 123Formazione
Data served from the API is licensed under **CC-BY 4.0** with attribution `123Formazione — https://123formazione.com`.
TDQS
A4.2/5.0
Scored across 8 tools
Disambiguation5/5
Each tool targets a distinct entity or action: sector lookup vs search, courses vs schedules, regulations vs glossary. No two tools perform overlapping functions.
Naming Consistency5/5
All tool names follow a consistent verb_object pattern using snake_case (e.g., get_ateco, search_normativa). No mixing of conventions.
Tool Count5/5
8 tools are well-scoped for an Italian workplace safety information server, covering all major areas without redundancy or insufficiency.
Completeness5/5
The tool set covers retrieval of sectors, courses, regulations, schedules, and glossary, plus autocomplete. No obvious gaps for an information-only server.
Maintenance
ActivityInactive
ResponsivenessNo issues