Sat Jun 27 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Protocollo di Contesto del Modello (MCP): Come Collega l'IA ai Tuoi Strumenti
MCP è lo standard aperto di Anthropic per collegare assistenti IA a fonti dati e strumenti. Scopri il modello client-server, il trasporto, le capacità e come eseguire server.

Ultimo aggiornamento: June 28, 2026
MCP — Model Context Protocol — è uno standard aperto rilasciato da Anthropic alla fine del 2024 per connettere assistenti AI e agenti a fonti di dati esterne e strumenti. Invece di scrivere un'integrazione personalizzata per ogni modello e ogni strumento, si espone un singolo server MCP e qualsiasi client compatibile con MCP può utilizzarlo. La scorsa settimana ho collegato un filesystem server e un GitHub server a Claude Code e la differenza nello ciò che l'agente poteva effettivamente fare è stata immediata. Questo post copre cos'è MCP, come funziona il modello client-server, i tipi di capacità principali e come eseguire server nel proprio setup.
Risposta rapida: cos'è MCP?
MCP è un protocollo basato su JSON-RPC 2.0 che standardizza la connessione tra un'applicazione host AI (il client MCP, come Claude Desktop o Claude Code) e i server esterni che espongono dati e azioni. Un singolo server MCP può pubblicizzare tre tipi di capacità ai client:
- Tools — funzioni che il modello può chiamare (interrogare un database, inviare un messaggio, cercare in un repository).
- Resources — dati strutturati che il modello può leggere (contenuti dei file, risposte API, record).
- Prompts — modelli di prompt riutilizzabili e parametrizzati che l'utente può invocare.
L'obiettivo è un "USB-C per le integrazioni AI": un server, molti client, nessun collante specifico per modello. La specifica e gli SDK sono open source e mantenuti su modelcontextprotocol su GitHub, con la documentazione canonica su modelcontextprotocol.io.
Perché esiste MCP?
Prima di MCP, ogni integrazione di strumento era un evento isolato. Se si voleva che un assistente leggesse i problemi del proprio GitHub e interrogasse anche Postgres, si scrivevano due connettori personalizzati, per poi riscriverli quando si cambiavano modelli o host. La motivazione dichiarata da Anthropic è porre fine a questa duplicazione con un protocollo condiviso — la documentazione ufficiale lo descrive come fornire ai modelli "accesso standardizzato" a file locali, database e API.
Questo contesto è importante per i flussi di lavoro agentici in particolare. Un agente che può solo chattare è un chatbot; un agente che può leggere il tuo repository, eseguire una query e chiamare uno strumento in un ciclo è un vero lavoratore. MCP è l'impiantistica che rende il secondo portatile. Se si vuole vedere il quadro generale di dove rientra questo nel design degli agenti, consultare il nostro post sull'automazione degli agenti AI.
Come funziona il modello client-server?
MCP segue una topologia host-client-server:
- Host — l'applicazione che l'utente esegue (Claude Desktop, Claude Code, un'estensione IDE).
- Client — risiede all'interno dell'host, mantiene una sessione 1:1 con un server.
- Server — un processo che espone capacità tramite un trasporto.
Un host può eseguire molti client, ognuno dei quali parla con un server. Il protocollo è JSON-RPC 2.0 e presenta tre fasi di ciclo di vita che testo ogni volta che aggiungo un nuovo server:
- Initialize — il client invia la versione del protocollo, le capacità, le informazioni sul client; il server risponde con le proprie.
- Capability negotiation — entrambe le parti dichiarano cosa supportano (tools, resources, prompts, sampling, roots).
- Operation — il client richiede liste di strumenti, invoca gli strumenti, legge risorse e il server trasmette i risultati.
Opzioni di trasporto
| Transport | Dove viene eseguito | Quando lo uso |
|---|---|---|
| stdio | Processo subprocess locale, comunica tramite stdin/stdout | Strumenti di sviluppo locali, filesystem, git — qualsiasi cosa sulla mia macchina |
| Streamable HTTP | Server remoto su HTTPS con streaming SSE opzionale | Server team condivisi, integrazioni ospitate nel cloud |
| SSE (legacy) | Remoto, server-sent events | Server più vecchi in fase di eliminazione; evitare per nuovi build |
stdio è il predefinito per l'installazione locale ed è quello che usa claude mcp add a meno che non si passi un URL HTTP. Per una guida approfondita su claude mcp add e la decisione stdio-vs-HTTP, consultare la nostra guida di integrazione MCP per Claude Code.

Quali sono i tre tipi di capacità, nella pratica?
La maggior parte del valore di MCP risiede nei tre tipi di capacità. Ecco come si comporta ciascuno quando un modello lo utilizza.
Tools (invocati dal modello)
Gli strumenti sono il motore principale. Il modello decide di chiamarli in base alla conversazione. Ho eseguito un server che esponeva uno strumento search_logs e il modello lo ha chiamato senza prompt non appena ho chiesto "perché il deploy è fallito alle 2 del mattino?". Le definizioni degli strumenti includono uno Schema JSON per gli argomenti, quindi il modello riceve input tipizzati e validati.
Resources (controllati dall'app)
Le risorse sono indirizzate da URI e sono tipicamente selezionate dall'utente, non dal modello — l'utente allega una risorsa come un file o un record, e l'host lo inietta nel contesto. Questo è importante per il controllo dello scope: il modello può vedere solo ciò che gli viene esplicitamente passato.
Prompts (invocati dall'utente)
I prompt sono modelli con argomenti che compaiono nell'interfaccia utente dell'host come slash-commands o elementi del menu. Sono la capacità più sottoutilizzata — li uso per codificare "revisionare questa PR rispetto alla nostra guida di stile" in modo da non dover incollare gli stessi istruzioni ogni volta.
Come si imposta un server MCP?
Configurazione concreta, utilizzando Claude Code come host. La stessa configurazione del server funziona nel file JSON di Claude Desktop.
- Installare Node.js 20+ (o Python 3.10+ con
uv). - Aggiungere un server di riferimento, ad esempio il filesystem server:
npx -y @modelcontextprotocol/server-filesystem /Users/you/projects - Registrarlo in Claude Code:
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /Users/you/projects - Verificare la connessione:
claude mcp liste poiclaude mcp get filesystem - Riavviare l'host e cercare gli strumenti del server nella sessione.
Questo è l'intero ciclo. I server di riferimento nell'org GitHub coprono filesystem, Git, GitHub, Postgres, SQLite, Slack, Google Drive, Puppeteer e altro ancora.
Un server personalizzato minimale (Python)
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("status")
@mcp.tool()
def healthcheck(service: str) -> str:
"""Return the current status of a service."""
return f"{service}: ok"
if __name__ == "__main__":
mcp.run(transport="stdio")
L'ho testato contro un endpoint di staging in circa dieci minuti, incluso il collegamento a Claude Code. Per modelli più ampi sull'esposizione di servizi interni come API chiamabili da agenti, la nostra guida allo sviluppo API AI approfondisce l'autenticazione e la limitazione del tasso (rate-limiting).
Come appare l'ecosistema nel 2026?
L'ecosistema si è consolidato attorno al registro ufficiale e a un piccolo gruppo di server di riferimento ben mantenuti. Tengo una breve lista di quelli che mi fido realmente in produzione:
- filesystem — lettura/scrittura locale dei file con restrizioni root.
- github — problemi, PR, ricerca, operazioni sui file.
- postgres / sqlite — solo lettura di default, introspezione dello schema.
- puppeteer / playwright — automazione del browser per gli agenti.
- slack — letture dei canali e invio messaggi.
| Capability | Server più usato | Postura di sicurezza predefinita |
|---|---|---|
| File access | filesystem | Limitato a root espliciti |
| Code host | github | Pesante lettura; le scritture richiedono configurazione esplicita |
| Database | postgres | Solo lettura a meno che non si opti per la scrittura |
| Browser | playwright | Profilo sandbox |
| Messaging | slack | Token limitati al canale |
Per orchestrare più server dietro subagent — un subagente possiede il database, un altro possiede il browser — il nostro post sui subagent di Claude Code descrive lo schema del team.
A cosa prestare attenzione?
Questa è la parte che la maggior parte degli introspetti salta. I server MCP vengono eseguiti con le tue credenziali e il tuo accesso al filesystem, quindi lo scope è fondamentale.
- Tratta ogni server come una dipendenza. Fissa le versioni, verifica la fonte prima di eseguire
npxsu un repository sconosciuto. Uno strumento malevolo può esfiltrare qualsiasi cosa veda il modello. - Restringere i root. Il filesystem server è sicuro solo quanto la directory a cui lo punti — non passare mai
/. - Preferire configurazioni database in sola lettura finché non si ha un motivo concreto per abilitare le scritture.
- Attenzione all'iniezione di prompt. Se uno strumento restituisce contenuti su cui il modello agisce, l'input non fidato può diventare istruzione. Assumere che qualsiasi risorsa sia ostile.
- Limitare lo scope dei token OAuth. I token Slack e GitHub dovrebbero avere lo scope minimo necessario per il server, non il tuo token personale.
Inizio ogni nuovo server in un account sandbox e monitoro le prime chiamate di strumenti prima di fidarmene in una sessione reale.

Punto chiave
MCP è un piccolo protocollo che risolve un problema reale: permette a un server di esporre strumenti, risorse e prompt a qualsiasi host AI compatibile, eliminando la tassa di integrazione N-times-M. La meccanica è semplice — inizializzare, negoziare, operare su stdio o HTTP — ma la postura di sicurezza è ciò che determina se appartiene al tuo flusso di lavoro. Eseguire server che si possono auditare, limitare rigorosamente le loro credenziali e assumere che l'input non fidato sia ostile. Facendo questo, MCP è il modo più pulito per trasformare un assistente in un agente che può effettivamente toccare i tuoi sistemi.

Crediti delle immagini
- Codice sorgente visualizzato su uno schermo monitor — foto di Markus Spiske su Pexels
- Uno sviluppatore che digita su un laptop mentre configura un server in un terminale — foto di Vlada Karpovich su Pexels
- Composizione astratta di circuito stampato che simboleggia l'architettura a strati — foto di Christina Morillo su Pexels
Usa gli strumenti gratuiti mentre segui la guida.
Continua a leggere

Wed Mar 25 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Ridimensiona Immagini Bulk: Modifica Centinaia di Foto Contemporaneamente (Gratuito)
Ridimensiona centinaia di immagini in blocco gratuitamente con strumenti come browser tool, ImageMagick, XnConvert o Python script. Garantisci risparmi reali sui byte e un flusso di lavoro batch sicuro.

Wed Mar 18 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Convertitore WebP: Come convertire immagini in WebP (con dimensioni reali)
Converti immagini JPEG e PNG in WebP per file web più piccoli. Dimensioni misurate reali, il comando cwebp, metodi con Python e browser, e una strategia di fallback JPEG/PNG.

Wed Mar 11 2026 20:00:00 GMT-0400 (Eastern Daylight Time)
Real-ESRGAN AI Upscaling: Come Funziona e Quando Utilizzarlo
Scopri cos'è Real-ESRGAN, come funziona la sua super-risoluzione basata su GAN, cosa fa bene (upscaling 4x di foto e arte) e dove fallisce, con comandi pratici e limiti onesti.