Vai al contenuto principale
Progetto sperimentale non ufficiale: Bootstrap Italia v3 e Dev Kit Italia v1 sono alpha — README

MCP server per il Design system .italia

Non perdere il filo.

Tenere il filo blu Italia.

⚠️ Progetto personale non ufficiale e sperimentale - I dati sono forniti così come sono e potrebbero essere incompleti o non aggiornati. Utilizzare a proprio rischio

Di cosa parliamo?

Design system .italia è il sistema open source ufficiale per realizzare le interfacce della Pubblica Amministrazione

Una iniziativa del progetto Designers Italia, è distribuito in più repository indipendenti:

Filo raccoglie e organizza le informazioni utili da queste sorgenti ogni notte e le espone via MCP. È un'interfaccia per assistenti AI che offre strumenti per consultare e usare le risorse del design system in modo semplice e verificato. È da notare che Filo fa riferimento alle future v3 di Bootstrap Italia e v1 di Dev Kit Italia, attualmente in alpha.

Tenersi al filo blu Italia.

Perché Filo?

Un progetto sperimentale con alcune idee precise:

In roadmap: strumenti per setup progetti e lettura fondamenti del design system, ottimizzazione dell'uso di token LLM e risorse. Futuribile: test uso combinato con server MCP per tool di design

Installa Filo

Avvia il server MCP in un comando

npx @fupete/design-system-italia-mcp
docker pull ghcr.io/fupete/design-system-italia-mcp
docker run -p 8080:8080 \
  -e GITHUB_TOKEN=your_token \
  ghcr.io/fupete/design-system-italia-mcp
git clone https://github.com/fupete/design-system-italia-mcp.git
cd design-system-italia-mcp
npm install && npm run dev

GITHUB_TOKEN (opzionale ma consigliato) per get_component_issues. Senza: 60 richieste/ora per IP. Con token scopo pubblico read-only: 5000/ora.

Client

In ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "design-system-italia": {
      "command": "npx",
      "args": ["-y", "@fupete/design-system-italia-mcp"],
      "env": { "TRANSPORT": "stdio", "GITHUB_TOKEN": "your_token" }
    }
  }
}

In .vscode/mcp.json

{
  "servers": {
    "design-system-italia": {
      "command": "npx",
      "args": ["-y", "@fupete/design-system-italia-mcp"],
      "env": { "TRANSPORT": "stdio", "GITHUB_TOKEN": "your_token" }
    }
  }
}

claude mcp add design-system-italia \
  --command "npx -y @fupete/design-system-italia-mcp" \
  --env TRANSPORT=stdio \
  --env GITHUB_TOKEN=your_token

{
  "mcpServers": {
    "design-system-italia": {
      "type": "http",
      "url": "http://localhost:8080/mcp"
    }
  }
}

System prompt

## Regole dati Design system .italia (Filo MCP)

DATI VERIFICATI: usa esclusivamente i dati restituiti dagli strumenti MCP di Filo. Non integrare con conoscenza pregressa su Bootstrap Italia, Dev Kit Italia, Design Tokens Italia o altri framework CSS/web component.

QUANDO IL DATO MANCA: se un'informazione non è presente nelle risposte MCP, dillo esplicitamente. Scrivi "Questo dato non è disponibile nelle sorgenti MCP" anziché fornire una stima o inferenza. Non inventare valori numerici.

QUANDO COMPONI ELEMENTI: se combini markup MCP reale con HTML/CSS che aggiungi tu, segnala chiaramente cosa viene dai dati MCP e cosa è tua inferenza.

VERSIONI E FONTI: in ogni risposta che usa dati MCP, includi la versione delle sorgenti e il link alla documentazione ufficiale restituiti dal tool.

REGOLA D'ORO: se non sei sicuro che un dato provenga da MCP, trattalo come inferenza e segnalalo.

TOOL DISPONIBILI: all'inizio della sessione, usa il tool ping per verificare la connessione e leggi la lista dei tool disponibili. Non assumere quali tool esistono.

COMPLETEZZA DATI: se un tool restituisce un sottoinsieme dei dati (es. 3 varianti su 13), segnalalo all'utente.
## Data rules — Design System .italia (Filo MCP)

VERIFIED DATA: use exclusively the data returned by Filo's MCP tools. Do not supplement with prior knowledge of Bootstrap Italia, Dev Kit Italia, Design Tokens Italia, or any other CSS/web component framework.

WHEN DATA IS MISSING: if information is not present in the MCP responses, say so explicitly. Never invent numeric values.

WHEN COMPOSING ELEMENTS: clearly indicate what comes from MCP data and what is your own inference.

VERSIONS AND SOURCES: in every response that uses MCP data, include the source versions and official documentation URL returned by the tool.

GOLDEN RULE: if you are unsure whether a piece of data comes from MCP, treat it as inference and label it as such.

AVAILABLE TOOLS: at the start of the session, use the ping tool to verify the connection and read the list of available tools. Do not assume which tools exist.

DATA COMPLETENESS: if a tool returns a subset of available data (e.g. 3 variants out of 13), flag this to the user.

Scopri gli strumenti

Approfondisci i tool a disposizione del tuo assistente AI

Scopri

  • list_components Elenca tutti i componenti con stato per libreria (Bootstrap Italia, UI Kit…) e stato accessibilità. Punto di partenza per una panoramica completa.
  • search_components Cerca componenti per nome o feature. Supporta alias IT/EN e tag Dev Kit (es. a11y-ok, alpha, web-component).
  • list_by_status Filtra i componenti per stato in una libreria specifica. Stati possibili: PRONTO, DA RIVEDERE A11Y, DA FARE, NON PRESENTE…
  • list_accessibility_issues Elenca i componenti con note di accessibilità aperte o verifiche incomplete.

Componenti

  • get_component Markup HTML varianti Bootstrap Italia e props web component it-* Dev Kit Italia. Punto di partenza per markup e varianti.
  • get_component_variant Markup completo di una variante specifica per nome, da BSI o Dev Kit in modo trasparente.
  • get_component_full Risposta aggregata: markup + token CSS con valori risolti + linee guida + stato + props it-* + issue GitHub. Da usare quando servono dati da più sorgenti in una sola chiamata.
  • get_component_guidelines Linee guida d'uso da Designers Italia: quando usarlo, come usarlo, alternative consigliate, note accessibilità.
  • get_component_issues Issue GitHub aperte per un componente sui 4 repository del Design system .italia.

Token

  • get_component_tokens Variabili CSS --bsi-* personalizzabili per componente con descrizione semantica e valore risolto (es. var(--bsi-spacing-m) → 1.5rem).
  • find_token Cerca un token CSS per nome variabile o descrizione semantica. Copre sia --bsi-* che --it-* di Design Tokens Italia.

Meta

  • ping Verifica connessione al server. Restituisce stato, versione, timestamp e warning sulle sorgenti.
  • get_project_board_status Stato aggregato delle board GitHub del Design system .italia. Link alle issue aperte per repository.

Esplora i dati

Verifica i dati aggregati dalle sorgenti originali del Design system .italia

Caricamento...

Istantanea salvata ogni notte nel ramo data-fetched del repository