Cos'è MCP? Model Context Protocol spiegato

Lo standard aperto che connette i modelli AI a strumenti, file e servizi — pensa a USB-C per le integrazioni AI

8 min di lettura Aggiornato: aprile 2026

🔌 Cos'è MCP?

The Model Context Protocol (MCP) è uno standard aperto pubblicato da Anthropic nel dicembre 2024 che definisce un'interfaccia universale per connettere modelli AI a strumenti esterni, sorgenti di dati e servizi. Prima di MCP, ogni integrazione AI era un'implementazione personalizzata e unica. MCP standardizza come i client AI comunicano con capacità esterne — così una singola integrazione funziona con qualsiasi sistema AI compatibile.

MCP è un protocollo client-server: Client MCP sono sistemi AI (come Claude, Cursor, VS Code con Copilot) che vogliono usare capacità esterne. Server MCP sono servizi che espongono quelle capacità (GitHub, un database, un file system, un browser web) tramite un'API standardizzata che qualsiasi client MCP può consumare.

💡 Idea chiave: MCP non rende l'AI più intelligente — la rende meglio connessa. L'intelligenza rimane nel modello; MCP fornisce l'infrastruttura che permette a quell'intelligenza di agire su dati e servizi del mondo reale.

🔋 La metafora USB-C

Prima di USB-C, ogni dispositivo aveva il proprio connettore proprietario — un caricatore per telefono non funzionava con un laptop, un cavo video non funzionava con dispositivi di archiviazione. USB-C ha risolto questo con un unico standard universale: una porta, un cavo, dispositivi infiniti.

Le integrazioni AI prima di MCP erano lo stesso caos. Collegare Claude a GitHub richiedeva codice personalizzato. Collegare GPT-4 alla stessa API GitHub richiedeva codice diverso. Aggiungere un nuovo strumento significava ricostruire integrazioni da zero per ogni piattaforma AI.

MCP è l'USB-C per l'AI. Un solo standard:

  • Costruisci un server MCP una volta — qualsiasi client MCP può usarlo
  • Adotta un nuovo modello AI — i tuoi server MCP esistenti funzionano immediatamente
  • L'ecosistema di server MCP cresce indipendentemente dallo sviluppo dei modelli AI

⚙️ Come funziona MCP

MCP usa un protocollo JSON-RPC 2.0 sopra un livello di trasporto (stdio per server locali, HTTP/SSE per server remoti). La comunicazione segue un ciclo di vita di inizializzazione, scoperta delle capacità, e gestione delle richieste.

Tre primitive principali

