MCP in Claude Code: collegare l’assistente a tool esterni
Model Context Protocol è lo standard aperto di Anthropic per dare a Claude Code accesso a DB, API e filesystem. Come funziona e come configurarlo.

Model Context Protocol (MCP) è il protocollo aperto con cui Anthropic ha standardizzato, a novembre 2024, il modo in cui un LLM accede a tool e dati esterni. Claude Code lo supporta nativamente: invece di scrivere ogni volta un’integrazione ad hoc per filesystem, database o API, si collega un server MCP e l’assistente acquisisce nuove capacità. In questo articolo vediamo come funziona, quali server esistono già pronti e come aggiungerne uno alla propria configurazione.
Cos’è MCP in una riga
MCP è un protocollo client-server basato su JSON-RPC che permette a un modello di chiamare tool, leggere risorse e usare prompt definiti da un processo esterno. Il client (Claude Code, Claude Desktop, un IDE) parla con uno o più server MCP via stdio locale o HTTP remoto. Il modello non esegue nulla da solo: vede un elenco di tool disponibili e decide se invocarli.
Perché serve un protocollo
Prima di MCP, ogni integrazione era custom: plugin ChatGPT, function calling proprietario, agent framework con API diverse. Risultato: lo stesso connettore a Postgres andava riscritto per ogni assistente. MCP disaccoppia i due lati. Il server espone capacità in modo neutro, il client le consuma. È la ragione per cui OpenAI e Google hanno annunciato supporto MCP nel 2025: conviene a tutti convergere su un’interfaccia sola.
Cosa espone un server MCP
- Tool: azioni che il modello può invocare (es.
query_database,create_issue). Hanno input schema JSON e producono output strutturato. - Resources: contenuti read-only che il modello può leggere come contesto (file, record, documentazione). Identificati da URI.
- Prompts: template riutilizzabili che il server offre al client, utili per workflow ricorrenti.
I server ufficiali Anthropic
Anthropic mantiene un set di reference server nel repository modelcontextprotocol/servers. Quelli più usati:
- filesystem: lettura e scrittura file in directory autorizzate.
- git: operazioni su repository locali (log, diff, blame).
- postgres e sqlite: query su database con schema introspection.
- google-drive: ricerca e lettura documenti Drive.
- slack: lettura canali, invio messaggi.
- memory: knowledge graph persistente fra sessioni.
- sequential-thinking: tool di ragionamento strutturato a step.
La community ha poi pubblicato server per AWS, GitHub, Linear, Jira, Sentry, Notion, Cloudflare, Stripe e decine di altri servizi. La lista aggiornata sta su modelcontextprotocol.io.
Aggiungere un server con claude mcp add
Il modo più rapido è il comando CLI. Esempio per registrare il server filesystem con accesso a una cartella di progetti:
claude mcp add filesystem \
--command npx \
--args "-y" "@modelcontextprotocol/server-filesystem" "/Users/me/projects"
Per un server Postgres che legge un DB aziendale in sola lettura:
claude mcp add postgres-readonly \
--command npx \
--args "-y" "@modelcontextprotocol/server-postgres" "postgresql://readonly:pwd@db.internal:5432/analytics"
Dopo l’aggiunta, claude mcp list mostra i server configurati e claude mcp get <nome> il dettaglio. Dentro Claude Code i tool del server diventano disponibili al modello al prossimo avvio della sessione.
Configurazione manuale in ~/.claude.json
Chi preferisce versionare la config può editare direttamente il file. Ecco un esempio con tre server:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx"
}
},
"sqlite": {
"command": "uvx",
"args": ["mcp-server-sqlite", "--db-path", "/data/app.db"]
}
}
}
La stessa struttura funziona in Claude Desktop e in Claude Code, sia CLI che nelle estensioni IDE. È il punto di forza: una config sola, più client.
Esempio pratico: query su un DB aziendale
Immagina di dover rispondere a domande di business su dati Postgres senza passare dal DBA ogni volta. Configurato il server postgres con credenziali read-only, in chat basta chiedere “quanti ordini sopra 500 euro negli ultimi 30 giorni”. Claude Code introspettiva lo schema tramite i tool MCP, genera la query, la esegue, mostra il risultato. Nessuna UI custom, nessun notebook dedicato.
Rischi e guardrail
- Permessi ampi: un server filesystem con accesso a
/è un rischio enorme. Restringere sempre alle directory necessarie. - Prompt injection via risorse: contenuti letti da un server MCP (email, ticket, pagine web) possono contenere istruzioni ostili. Trattare l’output come input non fidato.
- Credenziali: le env dei server MCP stanno nel file di config. Proteggere
~/.claude.jsone non versionarlo con secret dentro. - Tool esplosi: oltre una certa soglia di tool nello stesso server, il modello si confonde. Meglio più server specializzati che un mega-server.
Dove si incastra nel workflow
MCP è complementare ad altre estensioni di Claude Code: le https://www.smartworkers.cloud/?p=3423 sono capacità dichiarative che il modello carica on-demand, mentre MCP è un ponte verso sistemi esterni vivi. Per chi vuole invece pilotare Claude Code da remoto invece di estenderlo, il discorso cambia completamente, vedi https://www.smartworkers.cloud/?p=3433.
La domanda interessante non è più “come faccio a dare al modello accesso a X”. Con MCP è: quale catalogo di server tenere sempre attivo, e quali montare solo nei progetti dove servono?

Blogger dal 2001, Nativo Digitale, Developer.
Da 15 anni mi occupo di IT per una grande Azienda.
Lavoro per abbattere il Digital Divide.
Visita i miei altri progetti
sardiniamobility.com
www.cyberness.it