Free

Cos'è MCP: connettere Claude Code al mondo esterno

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.

Cos'è MCP

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.

Come funziona

L'architettura è semplice:

Claude Code (Client)  ←→  MCP Server  ←→  Sistema esterno
  1. Dichiari un MCP Server nella configurazione (un processo locale o un servizio remoto)
  2. All'avvio Claude Code si connette al Server e ottiene la lista degli strumenti disponibili
  3. Durante la sessione, Claude può chiamare quegli strumenti esattamente come chiama quelli integrati (Read, Write, Bash)
  4. Il MCP Server elabora la richiesta e restituisce il risultato a Claude

Il tutto è trasparente per l'utente. Vedi Claude dire "controllo nel database" e tornare con una risposta — MCP gestisce la comunicazione in background.

Tre tipi di capacità MCP

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.

Avvio rapido: aggiungere un MCP Server esistente

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.

Struttura della configurazione

{
  "mcpServers": {
    "nome-servizio": {
      "command": "comando di avvio",
      "args": ["lista argomenti"],
      "env": {
        "API_KEY": "xxx"
      }
    }
  }
}
  • command + args: come Claude Code avvia il processo MCP Server
  • Il nome del servizio è solo un'etichetta locale — scegli quello che ha senso
  • Usa env per chiavi API e configurazione sensibile; non hardcodarle nel codice

Dove mettere la configurazione

La 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.

Dove trovare MCP Server esistenti

Anthropic mantiene una serie di server ufficiali:

  • @modelcontextprotocol/server-filesystem — accesso al file system
  • @modelcontextprotocol/server-github — operazioni GitHub (PR, issue, ricerca nel codice)
  • @modelcontextprotocol/server-postgres — query PostgreSQL
  • @modelcontextprotocol/server-slack — leggere e scrivere messaggi Slack
  • @modelcontextprotocol/server-google-maps — mappe e informazioni geografiche

La community ha costruito molte implementazioni di terze parti che coprono Notion, Linear, Jira e vari database.

MCP vs Hooks: quale scegliere

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.

Prossimi passi

Questo articolo è un'introduzione concettuale a MCP. I prossimi copriranno:

  • Connettere Claude Code a un database PostgreSQL reale con schema reale
  • Connettere strumenti interni e API
  • Costruire il proprio MCP Server da zero

Se hai già un sistema che vuoi connettere, controlla prima la lista degli MCP Server — c'è buona possibilità che qualcuno l'abbia già costruito.