Spiega come funziona MCP e come configurarlo per permettere a Claude Code di connettersi a database, GitHub, Slack e altri sistemi esterni tramite MCP Server.
Claude Code ha un perimetro d'azione definito per impostazione predefinita: leggere e scrivere file locali, eseguire comandi nel terminale, usare gli strumenti integrati. Ma i progetti reali richiedono di più — interrogare un database, leggere documenti Notion, cercare messaggi Slack, chiamare API interne.
MCP risolve esattamente questo problema.
MCP (Model Context Protocol) è un protocollo aperto di Anthropic che definisce come i modelli AI comunicano con strumenti esterni e sorgenti dati. Pensalo come installare plugin per Claude Code: ogni MCP Server è un servizio indipendente che espone un insieme di strumenti che Claude può chiamare direttamente durante una sessione.
A differenza degli Hooks (che eseguono script quando Claude compie un'azione), MCP espande attivamente ciò che Claude può fare: tutto ciò che connetti, Claude può operarlo.
L'architettura è semplice:
Claude Code (Client) ←→ MCP Server ←→ Sistema esterno
Il tutto è trasparente per l'utente. Vedi Claude dire "controllo nel database" e tornare con una risposta — MCP gestisce la comunicazione in background.
Un MCP Server può esporre tre tipi di cose:
Tools (strumenti)
Funzioni che Claude può chiamare attivamente — "interroga la tabella users", "cerca documenti", "invia un messaggio Slack". È il tipo più usato, coprendo il 90% dei casi d'uso reali.
Resources (risorse)
Dati strutturati che Claude può leggere come contesto — schema del database, documentazione API, file di configurazione.
Prompts (template di prompt)
Frammenti di prompt predefiniti che gli utenti possono invocare direttamente.
In pratica, lavorerai quasi sempre con i Tools.
Usando il Filesystem MCP ufficiale come esempio — questo Server dà a Claude accesso a parti del file system al di fuori della directory di lavoro.
Installazione
npm install -g @modelcontextprotocol/server-filesystem
Configurazione
Modifica ~/.claude/settings.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/yourname/Documents"
]
}
}
}
Verifica
Riavvia Claude Code e prova:
Elenca tutti i file PDF in /Users/yourname/Documents
Se Claude restituisce risultati invece di dire "non posso accedere al file system", MCP funziona.
{
"mcpServers": {
"nome-servizio": {
"command": "comando di avvio",
"args": ["lista argomenti"],
"env": {
"API_KEY": "xxx"
}
}
}
}
command + args: come Claude Code avvia il processo MCP Serverenv per chiavi API e configurazione sensibile; non hardcodarle nel codiceLa configurazione MCP può stare in tre posti, dal meno al più prioritario:
| Posizione | File | Quando usarlo |
|---|---|---|
| Globale | ~/.claude/settings.json |
Strumenti da usare in tutti i progetti |
| Progetto | .claude/settings.json |
Strumenti specifici per questo progetto |
| Override locale | .claude/settings.local.json |
Config personale, non va in git |
Per connessioni a database e API interne, usa la config di progetto e committala con il codice. I membri del team che clonano il repo ottengono automaticamente lo stesso ambiente MCP.
Anthropic mantiene una serie di server ufficiali:
La community ha costruito molte implementazioni di terze parti che coprono Notion, Linear, Jira e vari database.
| Hooks | MCP | |
|---|---|---|
| Attivato da | Claude che esegue un'azione specifica | Claude che chiama attivamente uno strumento |
| Scopo | Intercettare o migliorare comportamenti esistenti | Aggiungere nuove capacità |
| Casi tipici | Formattare al salvataggio, verificare prima del commit | Query al DB, chiamare un'API esterna |
| Complessità configurazione | Bassa | Media |
Sono complementari. Gli Hooks controllano come lavora Claude; MCP controlla cosa Claude può fare.
Questo articolo è un'introduzione concettuale a MCP. I prossimi copriranno:
Se hai già un sistema che vuoi connettere, controlla prima la lista degli MCP Server — c'è buona possibilità che qualcuno l'abbia già costruito.