# What MCP is: the protocol that connects agents to tools

MCP is an open protocol that lets an agent discover and call tools on a server. Here is how it works and where its responsibility ends.

> Page: https://ui.eneawork.it/blog/che-cose-mcp
> Markdown: https://ui.eneawork.it/blog/che-cose-mcp.md

*2026-11-01*

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.

Il catalogo EneUI conta 111.985 componenti, 1.556 blocchi e 12.808 icone da 1.472 librerie, letti da /api/stats il 1 novembre 2026. Il server EneUI in backend/mcp.js espone 9 strumenti: search_components, get_component, search_blocks, get_block, get_design_system, list_design_systems, compose_page, list_categories e get_page, contati il 1 novembre 2026. Il dataset docs/keyword-data.json non contiene una domanda Stack Overflow con voti su MCP: i 16 tag campionati il 31 ottobre 2026 non includono un tag MCP. La query «mcp server» compare nelle liste Google Autocomplete inglese e italiana.

## 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

## 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.

## FAQ

### 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.
