Nozioni di base su MCP
Nozioni di base su MCP
Risposte semplici sul Model Context Protocol, i suoi trasporti, il MCP Registry e i file che i siti pubblicano per i sistemi di IA, tratte dal glossario e dagli articoli di approfondimento di questa directory.
Domande e risposte
- Che cos’è il Model Context Protocol (MCP)?
- Un protocollo aperto per collegare le applicazioni di IA a strumenti e dati esterni. Definisce come un’applicazione e un server si descrivono a vicenda ciò che sanno fare e si scambiano richieste, così che un server funzioni con ogni applicazione che supporta il protocollo. Model Context Protocol (MCP) →
- Che cos’è un server MCP?
- Un programma che offre strumenti, risorse o prompt alle applicazioni di IA tramite MCP. Può essere remoto - gestito dal suo editore e raggiungibile a un URL - o locale - un programma avviato sul computer dell’utente. Server MCP →
- Che cos’è un client MCP?
- La parte di un’applicazione di IA che mantiene la connessione con un server MCP. Un’applicazione collegata a tre server esegue tre client, ciascuno dei quali comunica con il proprio server. Client MCP →
- Che cos’è un host MCP?
- L’applicazione di IA in cui lavora l’utente: un assistente di chat, un’app desktop, un editor di codice, un agente da riga di comando. L’host avvia i client, decide a quali server si collegano, passa al modello linguistico ciò che i server offrono e chiede il consenso dell’utente prima di compiere azioni. Host MCP →
- Che cos’è uno strumento (tool) in MCP?
- Una funzione che un server mette a disposizione del modello: ha un nome, una descrizione che indica al modello quando usarla e un JSON Schema per l’input. Cercare voli, ottenere il tabellone delle partenze e creare una issue sono esempi di strumenti. Strumento (tool) →
- Che cos’è una risorsa in MCP?
- Dati che un server rende disponibili per la lettura, ciascuno identificato da un URI: un file, un record di database, un documento. In genere è l’applicazione, non il modello, a decidere quali risorse inserire nella conversazione. Risorsa →
- Che cos’è un prompt in MCP?
- Un modello di messaggio riutilizzabile offerto da un server, spesso con argomenti, che l’utente sceglie nell’applicazione - per esempio come comando slash - per avviare un’attività nel modo predisposto dall’autore del server. Prompt →
- Che cos’è il campionamento (sampling) in MCP?
- Una richiesta di un server al client perché il modello linguistico dell’applicazione generi del testo, così che un server possa usare un modello senza disporre di una propria chiave API. L’host mantiene il controllo e può mostrare la richiesta all’utente. Campionamento (sampling) →
- Che cos’è l’elicitazione (elicitation) in MCP?
- Una richiesta di un server, tramite il client, per ottenere ulteriori informazioni dall’utente - una data mancante, una conferma - a cui si risponde in un modulo mostrato dall’applicazione. Aggiunta nella revisione 2025-06-18 della specifica. Elicitazione (elicitation) →
- Quale formato di messaggi usa MCP?
- JSON-RPC 2.0: ogni richiesta, risposta e notifica è un piccolo oggetto JSON. Una connessione inizia con uno scambio initialize in cui client e server concordano la versione del protocollo e dichiarano le funzionalità supportate da ciascuno. JSON-RPC 2.0 →
- Che cos’è un trasporto MCP?
- Il modo in cui i messaggi MCP viaggiano tra client e server. La specifica definisce stdio per i server locali e Streamable HTTP per quelli remoti; si incontra ancora il precedente trasporto HTTP con Server-Sent Events. Trasporto →
- Che cos’è il trasporto stdio?
- Il trasporto locale: il client avvia il server come programma sullo stesso computer e scambia i messaggi attraverso il suo standard input e standard output, un messaggio JSON per riga. Nessun processo resta in ascolto sulla rete, e il programma gira con le autorizzazioni dell’utente. stdio →
- Che cos’è Streamable HTTP?
- Il trasporto attuale per i server remoti, introdotto nella revisione 2025-03-26: un unico endpoint HTTPS a cui il client invia i messaggi con POST e che risponde con una singola risposta JSON o con uno stream di Server-Sent Events. Un server può mantenere una sessione, identificata in un header Mcp-Session-Id. Streamable HTTP →
- Che cos’è il trasporto SSE in MCP?
- Il trasporto remoto della prima revisione (2024-11-05): il client tiene aperto uno stream di Server-Sent Events per ricevere i messaggi e invia i propri a un secondo URL indicato dal server. Streamable HTTP lo ha sostituito nella revisione 2025-03-26; molti client lo accettano ancora. SSE (HTTP + Server-Sent Events) →
- Che cos’è un server MCP remoto?
- Un server MCP gestito dal suo editore e raggiungibile a un URL HTTPS. Non si installa nulla; l’editore lo gestisce e lo aggiorna, e le richieste passano per i suoi sistemi. Server remoto →
- Che cos’è un server MCP locale?
- Un server MCP installato da un pacchetto e avviato sul computer dell’utente, di solito su stdio. Può accedere a file e applicazioni locali, e le sue chiavi restano nella configurazione del client. Server locale →
- Come gestiscono l’accesso i server MCP remoti?
- Il modo in cui un server remoto chiede a un utente di accedere. La parte della specifica dedicata all’autorizzazione, aggiunta per la prima volta nella revisione 2025-03-26, si basa su OAuth 2.1: il client indirizza l’utente alla pagina di accesso del servizio stesso, riceve un token di accesso e lo invia con ogni richiesta. OAuth per MCP (autorizzazione MCP) →
- Che cosa sono gli header dichiarati in una voce del MCP Registry?
- Gli header HTTP che, secondo la voce di un server remoto nel registro, un client deve inviare, come Authorization con una chiave API. La voce indica per ciascuno se è obbligatorio o facoltativo, e se è segreto o no. Header dichiarati →
- Perché i server MCP locali hanno bisogno di variabili d’ambiente?
- Valori con nome, spesso chiavi API, che un server locale legge quando il client lo avvia. La voce del registro elenca quelle che il pacchetto si aspetta; la configurazione del client le imposta. Variabili d’ambiente →
- Che cos’è il MCP Registry ufficiale?
- Il catalogo pubblico ufficiale dei server MCP, all’indirizzo registry.modelcontextprotocol.io, gestito dal progetto MCP e lanciato in anteprima nel settembre 2025. Contiene solo metadati - nomi, descrizioni, versioni, endpoint e pacchetti - con un’API aperta di sola lettura, e si aspetta che i cataloghi costruiti su di esso, come questa directory, aggiungano una propria selezione. MCP Registry →
- Che cos’è un namespace nel MCP Registry?
- La parte del nome nel registro che precede la barra, in notazione DNS inversa. io.github.<account> viene assegnato a chi accede al registro con GitHub come quell’utente, o con i diritti richiesti dal registro in quell’organizzazione (la documentazione ora richiede un proprietario dell’organizzazione); un dominio scritto al contrario come com.example viene assegnato a chi dimostra il controllo di example.com con un record DNS (che copre anche i suoi sottodomini) o con un file servito all’indirizzo /.well-known/mcp-registry-auth. Indica chi ha pubblicato una voce, non che la voce sia avallata dal prodotto con cui funziona. Namespace →
- Che cos’è server.json?
- Il file che un editore invia al registro per descrivere un server: nome, descrizione, versione, eventuali titolo, sito web e repository, e come raggiungerlo - remoti e pacchetti. server.json →
- Quali tipi di pacchetto si possono usare per pubblicare un server MCP?
- I registri di pacchetti su cui può essere pubblicato un server locale, indicati nella sua voce del registro: npm (Node.js), PyPI (Python), immagini OCI (Docker e altri registri di container), NuGet (.NET), Cargo (crate Rust) e MCP Bundle. Il tipo indica al client quale ambiente di esecuzione gli serve. Tipi di pacchetto →
- Come si avvia un server MCP da npm?
- Un pacchetto Node.js del registro npm. I client di solito lo avviano con npx, che lo scarica al primo utilizzo; Node.js deve essere installato. Pacchetto npm →
- Come si avvia un server MCP da PyPI?
- Un pacchetto Python di PyPI. I client di solito lo avviano con uvx, dello strumento uv, che lo esegue in un ambiente isolato, oppure dopo averlo installato con pip. Pacchetto PyPI →
- Come si avvia un server MCP in un’immagine container?
- Un’immagine container in un registro OCI come Docker Hub o GitHub Container Registry, avviata con docker run. Il server gira all’interno del container anziché direttamente sul computer. Immagine OCI →
- Che cos’è un MCP Bundle (.mcpb)?
- Un unico archivio che contiene un server MCP locale e un manifest.json che lo descrive, così che un client che supporta i bundle possa installarlo in un solo passaggio. In precedenza il formato si chiamava Desktop Extensions (.dxt). MCP Bundle (.mcpb) →
- Le voci del MCP Registry hanno versioni?
- Ogni pubblicazione nel registro aggiunge una versione che in seguito non cambia; la più recente è contrassegnata come latest. Lo stato di una voce è attivo, deprecato o eliminato. Versione e stato →
- Che cos’è llms.txt?
- Un file Markdown nella radice di un sito, /llms.txt, proposto nel settembre 2024 su llmstxt.org, che spiega ai modelli linguistici che cos’è il sito e rimanda alle sue pagine più utili, ciascuna con una breve nota. Non concede né nega nulla: è una mappa. llms.txt →
- Che cos’è OpenAPI?
- Un formato standard, leggibile dalle macchine, per descrivere un’API HTTP - endpoint, parametri, risposte e autenticazione - in JSON o YAML, noto in precedenza come Swagger. I framework per agenti possono trasformarne le operazioni in strumenti. OpenAPI →
- Che cos’è ai-plugin.json?
- Un manifest all’indirizzo /.well-known/ai-plugin.json introdotto nel 2023 per i plugin di ChatGPT: indica il nome del servizio, lo descrive per il modello e rimanda a una descrizione OpenAPI. Il sistema di plugin è stato poi dismesso, ma alcuni siti forniscono ancora il file. ai-plugin.json →
- Che cos’è /.well-known/mcp.json?
- Un file che alcuni siti forniscono per descrivere il proprio server MCP - endpoint, trasporto e accesso - così che client e cataloghi possano trovarlo a partire dal solo dominio. Non fa parte di una revisione pubblicata della specifica, e i file che si incontrano nella pratica hanno strutture diverse; questa directory registra se un sito risponde a quell’indirizzo con un oggetto JSON. /.well-known/mcp.json →
- Che cos’è agents.json?
- Un file JSON proposto, servito all’indirizzo /agents.json, che descrive le operazioni di un’API e i flussi in più passaggi che un agente può eseguire con esse, basandosi su OpenAPI. Pochi siti ne pubblicano uno; questa directory registra se un sito risponde a quell’indirizzo con un oggetto JSON. agents.json →
- Che cos’è un’app ChatGPT?
- Un’app che un servizio pubblica all’interno di ChatGPT. Le app sono realizzate con l’Apps SDK di OpenAI, basato su MCP, e possono mostrare risultati interattivi nella chat; l’utente deve collegare un’app prima che ChatGPT possa chiamarla. App ChatGPT →
- Che cos’è un connettore Claude?
- Un server MCP remoto aggiunto a Claude, dalla directory dei connettori di Anthropic o tramite URL, così che Claude possa leggere dati da quel servizio o agire al suo interno una volta che l’utente lo ha collegato. Connettore Claude →
- Che cosa offre un’API pubblica a un agente IA?
- Un’API documentata che chiunque può chiamare dopo essersi registrato, di solito con una chiave fornita dal servizio. È il modo in cui gli agenti sviluppati su misura raggiungono un servizio che non ha un server MCP. API pubblica →
- Che differenza c’è tra un server MCP remoto e uno locale?
- Un server MCP è remoto - gestito dal suo editore e raggiungibile a un URL - oppure locale - un programma sul proprio computer che l’app dell’assistente avvia automaticamente. Alcuni servizi offrono entrambe le soluzioni, e la scelta cambia cosa si installa, dove vanno i dati e chi detiene le chiavi. Server MCP remoto o locale: quale usare →
- Come si aggiunge un server MCP a un assistente IA?
- I passaggi variano da un assistente all’altro e cambiano spesso, ma seguono due schemi: fornire all’assistente un URL, per un server remoto, oppure fornire a un client il comando che avvia un programma, per un server locale. Ogni pagina di server in questa directory indica cosa serve in entrambi i casi. Come aggiungere un server MCP a un assistente IA →
- Quale trasporto MCP dovrebbe usare un server?
- Un servizio ospitato, raggiunto da molte persone attraverso molti assistenti, offre di norma Streamable HTTP, il trasporto che il protocollo raccomanda oggi per i server remoti. Uno strumento che deve accedere a file o applicazioni locali usa stdio. Trasporti MCP: stdio, Streamable HTTP e SSE →
- Il MCP Registry è moderato?
- Solo in modo limitato: le sue regole di moderazione rimuovono contenuti illegali, malware, spam e server che non funzionano, ma non quelli di bassa qualità o duplicati, e invitano i lettori a presumere una moderazione minima o nulla. Che cos’è il MCP Registry ufficiale? →
- llms.txt è la stessa cosa di robots.txt?
- No: llms.txt non concede né nega nulla, e non è nemmeno una sitemap - sceglie le poche pagine che contano e spiega a cosa serve ciascuna. Cosa contiene un file llms.txt →
- Un agente IA può usare una descrizione OpenAPI?
- Sì: un documento OpenAPI descrive endpoint, parametri, risposte e autenticazione di un’API in una forma leggibile dalle macchine, così un agente può imparare a chiamare un’API mai vista prima, e molti framework per agenti trasformano le sue operazioni in strumenti. OpenAPI per gli agenti IA →
- Come verificano gli assistenti IA la disponibilità per un viaggio?
- Interrogando il fornitore: disponibilità e prezzi cambiano di minuto in minuto, quindi solo una chiamata diretta al server MCP o all’API del fornitore, con luogo, date e ospiti, restituisce una risposta reale. Come gli assistenti IA trovano la disponibilità per i viaggi →
- Cosa verificare prima di collegare un server MCP?
- Chi lo pubblica, cosa possono fare i suoi strumenti, quali credenziali riceve e, per un server locale, quale codice si esegue - il registro elenca i server, non ne garantisce l’affidabilità. Prima di collegare un server MCP: una checklist →
- Come vengono verificate le schede di questa directory?
- Per ogni servizio, la directory richiede i file pubblici che dichiarano un’integrazione IA - /llms.txt, manifest MCP, descrizioni OpenAPI - e registra lo stato HTTP e la data. Come vengono verificate le schede →
Fonti: Il glossario e gli articoli di approfondimento di questa directory, redatti a partire dalla specifica MCP e dalla documentazione del registro. Tutte le domande