PrimitiveCosa esponeExample
Tools Funzioni che l'AI può chiamare (controllate dal modello) search_github_issues, run_sql_query, send_email
Resources Dati che l'AI può leggere (controllati dall'applicazione) file:///workspace/src, db://customers/schema
Prompts Modelli di prompt riutilizzabili (controllati dall'utente) code-review, summarize-pr, explain-error

Il flusso di comunicazione

  1. Inizializza: Il client si connette al server, scambia versione del protocollo e capacità
  2. Scopri: Il client richiede la lista degli strumenti, delle risorse e dei prompt disponibili
  3. Invoca: Il modello AI decide di chiamare uno strumento; il client invia la richiesta al server
  4. Ritorno: Il server esegue l'azione e restituisce risultati strutturati al client
  5. Continua: Il modello AI incorpora i risultati e continua il ragionamento

Opzioni di trasporto

TransportIdeale perNotes
stdio Strumenti locali, integrazioni CLI Il client lancia il server come subprocess; configurazione più semplice
HTTP + SSE Servizi remoti/cloud, team condivisi Il server gira indipendentemente; supporta header di auth
WebSocket Bidirezionale in tempo reale (bozza) Proposto per casi d'uso streaming

🔄 MCP vs Function Calling

Function calling (uso di strumenti) è una funzionalità inclusa in specifiche API AI — OpenAI, Anthropic, Google — che consente di definire funzioni personalizzate che il modello può invocare. MCP è uno strato sopra o affianco al function calling che standardizza come quelle funzioni vengono scoperte e collegate.

Function CallingMCP
Scope Specifico per API, per richiesta Multipiattaforma, standardizzato
Discovery Hardcoded nella tua chiamata API Dinamico — il server pubblicizza le capacità
Portability Legato a un provider AI Funziona con qualsiasi client compatibile MCP
Resources Non standardizzato Primaria (file, DB, URI)
Ideale per Casi semplici, single-provider Sistemi di produzione multi-tool, multi-model

Nella pratica, i server MCP spesso usano function calling internamente — MCP fornisce lo strato di scoperta e connessione, mentre il function calling gestisce la vera invocazione LLM→strumento.

🏢 Chi supporta MCP

L'adozione di MCP è cresciuta rapidamente dal lancio di dicembre 2024. A partire da aprile 2026, l'ecosistema include:

Client AI con supporto MCP

  • Claude (Anthropic) — supporto MCP nativo in Claude.ai e Claude Code
  • Cursor — server MCP per assistenza AI consapevole del codice
  • VS Code (GitHub Copilot) — integrazione MCP in modalità agente
  • Windsurf (Codeium) — supporto server MCP
  • Continue.dev — assistente IDE open-source con MCP

Server MCP popolari

  • Filesystem — lettura/scrittura file locali (ufficiale Anthropic)
  • GitHub — repo, PR, issue, ricerca codice
  • PostgreSQL / SQLite — query su database ed esplorazione di schema
  • Brave Search / Exa — ricerca web senza API key
  • Puppeteer / Playwright — automazione del browser
  • Slack / Linear / Notion — integrazioni con strumenti di produttività
📦 Trovare server MCP: The repository ufficiale di server MCP e registry della community come mcp.so elencano centinaia di server disponibili.

🚀 Primi passi con MCP

Opzione 1: Usare server MCP esistenti (5 minuti)

Il modo più rapido per provare MCP è usare Claude Desktop con server preconfigurati. Modifica la tua configurazione di Claude Desktop in ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..." }
    }
  }
}

Opzione 2: Costruire un server MCP (30 minuti)

SDK ufficiali sono disponibili per TypeScript, Python e Kotlin:

// TypeScript MCP server example
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

const server = new Server({ name: "my-server", version: "1.0.0" });

server.setRequestHandler("tools/list", async () => ({
  tools: [{
    name: "get_weather",
    description: "Get current weather for a city",
    inputSchema: {
      type: "object",
      properties: { city: { type: "string" } },
      required: ["city"]
    }
  }]
}));

server.setRequestHandler("tools/call", async (request) => {
  const { city } = request.params.arguments;
  // ... fetch weather data
  return { content: [{ type: "text", text: `Weather in ${city}: sunny, 22°C` }] };
});

const transport = new StdioServerTransport();
await server.connect(transport);

🔐 Considerazioni sulla sicurezza MCP

Il potere di MCP — dare ai modelli AI accesso a strumenti, file e servizi — introduce anche rischi di sicurezza che gli sviluppatori devono mitigare.

RiskDescriptionMitigation
Iniezione di prompt tramite MCP Contenuti dannosi nei risultati degli strumenti manipolano l'AI Sanifica l'output degli strumenti; usa modelli separati per ragionamento e azione
Server con privilegi eccessivi Il server MCP ha più permessi del necessario Principio del minimo privilegio; preferire sola lettura quando possibile
Confused deputy L'AI agisce per conto di un attaccante senza che l'utente ne sia consapevole Conferma HITL per azioni distruttive/irreversibili
Supply chain del server Un server MCP di terze parti malevolo esfiltra dati Usa solo server affidabili e sottoposti a audit; rivedi il codice del server
⚠️ Non dare mai a server MCP accessi che non daresti a uno sviluppatore stagista. Se non faresti eseguire a una nuova risorsa query arbitrarie sul database, non dare al tuo server MCP accesso illimitato db. Progetta i permessi del tuo server MCP con la stessa cura con cui progetti qualsiasi API.

Per un'analisi approfondita sulle vulnerabilità di sicurezza AI — incluso come l'iniezione di prompt può essere strumentalizzata tramite i risultati degli strumenti MCP — vedi la nostra guida: Prompt Injection Explained.