MCP Server: Come Connettere l'AI ai Tuoi Strumenti
Cosa sono i server MCP, come funzionano e come usarli con Claude Code. Una guida pratica con esempi reali per sviluppatori.
Punti Chiave
- MCP (Model Context Protocol) è uno standard aperto che funge da “porta USB per l’AI”, consentendo agli assistenti di connettersi in modo standardizzato a database, API e strumenti esterni, eliminando la frammentazione delle integrazioni custom.
- Prima di MCP, ogni integrazione specifica (es. interrogare un database o leggere un calendario) richiedeva uno sviluppo ad hoc; ora, un unico protocollo sostituisce questa complessità.
- L’architettura di MCP si basa su tre componenti principali: l’Host AI (l’applicazione che invia richieste), l’MCP Server (un processo leggero per specifiche integrazioni) e il Transport (stdio o SSE) per la comunicazione.
- Questo protocollo permette agli sviluppatori di estendere significativamente le capacità di assistenti come Claude Code, fornendo accesso consistente a strumenti come Slack, GitHub e dashboard di monitoring.
Cos’è MCP e Perché Dovresti Interessartene
Model Context Protocol (MCP) è uno standard aperto che permette agli assistenti AI di connettersi a strumenti esterni e fonti dati. Pensatelo come una porta USB per l’AI — un modo standardizzato per collegare database, API, file system e strumenti personalizzati, così che l’AI possa effettivamente fare cose oltre a generare testo.
Prima di MCP, ogni integrazione era custom. Volete che la vostra AI interroghi un database? Scrivete un plugin specifico. Volete che legga il calendario? Costruitene un altro. MCP sostituisce questa frammentazione con un singolo protocollo che qualsiasi strumento può implementare.
Per gli sviluppatori che usano Claude Code, MCP significa poter dare al proprio assistente AI accesso a Slack, GitHub, database, dashboard di monitoring e qualsiasi cosa per cui costruiate un server — il tutto attraverso un’interfaccia consistente.
Come Funziona MCP
L’architettura ha tre componenti:
MCP Host — l’applicazione AI (Claude Code, Claude Desktop, o la vostra app). Invia richieste e riceve risposte.
MCP Server — un processo leggero che espone strumenti, risorse e prompt. Ogni server si concentra su un’integrazione.
Transport — come host e server comunicano. Due opzioni: stdio (processi locali) o SSE (connessioni HTTP remote).
┌─────────────┐ stdio/SSE ┌──────────────┐
│ [Claude Code](https://docs.anthropic.com/en/docs/claude-code) │ ◄──────────────► │ MCP Server │
│ (Host) │ │ (es. Slack) │
└─────────────┘ └──────────────┘
Un singolo host può connettersi a più server contemporaneamente. Claude Code supporta già questa funzionalità — potete avere un server GitHub, un server database e un server custom tutti attivi insieme.
Configurare il Primo Server MCP
Il modo più veloce per iniziare è con un server della community. Connettiamo Claude Code a un database SQLite.
Installate il server MCP SQLite:
npx @anthropic-ai/create-mcp-server
Oppure aggiungetelo manualmente alla configurazione di Claude Code. Modificate ~/.claude/settings.json:
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-server-sqlite", "/percorso/del/vostro/database.db"]
}
}
}
Riavviate Claude Code. Ora potete chiedergli di interrogare il database direttamente:
“Mostrami tutti gli utenti registrati negli ultimi 7 giorni”
Claude userà gli strumenti MCP per eseguire la query SQL effettiva e restituire i risultati.
Costruire un Server MCP Personalizzato
I server della community coprono i casi d’uso comuni, ma il vero potere sta nel costruire il proprio. Ecco un server MCP minimale in TypeScript che espone uno strumento meteo:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({
name: "weather",
version: "1.0.0",
});
server.tool(
"get-weather",
"Ottieni il meteo attuale per una città",
{ city: z.string().describe("Nome della città") },
async ({ city }) => {
const res = await fetch(
`https://wttr.in/${encodeURIComponent(city)}?format=j1`
);
const data = await res.json();
const current = data.current_condition[0];
return {
content: [{
type: "text",
text: `${city}: ${current.temp_C}°C, ${current.weatherDesc[0].value}`
}]
};
}
);
const transport = new StdioServerTransport();
await server.connect(transport);
Registratelo nelle impostazioni:
{
"mcpServers": {
"weather": {
"command": "node",
"args": ["percorso/del/weather-server.js"]
}
}
}
Ora Claude Code può controllare il meteo come parte del suo flusso di lavoro. Il pattern si scala a qualsiasi cosa: API interne, CRM, pipeline di deploy, sistemi di monitoring.
Concetti MCP: Tools, Resources e Prompts
I server MCP possono esporre tre tipi di funzionalità:
Tools sono funzioni che l’AI può chiamare. Accettano parametri e restituiscono risultati. Esempi: eseguire una query database, inviare un messaggio Slack, creare una issue GitHub.
server.tool("create-issue", "Crea una issue GitHub", {
title: z.string(),
body: z.string(),
repo: z.string(),
}, async ({ title, body, repo }) => {
// Chiama API GitHub
});
Resources sono dati che l’AI può leggere. Sono come file o endpoint a cui l’AI può accedere on demand. Esempi: un file di configurazione, metriche live, documentazione.
server.resource(
"config",
"app://config",
async () => ({
contents: [{
uri: "app://config",
text: JSON.stringify(appConfig),
mimeType: "application/json",
}]
})
);
Prompts sono template di prompt riutilizzabili forniti dal server. Aiutano a standardizzare come l’AI interagisce con lo strumento.
Per la maggior parte dei casi d’uso pratici, costruirete principalmente tools.
Casi d’Uso Pratici per MCP
Ecco scenari reali dove i server MCP aggiungono valore immediato:
Assistente database: connettetevi a PostgreSQL o SQLite. Chiedete a Claude di analizzare dati, trovare anomalie o generare report senza scrivere SQL manualmente.
Helper per il deploy: wrappate la vostra pipeline CI/CD. Chiedete a Claude di verificare lo stato delle build, triggerare deploy o fare rollback di una release.
Ricerca documentazione: indicizzate la vostra documentazione interna. Claude può cercarla e referenziarla quando risponde a domande sul vostro codice.
Bridge per il monitoring: connettetevi a Grafana o al vostro sistema di metriche. Chiedete a Claude informazioni su error rate, trend di latenza o capacity planning.
Gestione contenuti: connettetevi alla API del vostro CMS. Chiedete a Claude di redigere, modificare e pubblicare contenuti direttamente.
Considerazioni sulla Sicurezza
I server MCP girano con i permessi del loro processo. Alcune regole:
- Principio del privilegio minimo: date a ogni server solo l’accesso necessario. Un server database read-only non dovrebbe avere permessi di scrittura.
- Niente segreti nei file di config: usate variabili d’ambiente per API key e token.
- Audit delle chiamate tool: i server MCP loggano ogni invocazione di tool. Revisionate questi log regolarmente.
- Isolamento di rete: se un server accede a sistemi sensibili, eseguitelo in un container o limitatene l’accesso di rete.
{
"mcpServers": {
"database": {
"command": "node",
"args": ["db-server.js"],
"env": {
"DB_URL": "postgresql://readonly:pass@localhost/mydb"
}
}
}
}
L’Ecosistema MCP Oggi
L’ecosistema sta crescendo rapidamente. Anthropic mantiene server ufficiali per le integrazioni comuni. La community ne ha costruiti centinaia. Risorse chiave:
- Server ufficiali: filesystem, GitHub, GitLab, Slack, Google Drive, PostgreSQL, SQLite, Puppeteer
- Registry della community: per esplorare i server disponibili e le loro funzionalità
- SDK: disponibile in TypeScript, Python, Java e Kotlin
- Claude Code: ha supporto MCP integrato, nessuna configurazione aggiuntiva oltre a quella del server
Checklist per Iniziare
- Scegliete un’integrazione che vi farebbe risparmiare tempo ogni giorno
- Verificate se esiste già un server MCP della community
- Se no, costruite un server minimale con un tool usando l’SDK
- Aggiungetelo alla configurazione di Claude Code
- Testatelo, iterate, aggiungete altri tool secondo necessità
Il miglior server MCP è quello che rimuove un’attività ripetitiva dal vostro flusso di lavoro. Partite in piccolo, partite specifici, e espandete da lì.
Domande Frequenti
Cos’è esattamente MCP Server?
MCP Server è un processo leggero che espone strumenti, risorse e prompt a un MCP Host (un’applicazione AI). Ogni server è progettato per gestire una specifica integrazione, consentendo all’AI di interagire con sistemi esterni.
Come si differenzia MCP dalle integrazioni AI tradizionali?
Prima di MCP, ogni integrazione tra un’AI e uno strumento esterno (come un database o un calendario) richiedeva uno sviluppo custom e un plugin specifico. MCP standardizza questo processo con un unico protocollo, rendendo le connessioni più efficienti e consistenti.
Quali sono i componenti principali dell’architettura MCP?
L’architettura MCP è composta da tre elementi: l’MCP Host (l’applicazione AI), l’MCP Server (il processo che espone gli strumenti) e il Transport (il metodo di comunicazione, che può essere stdio per processi locali o SSE per connessioni HTTP remote).
Quali vantaggi offre MCP agli sviluppatori che usano assistenti AI come Claude Code?
MCP consente agli sviluppatori di dare ai loro assistenti AI accesso a una vasta gamma di strumenti e servizi, come Slack, GitHub, database e dashboard di monitoring, attraverso un’interfaccia consistente. Questo amplia notevolmente le capacità operative dell’AI.
Continua a leggere.
Gli AI Coding Agent Stanno Cambiando il Modo in Cui Sviluppiamo Software
Uno sguardo pratico su come gli AI coding agent si integrano nei workflow reali degli sviluppatori nel 2026 — cosa funziona, cosa no, e come sfruttarli al meglio.
Automazioni AI per Sviluppatori: Guida Pratica Completa
Impara a creare automazioni intelligenti con AI. Include esempi di codice, best practice e strategie di implementazione reali per sviluppatori.