Server MCP in Claude Code
Il Model Context Protocol (MCP) è uno standard aperto per collegare l'AI a strumenti e dati esterni. Un server MCP espone funzionalità (interrogare un database, aprire una PR su GitHub, pilotare un browser); Claude Code si connette a esso e può chiamare quegli strumenti durante una sessione. È così che estendi Claude oltre il tuo filesystem e la tua shell.
- Spiegare cos'è un server MCP e come Claude Code chiama i suoi strumenti
- Distinguere i due trasporti: stdio locale vs HTTP/SSE remoto
- Aggiungere un server con claude mcp add e leggere il JSON che scrive
- Scegliere lo scope giusto (local, project, user) per chi vede un server
- Collegare un vero database a Claude dall'inizio alla fine
- Evitare le trappole di sicurezza e configurazione in cui cade la maggior parte delle persone
Come è strutturato
Dichiari i server che Claude può usare; ogni server pubblica un insieme di strumenti con i relativi schemi; Claude li sceglie e li chiama come qualsiasi altro strumento.
Trasporti
Ci sono due modi in cui Claude raggiunge un server. Scegli in base a dove gira il server.
- stdio — un processo locale che Claude avvia (ottimo per strumenti/CLI locali).
- Remoto (HTTP/SSE) — un server in hosting, spesso con OAuth.
Configurare i server
Il percorso più veloce è il comando claude mcp add — scrive la configurazione al posto tuo. Segui questa sequenza per passare da zero a un server connesso.
- Esegui claude mcp add — tutto ciò che viene dopo il -- è il comando di avvio che Claude esegue per te.
- Passa --transport http e uno scope, poi l'URL del server. I server remoti sono spesso in hosting e usano OAuth.
- Esegui claude mcp list per visualizzare i server configurati e il loro stato di connessione.
- Usa /mcp all'interno di una sessione per ispezionare gli strumenti di un server e autenticarti ai server remoti.
Aggiungi un server stdio locale
# A local stdio server (everything after -- is the launch command) claude mcp add github -- npx -y @modelcontextprotocol/server-github
Aggiungi un server HTTP remoto (condiviso con il progetto)
# A remote HTTP server, shared with everyone on the project claude mcp add --transport http --scope project linear https://mcp.linear.app/mcp
Sotto il cofano è solo JSON. Un server con scope project finisce in un .mcp.json nella radice del repo — committalo e tutto il tuo team ottiene gli stessi strumenti:
{
"mcpServers": {
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] }
}
}
Lo scope decide chi vede il server
| Scope | Risiede in | Da usare per |
|---|---|---|
local (predefinito) | le tue impostazioni utente, solo questo progetto | esperimenti personali, segreti |
project | .mcp.json nel repo (committato) | strumenti che tutto il team dovrebbe condividere |
user | le tue impostazioni utente, tutti i progetti | server che vuoi ovunque |
Esegui claude mcp list per vedere cosa è connesso e /mcp all'interno di una sessione per ispezionare gli strumenti e autenticarti ai server remoti. Vedi Configurazione MCP e scaffold di server per dei punti di partenza copia-incolla.
Esempio pratico: dai a Claude il tuo database
Supponi di voler far rispondere a Claude alle domande interrogando un Postgres locale invece di incollare tu i risultati delle query. Aggiungi il server (scope project, così i compagni di team lo ereditano):
Aggiungi un server Postgres con scope project
claude mcp add --scope project db -- npx -y @modelcontextprotocol/server-postgres "postgresql://localhost/app"
Ora in una sessione puoi porre la domanda in linguaggio naturale e lasciare che sia Claude a fare il ciclo di query per te:
Poni una domanda al database
How many users signed up last week? Check the DB.
Claude chiama lo strumento query del server, ottiene le righe e risponde — niente ciclo di copia-incolla. Poiché ha scope project, un compagno di team che fa il pull del repo ottiene la stessa capacità nel momento in cui apre Claude Code. Mantieni la stringa di connessione in sola lettura se vuoi solo letture.
Fiducia e sicurezza
- Un server MCP esegue codice e può leggere dati e compiere azioni — connetti solo server di cui ti fidi.
- Dai a ogni server il privilegio minimo di cui ha bisogno.
- Qualsiasi contenuto esterno che un server restituisce può veicolare prompt injection.
- Esamina i server di terze parti prima di connetterli.
:::warning Tratta i server MCP come l'installazione di software Un server MCP esegue codice e può leggere dati e compiere azioni. Connetti solo server di cui ti fidi, dai loro il privilegio minimo necessario, e ricorda che qualsiasi contenuto esterno che restituiscono può veicolare prompt injection. Esamina prima i server di terze parti — vedi Esaminare il codice di terze parti. :::
MCP anche nelle app
MCP alimenta anche i Connettori nelle app di Claude — stesso standard, superficie diversa. Vedi Connettori (MCP) nelle app e, per l'API, MCP e connessione agli strumenti.
Errori comuni
- Scope sbagliato. Un server aggiunto con scope
localnon comparirà per i compagni di team; uno che volevi solo per te non dovrebbe essere committato con scopeproject. Scegli con cura. - Troppi server, troppi strumenti. Ogni server connesso aggiunge i propri schemi di strumenti al contesto. Connetti ciò che serve al task, non l'intero catalogo.
- Connessioni con privilegi eccessivi. Dai a un server di database un ruolo in sola lettura a meno che Claude non abbia davvero bisogno di scrivere. MCP rende reali le capacità — riducile allo stretto necessario.
- Dimenticare il rischio di injection. Tutto ciò che un server restituisce (una pagina web, il corpo di una issue, una riga) è testo non attendibile che può veicolare prompt injection. Non collegare un potente server con capacità di scrittura accanto a uno non attendibile con capacità di lettura senza averci riflettuto bene.
Mettiti alla prova
0/3- MCP è uno standard aperto; un server MCP espone strumenti che Claude Code chiama come qualsiasi altro strumento.
- Due trasporti: stdio locale (un processo che Claude avvia) e HTTP/SSE remoto (in hosting, spesso OAuth).
- claude mcp add scrive la configurazione al posto tuo; sotto il cofano è JSON, e lo scope project risiede in un .mcp.json committato.
- Lo scope controlla la visibilità: local (tu, questo progetto), project (committato per il team), user (tu, ovunque).
- Tratta i server come l'installazione di software: fiducia, privilegio minimo e attenzione alla prompt injection in tutto ciò che restituiscono.