Skip to main content
Glama
tutor-sicurezza

mcp-italian-workplace-safety

README.md
# mcp-italian-workplace-safety

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![MCP](https://img.shields.io/badge/Model_Context_Protocol-1.0-purple)](https://modelcontextprotocol.io)
[![Italian workplace safety](https://img.shields.io/badge/D.Lgs-81%2F08-red)](https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:2008-04-09;81)
[![Part of tutor-sicurezza ecosystem](https://img.shields.io/badge/ecosystem-tutor--sicurezza-blue)](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