AI & MCP
Che cos'è MCP: il protocollo che collega gli agenti agli strumenti
MCP è un protocollo aperto che permette a un agente di scoprire e chiamare strumenti su un server. Ecco come funziona e dove finisce la sua responsabilità.
In sintesi
- MCP è JSON-RPC 2.0 su stdio o Streamable HTTP, con tool, resource e prompt come primitive.
- Un server espone capacità che il client negozia; il modello decide se e come usarle.
- Il protocollo non risolve la fiducia: descrizioni e risultati restano dati non fidati.
MCP (Model Context Protocol) è un protocollo aperto che permette a un agente di scoprire e chiamare strumenti esposti da un server, invece di riceverli incollati nel prompt. Definisce messaggi, capacità e trasporto, non il ragionamento del modello.
Cosa definisce il protocollo
MCP usa JSON-RPC 2.0. Un client apre una sessione, negozia versione e capacità, poi chiama metodi come tools/list e tools/call. I trasporti standard sono stdio, per un processo locale, e Streamable HTTP, per un server remoto; il vecchio HTTP+SSE è deprecato. La revisione citata qui è la 2025-06-18, pubblicata su modelcontextprotocol.io. Il repository della specifica è in transizione da MIT ad Apache-2.0.
Le tre primitive
- Tool: una funzione che il modello può chiamare con argomenti JSON e che restituisce contenuto.
- Resource: un documento leggibile per URI, per esempio un design system in Markdown.
- Prompt: un modello di messaggio riutilizzabile, scelto dall'utente o dal client.
Come si interroga un server
curl -s https://ui.eneawork.it/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
La risposta elenca nome, descrizione e schema di input di ogni strumento. Un client come Claude Code o Cursor fa la stessa chiamata e traduce il risultato in una scelta del modello. Il protocollo non impone un formato di output: il server decide, e il client lo interpreta come testo.
Cosa espone un catalogo
Il server EneUI risponde in sola lettura. search_components cerca per testo, categoria o libreria; get_component restituisce descrizione, licenza, URL e comando di installazione; compose_page propone una sequenza di blocchi reali con dipendenze; get_page converte una pagina del sito in Markdown. Sono 9 strumenti in totale, elencati in backend/mcp.js e verificati il 1 novembre 2026.
Il confine tra protocollo e modello
MCP standardizza la scoperta e la chiamata, non la decisione. Il modello legge la descrizione di uno strumento e sceglie se usarlo; il server non sa perché è stato chiamato e non vede il resto della conversazione. Questo è il punto di forza, perché un server può servire client diversi, ed è anche il punto di rischio.
Il catalogo EneUI
EneUI espone 111.985 componenti e 1.556 blocchi via MCP; un record di esempio è rainbow button di Magic UI, licenza MIT e 2.130 stelle dichiarate a monte. La pagina /mcp contiene endpoint e configurazione, e /agents spiega il flusso per un agente. L'endpoint risponde con protocolVersion 2025-06-18.
La limitazione
MCP non risolve la fiducia. Un server può restituire testo che contiene istruzioni, e un client che le esegue alla lettera trasforma una descrizione di strumento in prompt injection. La specifica non impone autenticazione né sandbox: il client deve trattare risultati e descrizioni come dati non fidati.
Dove continuare
La configurazione per Claude Code, Cursor e VS Code è in shadcn MCP nei tre editor; l'errore di connessione è in MCP non si connette in Cursor. Per capire cosa arriva davvero nel repository leggi che cos'è un registry, e per il confronto tra distribuzione del codice e pacchetto copy-paste o headless.
Domande frequenti
MCP è un protocollo di Anthropic?
È nato in Anthropic, ma è un protocollo aperto con una governance di progetto. La specifica è pubblica, il repository è in transizione da MIT ad Apache-2.0 e qualsiasi client o server può implementarlo.
Serve un account per usare un server MCP?
Dipende dal server. Il protocollo non richiede autenticazione; un server può chiedere un token, come fa il registry EneUI per l'installazione. La scoperta degli strumenti può restare anonima.
MCP sostituisce le API REST?
No. MCP è un livello di scoperta e chiamata per un modello; sotto può esserci una API REST, un database o un catalogo statico. Non prescrive lo schema dei dati.
Quali trasporti supporta MCP?
Due: stdio, per un server locale avviato dal client, e Streamable HTTP, per un endpoint remoto. Il vecchio trasporto HTTP+SSE è deprecato nella revisione 2025-06-18.
Il modello vede il mio codice quando usa MCP?
No, non automaticamente. Il client decide cosa inviare; il server vede solo gli argomenti della chiamata e restituisce il proprio contenuto.