Model Context Protocol (MCP)
Scopri come configurare MCP con Claude Code.
Model Context Protocol (MCP) è un protocollo aperto che consente agli LLM di accedere a strumenti e fonti di dati esterni. Per maggiori dettagli su MCP, consulta la documentazione MCP.
Usa server MCP di terze parti a tuo rischio. Assicurati di fidarti dei server MCP e fai particolare attenzione quando usi server MCP che comunicano con internet, poiché questi possono esporti al rischio di prompt injection.
Configurare i server MCP
Aggiungere un Server MCP stdio
Aggiungere un Server MCP SSE
Aggiungere un Server MCP HTTP
Gestire i tuoi server MCP
Suggerimenti:
- Usa il flag
-s
o--scope
per specificare dove viene memorizzata la configurazione:local
(predefinito): Disponibile solo per te nel progetto corrente (era chiamatoproject
nelle versioni precedenti)project
: Condiviso con tutti nel progetto tramite il file.mcp.json
user
: Disponibile per te in tutti i progetti (era chiamatoglobal
nelle versioni precedenti)
- Imposta variabili d’ambiente con i flag
-e
o--env
(es.,-e KEY=value
) - Configura il timeout di avvio del server MCP usando la variabile d’ambiente MCP_TIMEOUT (es.,
MCP_TIMEOUT=10000 claude
imposta un timeout di 10 secondi) - Controlla lo stato del server MCP in qualsiasi momento usando il comando
/mcp
all’interno di Claude Code - MCP segue un’architettura client-server dove Claude Code (il client) può connettersi a più server specializzati
- Claude Code supporta server SSE (Server-Sent Events) e HTTP streamable per la comunicazione in tempo reale
- Usa
/mcp
per autenticarti con server remoti che richiedono autenticazione OAuth 2.0
Comprendere gli ambiti dei server MCP
I server MCP possono essere configurati a tre diversi livelli di ambito, ciascuno con scopi distinti per gestire l’accessibilità e la condivisione dei server. Comprendere questi ambiti ti aiuta a determinare il modo migliore per configurare i server per le tue esigenze specifiche.
Gerarchia e precedenza degli ambiti
Le configurazioni dei server MCP seguono una chiara gerarchia di precedenza. Quando esistono server con lo stesso nome a più ambiti, il sistema risolve i conflitti dando priorità prima ai server con ambito locale, seguiti dai server con ambito progetto, e infine dai server con ambito utente. Questo design assicura che le configurazioni personali possano sovrascrivere quelle condivise quando necessario.
Ambito locale
I server con ambito locale rappresentano il livello di configurazione predefinito e sono memorizzati nelle tue impostazioni utente specifiche del progetto. Questi server rimangono privati per te e sono accessibili solo quando lavori all’interno della directory del progetto corrente. Questo ambito è ideale per server di sviluppo personali, configurazioni sperimentali, o server contenenti credenziali sensibili che non dovrebbero essere condivise.
Ambito progetto
I server con ambito progetto abilitano la collaborazione del team memorizzando le configurazioni in un file .mcp.json
nella directory radice del tuo progetto. Questo file è progettato per essere inserito nel controllo versione, assicurando che tutti i membri del team abbiano accesso agli stessi strumenti e servizi MCP. Quando aggiungi un server con ambito progetto, Claude Code crea automaticamente o aggiorna questo file con la struttura di configurazione appropriata.
Il file .mcp.json
risultante segue un formato standardizzato:
Per motivi di sicurezza, Claude Code richiede approvazione prima di usare server con ambito progetto dai file .mcp.json
. Se devi reimpostare queste scelte di approvazione, usa il comando claude mcp reset-project-choices
.
Ambito utente
I server con ambito utente forniscono accessibilità cross-progetto, rendendoli disponibili in tutti i progetti sulla tua macchina rimanendo privati al tuo account utente. Questo ambito funziona bene per server di utilità personali, strumenti di sviluppo, o servizi che usi frequentemente in diversi progetti.
Scegliere l’ambito giusto
Seleziona il tuo ambito basandoti su:
- Ambito locale: Server personali, configurazioni sperimentali, o credenziali sensibili specifiche per un progetto
- Ambito progetto: Server condivisi dal team, strumenti specifici del progetto, o servizi richiesti per la collaborazione
- Ambito utente: Utilità personali necessarie in più progetti, strumenti di sviluppo, o servizi usati frequentemente
Autenticarsi con server MCP remoti
Molti server MCP remoti richiedono autenticazione. Claude Code supporta il flusso di autenticazione OAuth 2.0 per la connessione sicura a questi server.
Aggiungere un server remoto che richiede autenticazione
Autenticarsi usando il comando /mcp
All’interno di Claude Code, usa il comando /mcp
per gestire l’autenticazione:
Questo apre un menu interattivo dove puoi:
- Visualizzare lo stato di connessione per tutti i server
- Autenticarti con server che richiedono OAuth
- Cancellare l’autenticazione esistente
- Visualizzare le capacità del server
Completare il flusso OAuth
Quando selezioni “Authenticate” per un server:
- Il tuo browser si apre automaticamente al provider OAuth
- Completa l’autenticazione nel tuo browser
- Claude Code riceve e memorizza in modo sicuro il token di accesso
- La connessione del server diventa attiva
Suggerimenti:
- I token di autenticazione sono memorizzati in modo sicuro e aggiornati automaticamente
- Usa “Clear authentication” nel menu
/mcp
per revocare l’accesso - Se il tuo browser non si apre automaticamente, copia l’URL fornito
- L’autenticazione OAuth funziona con entrambi i trasporti SSE e HTTP
Connettersi a un server MCP Postgres
Supponiamo che tu voglia dare a Claude accesso in sola lettura a un database PostgreSQL per query e ispezione dello schema.
Aggiungere il server MCP Postgres
Interrogare il tuo database con Claude
Suggerimenti:
- Il server MCP Postgres fornisce accesso in sola lettura per sicurezza
- Claude può aiutarti a esplorare la struttura del database ed eseguire query analitiche
- Puoi usare questo per comprendere rapidamente gli schemi di database in progetti non familiari
- Assicurati che la tua stringa di connessione usi credenziali appropriate con i permessi minimi richiesti
Aggiungere server MCP da configurazione JSON
Supponiamo che tu abbia una configurazione JSON per un singolo server MCP che vuoi aggiungere a Claude Code.
Aggiungere un server MCP da JSON
Verificare che il server sia stato aggiunto
Suggerimenti:
- Assicurati che il JSON sia correttamente escaped nella tua shell
- Il JSON deve conformarsi allo schema di configurazione del server MCP
- Puoi usare
-s global
per aggiungere il server alla tua configurazione globale invece di quella specifica del progetto
Importare server MCP da Claude Desktop
Supponiamo che tu abbia già configurato server MCP in Claude Desktop e voglia usare gli stessi server in Claude Code senza riconfigurarli manualmente.
Importare server da Claude Desktop
Selezionare quali server importare
Dopo aver eseguito il comando, vedrai un dialogo interattivo che ti permette di selezionare quali server vuoi importare.
Verificare che i server siano stati importati
Suggerimenti:
- Questa funzionalità funziona solo su macOS e Windows Subsystem for Linux (WSL)
- Legge il file di configurazione di Claude Desktop dalla sua posizione standard su quelle piattaforme
- Usa il flag
-s global
per aggiungere server alla tua configurazione globale - I server importati avranno gli stessi nomi di Claude Desktop
- Se esistono già server con gli stessi nomi, otterranno un suffisso numerico (es.,
server_1
)
Usare Claude Code come server MCP
Supponiamo che tu voglia usare Claude Code stesso come server MCP a cui altre applicazioni possono connettersi, fornendo loro gli strumenti e le capacità di Claude.
Avviare Claude come server MCP
Connettersi da un'altra applicazione
Puoi connetterti al server MCP di Claude Code da qualsiasi client MCP, come Claude Desktop. Se stai usando Claude Desktop, puoi aggiungere il server MCP di Claude Code usando questa configurazione:
Suggerimenti:
- Il server fornisce accesso agli strumenti di Claude come View, Edit, LS, ecc.
- In Claude Desktop, prova a chiedere a Claude di leggere file in una directory, fare modifiche, e altro ancora.
- Nota che questo server MCP sta semplicemente esponendo gli strumenti di Claude Code al tuo client MCP, quindi il tuo client è responsabile dell’implementazione della conferma utente per le singole chiamate agli strumenti.
Usare le risorse MCP
I server MCP possono esporre risorse che puoi referenziare usando le menzioni @, simile a come referenzi i file.
Referenziare risorse MCP
Elencare le risorse disponibili
Digita @
nel tuo prompt per vedere le risorse disponibili da tutti i server MCP connessi. Le risorse appaiono insieme ai file nel menu di autocompletamento.
Referenziare una risorsa specifica
Usa il formato @server:protocol://resource/path
per referenziare una risorsa:
Riferimenti a risorse multiple
Puoi referenziare più risorse in un singolo prompt:
Suggerimenti:
- Le risorse vengono automaticamente recuperate e incluse come allegati quando referenziate
- I percorsi delle risorse sono ricercabili in modo fuzzy nell’autocompletamento delle menzioni @
- Claude Code fornisce automaticamente strumenti per elencare e leggere le risorse MCP quando i server le supportano
- Le risorse possono contenere qualsiasi tipo di contenuto che il server MCP fornisce (testo, JSON, dati strutturati, ecc.)
Usare i prompt MCP come comandi slash
I server MCP possono esporre prompt che diventano disponibili come comandi slash in Claude Code.
Eseguire prompt MCP
Scoprire i prompt disponibili
Digita /
per vedere tutti i comandi disponibili, inclusi quelli dai server MCP. I prompt MCP appaiono con il formato /mcp__servername__promptname
.
Eseguire un prompt senza argomenti
Eseguire un prompt con argomenti
Molti prompt accettano argomenti. Passali separati da spazi dopo il comando:
Suggerimenti:
- I prompt MCP sono scoperti dinamicamente dai server connessi
- Gli argomenti sono analizzati basandosi sui parametri definiti del prompt
- I risultati del prompt sono iniettati direttamente nella conversazione
- I nomi dei server e dei prompt sono normalizzati (gli spazi diventano underscore)