Aggiornato ad agosto 2026. Il Model Context Protocol, o MCP, è lo standard aperto che permette a un assistente AI di usare strumenti e dati esterni senza costruire un’integrazione diversa per ogni applicazione. Nel 2026 non è più soltanto “il protocollo di Anthropic”: è un progetto della Agentic AI Foundation sotto la Linux Foundation e la specifica del 28 luglio ha ridisegnato il nucleo per renderlo stateless.
La risposta breve è questa: MCP non sostituisce le API. Le rende disponibili agli agenti attraverso un’interfaccia comune, descritta in modo che client e modelli possano scoprire strumenti, risorse e prompt. Il vantaggio è l’interoperabilità; il rischio è concedere a un agente più permessi del necessario.
Cos’è MCP e a cosa serve davvero
MCP è un protocollo aperto basato su JSON-RPC. Collega un’applicazione che ospita un modello — per esempio un IDE o un assistente desktop — a server che espongono capacità e informazioni.
Un server MCP può consentire all’agente di interrogare un database, leggere documenti autorizzati, chiamare un gestionale oppure avviare un’azione. Non “contiene” il modello e non rende intelligente un’API: standardizza il dialogo tra l’applicazione AI e il sistema esterno.
- Tools: azioni invocabili, come cercare un ordine o creare un ticket.
- Resources: dati leggibili identificati da URI, come documenti o schemi.
- Prompts: modelli di istruzioni riutilizzabili esposti dal server.
La specifica 2026 aggiunge inoltre un sistema di estensioni. Funzioni come interfacce incorporate e attività lunghe possono evolvere senza appesantire il nucleo. Per l’aspetto visuale trovi un approfondimento dedicato alle MCP Apps.
Come funziona: host, client e server MCP
L’architettura si capisce separando tre ruoli:
- Host: l’applicazione usata dalla persona. Gestisce modello, autorizzazioni e conversazione.
- Client MCP: il componente dell’host che comunica con un server.
- Server MCP: il processo che pubblica tools, resources e prompts.
Quando chiedi “controlla lo stato dell’ordine 123”, l’host decide se proporre uno strumento. Il client invia al server una richiesta strutturata; il server valida l’input, interroga il sistema autorizzato e restituisce un risultato. Il modello usa quel risultato per formulare la risposta. Le operazioni sensibili dovrebbero richiedere consenso esplicito.
stdio o Streamable HTTP?
stdio usa input e output standard tra processi locali. È semplice, adatto a strumenti avviati direttamente dal client e non richiede una porta di rete.
Streamable HTTP espone un endpoint HTTP e si adatta a server remoti o condivisi. Nella revisione 2026-07-28 ogni messaggio viaggia con una POST; la risposta è un oggetto JSON oppure uno stream SSE limitato a quella richiesta. Il vecchio trasporto HTTP+SSE resta un tema di compatibilità, non la scelta per un nuovo progetto.
Cosa cambia con MCP 2026-07-28
La novità principale è un core stateless. La specifica ha rimosso l’handshake initialize, le sessioni a livello di protocollo e l’header Mcp-Session-Id. Versione, capacità e informazioni del client vengono comunicate nei metadati delle richieste.
“Stateless” non significa che un’applicazione non possa conservare stato. Significa che il protocollo non lega più la conversazione a una sessione implicita: se serve continuità, il server crea un identificatore esplicito e il client lo rimanda come normale argomento. Questo rende richieste, bilanciamento e retry più leggibili, ma richiede una migrazione consapevole.
La revisione introduce anche estensioni formali, rafforza l’autorizzazione e modifica alcune funzioni server-client. Per evitare di sovrapporre due contenuti, qui restiamo sull’uso quotidiano: la checklist delle incompatibilità è nell’analisi MCP 2026-07-28: cosa si rompe e come migrare.
Creare un server MCP sicuro in Python
Per un primo test conviene usare l’SDK Python ufficiale e uno strumento innocuo. Servono Python 3.10 o successivo e un ambiente virtuale.
python -m venv .venv
source .venv/bin/activate
pip install "mcp[cli]"
Salva questo esempio come server.py:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Calcoli locali")
@mcp.tool()
def calcola_preventivo(ore: float, tariffa: float) -> dict:
"""Calcola imponibile e IVA senza eseguire pagamenti."""
if ore < 0 or tariffa < 0:
raise ValueError("Ore e tariffa devono essere positive")
imponibile = round(ore * tariffa, 2)
iva = round(imponibile * 0.22, 2)
return {
"imponibile": imponibile,
"iva": iva,
"totale": round(imponibile + iva, 2),
}
if __name__ == "__main__":
mcp.run(transport="stdio")
Questo esempio ha un confine chiaro: calcola valori e non legge file, non usa credenziali e non modifica sistemi. È un punto di partenza migliore dei tutorial che accettano un percorso assoluto e permettono al modello di aprire qualunque file del computer.
Prima di collegarlo a un client, usa l’Inspector ufficiale o i test dell’SDK per verificare schema, input errati e risultati. Poi configura il client affinché avvii l’interprete dell’ambiente virtuale con il percorso assoluto di server.py. La forma esatta del file di configurazione cambia tra host: va controllata nella documentazione del client scelto.
MCP vs API, function calling, RAG e Skill
MCP e API
Un’API definisce come parlare con un servizio specifico. MCP definisce come un’applicazione AI scopre e usa capacità provenienti da molti servizi. Spesso un server MCP è un adattatore davanti a una o più API esistenti.
MCP e function calling
Il function calling descrive al modello una funzione disponibile in una singola applicazione. MCP aggiunge discovery, trasporti e primitive condivise, così la stessa integrazione può essere riutilizzata da host compatibili.
MCP e RAG
Il RAG recupera contenuti per arricchire il contesto prima della risposta. MCP può esporre il motore di ricerca o le fonti come risorse e strumenti, ma non stabilisce come indicizzare documenti, creare embedding o ordinare i risultati.
MCP e Skill
Una Skill è una procedura riutilizzabile: istruzioni, convenzioni e talvolta script che guidano l’agente. MCP è il canale standard con cui l’agente accede a dati e azioni. In pratica una Skill può spiegare quando e come usare un tool MCP. Se lavori con Claude Code, la guida alle skill da installare davvero chiarisce anche la differenza con plugin e comandi.
MCP è sicuro? I controlli che contano
MCP non rende automaticamente sicuro un server. Standardizza lo scambio, mentre autenticazione, autorizzazione e validazione restano responsabilità di chi costruisce host e integrazione.
- Minimo privilegio: usa account e token dedicati con il minor numero di permessi.
- Consenso prima delle scritture: separa lettura e modifica; conferma eliminazioni, invii e pagamenti.
- Input non attendibili: valida percorsi, URL, query e dimensioni. Blocca path traversal e SSRF.
- Output non attendibili: considera descrizioni dei tool e dati remoti come contenuto potenzialmente ostile.
- Origine verificata: controlla repository, maintainer, dipendenze e aggiornamenti prima di installare un server.
- Isolamento: esegui componenti sconosciuti in container o account separati, senza accesso alla home directory.
- Log e revoca: registra le azioni importanti e rendi semplice revocare token e connessioni.
La query Google “come restare al sicuro sui server MCP” sta già generando impression: il consiglio più utile è non confondere la comodità del collegamento con l’affidabilità del software collegato. Un server MCP di terze parti è codice con privilegi, non un semplice prompt.
Quando conviene usare MCP
MCP è una buona scelta quando più assistenti devono usare gli stessi strumenti, quando vuoi separare l’interfaccia AI dalla logica applicativa o quando un’integrazione deve offrire discovery e schemi coerenti.
Una chiamata API diretta resta più semplice per una sola funzione interna e un solo client. Evita MCP anche se il processo non può tollerare decisioni probabilistiche: in quel caso l’AI può preparare i dati, ma l’azione critica va affidata a regole deterministiche e approvazioni umane.
Domande frequenti sul Model Context Protocol
Che cos’è un server MCP?
È un programma che espone strumenti, risorse o prompt a client compatibili con il Model Context Protocol. Può funzionare in locale tramite stdio oppure su rete tramite Streamable HTTP.
ChatGPT usa MCP?
Alcuni prodotti e strumenti OpenAI possono collegarsi a server MCP, ma il supporto dipende dal prodotto, dal piano e dal tipo di server. Non basta dire “ChatGPT” in generale: verifica sempre la documentazione aggiornata del client che intendi usare.
MCP sostituisce RAG?
No. RAG è una strategia per recuperare conoscenza; MCP è un protocollo di integrazione. Un sistema RAG può essere esposto attraverso MCP.
Un server MCP può essere pericoloso?
Sì, se riceve permessi eccessivi o contiene codice malevolo. Verifica la provenienza, limita credenziali e cartelle accessibili e richiedi conferma per azioni irreversibili.
La specifica 2026 è compatibile con i server precedenti?
Non automaticamente in ogni dettaglio. La rimozione di handshake e sessioni richiede che client e server negozino correttamente la versione. Per sistemi esistenti va pianificata una migrazione e mantenuta la compatibilità necessaria.
Il punto: standard comune, permessi stretti
MCP nel 2026 è un’infrastruttura concreta per collegare agenti, dati e applicazioni. La revisione stateless migliora la distribuzione su HTTP, ma non elimina il lavoro di progettazione: strumenti piccoli, schemi chiari, autorizzazioni minime e conferme umane restano la parte decisiva.
Se vuoi integrare un agente con dati aziendali o una web app senza esporre l’intero sistema, posso aiutarti a progettare un server con confini verificabili: descrivimi il flusso e i permessi necessari.



