Home Chi Sono
Servizi
WordPress Sviluppo Web Server & Hosting Assistenza Tecnica Windows Android
Blog
Tutti gli Articoli WordPress Hosting Plesk Assistenza Computer Windows Android A.I.
Contatti

Cos’è il Model Context Protocol (MCP) e Come lo Configuro sul Mio Server: Guida Pratica al Nuovo Standard che Connette l’AI ai Tuoi Servizi

Cos’è il Model Context Protocol (MCP) e Come lo Configuro sul Mio Server: Guida Pratica al Nuovo Standard che Connette l’AI ai Tuoi Servizi

Se lavori con server, servizi web e intelligenza artificiale, c’è un protocollo che nel 2026 non puoi più ignorare: il Model Context Protocol (MCP). Nella mia esperienza quotidiana come system administrator, mi sono trovato sempre più spesso a dover connettere strumenti AI a database, file system e API aziendali. Il problema? Ogni integrazione richiedeva connettori custom, codice ad hoc e ore di debugging. MCP risolve esattamente questo, e oggi vi mostro come funziona e come configurarlo sul vostro server.

Introdotto da Anthropic a novembre 2024 come standard open source, il Model Context Protocol è diventato in poco più di un anno il protocollo di riferimento per connettere sistemi AI a dati e strumenti esterni. A dicembre 2025 Anthropic ha donato MCP alla Agentic AI Foundation (AAIF) sotto la Linux Foundation, con OpenAI e Block come co-fondatori e il supporto di AWS, Google, Microsoft, Cloudflare e Bloomberg. Ad oggi si contano oltre 97 milioni di download mensili degli SDK e più di 10.000 server attivi nell’ecosistema.

In questa guida vi porto passo-passo dalla teoria alla pratica: cos’è MCP, come funziona l’architettura client-server, come creare il vostro primo MCP server in Python e come collegarlo a client come Claude Desktop, VS Code e Cursor. Se avete già letto il mio articolo sull’Agentic AI e i sistemi multi-agente, capirete subito perché MCP è il tassello mancante per far funzionare davvero gli agenti autonomi.

Cos’è il Model Context Protocol (MCP) e Perché è Importante

In parole semplici, il Model Context Protocol è uno standard aperto che definisce come i modelli AI (LLM) comunicano con fonti dati esterne e strumenti. Pensatelo come una porta USB-C per l’intelligenza artificiale: così come USB-C ha standardizzato la connettività tra dispositivi, MCP standardizza il modo in cui gli LLM accedono a file, database, API e servizi.

Prima di MCP, ogni integrazione AI richiedeva connettori personalizzati per ogni combinazione modello-servizio, creando quello che Anthropic ha descritto come un problema di integrazione “N×M”. Con MCP si costruisce un solo connettore riutilizzabile che funziona trasversalmente su modelli ed ecosistemi diversi.

Il protocollo si basa su JSON-RPC 2.0 e riprende il flusso di messaggi del Language Server Protocol (LSP), già familiare a chi lavora con IDE e editor di codice. Un MCP server espone tre tipi principali di capacità:

  • Resources – Dati in sola lettura che i client possono consultare (risposte API, contenuti di file, log di sistema)
  • Tools – Funzioni che l’LLM può invocare (con approvazione dell’utente) per eseguire azioni concrete
  • Prompts – Template predefiniti che guidano l’utente nel completamento di task specifici

La differenza con approcci come il RAG (Retrieval-Augmented Generation) è sostanziale: RAG è un approccio monodirezionale che recupera informazioni e le inietta nel modello. MCP è un protocollo bidirezionale che permette agli agenti AI di interagire attivamente con i sistemi esterni, attivare azioni e modificare dati. I sistemi AI più sofisticati usano entrambi: MCP per l’orchestrazione, RAG per l’arricchimento della conoscenza.

L’Architettura MCP: Host, Client e Server

Per capire come configurare MCP sul vostro server, dovete conoscere i tre componenti dell’architettura:

  • Host – L’applicazione con cui interagite (Claude Desktop, Cursor, VS Code, ChatGPT). È l’interfaccia utente.
  • Client – Il componente software integrato nell’host che parla il protocollo MCP e inoltra le richieste ai server. Spesso host e client coincidono.
  • Server – Il programma che espone dati e funzionalità agli LLM. È qui che definite i vostri tool, le risorse e i prompt.

La comunicazione può avvenire tramite due modalità di trasporto principali:

  • STDIO (Standard Input/Output) – Il server gira in locale e comunica tramite stdin/stdout. Ideale per sviluppo e test.
  • Streamable HTTP / SSE (Server-Sent Events) – Il server è raggiungibile via rete tramite HTTP. Perfetto per deployment in produzione e server remoti.

Come Creo il Mio Primo MCP Server in Python: Setup Step-by-Step

Vi mostro come ho configurato il mio primo MCP server funzionante. Useremo il Python SDK ufficiale con FastMCP, il framework che semplifica enormemente la creazione di server MCP. Nella mia esperienza, è il modo più rapido per partire.

Prerequisiti

  • Python 3.10+ installato sul server
  • uv come package manager (molto più veloce di pip)
  • Un terminale Linux/macOS (o PowerShell su Windows)

Step 1: Creare il progetto e installare le dipendenze

Aprite il terminale e create un nuovo progetto:

# Installa uv se non lo hai ancora
curl -LsSf https://astral.sh/uv/install.sh | sh

# Crea il progetto
uv init mio-mcp-server
cd mio-mcp-server

# Crea e attiva l'ambiente virtuale
uv venv
source .venv/bin/activate

# Installa l'SDK MCP con il CLI
uv add "mcp[cli]" httpx

Step 2: Creare il file del server

Create un file server.py con il seguente contenuto. In questo esempio creo un server MCP che espone un tool per controllare lo stato dei servizi di un server Linux — uno scenario che mi capita quotidianamente:

import subprocess
from mcp.server.fastmcp import FastMCP

# Inizializza il server MCP
mcp = FastMCP("ServerAdmin")

# Tool: controlla lo stato di un servizio systemd
@mcp.tool()
def check_service_status(service_name: str) -> str:
    """Controlla lo stato di un servizio systemd sul server."""
    try:
        result = subprocess.run(
            ["systemctl", "is-active", service_name],
            capture_output=True, text=True, timeout=10
        )
        status = result.stdout.strip()
        return f"Il servizio {service_name} è: {status}"
    except Exception as e:
        return f"Errore nel controllo di {service_name}: {str(e)}"

# Tool: mostra l'utilizzo disco
@mcp.tool()
def disk_usage() -> str:
    """Mostra l'utilizzo dello spazio disco del server."""
    result = subprocess.run(
        ["df", "-h", "--total"],
        capture_output=True, text=True
    )
    return result.stdout

# Resource: espone le info di sistema
@mcp.resource("system://info")
def system_info() -> str:
    """Informazioni di base sul sistema operativo."""
    result = subprocess.run(
        ["uname", "-a"],
        capture_output=True, text=True
    )
    return result.stdout.strip()

# Avvia il server
if __name__ == "__main__":
    mcp.run(transport="stdio")

All’inizio non funzionava perché avevo dimenticato di impostare il timeout sulla chiamata a systemctl — su un servizio bloccato il server restava appeso. Aggiungere il parametro timeout=10 ha risolto il problema.

Step 3: Testare con MCP Inspector

Prima di collegare il server a un client AI, testatelo con l’MCP Inspector, un tool GUI che permette di verificare che tutto funzioni:

# Avvia l'inspector
npx @modelcontextprotocol/inspector uv run server.py

Si aprirà un’interfaccia web su localhost dove potrete vedere i tool registrati, invocarli con input di test e verificare gli output. È uno strumento che uso sempre prima del deployment.

Come Collego il Server MCP ai Client AI

Una volta creato il server, il passo successivo è collegarlo ai client. Vi mostro come farlo con i tre client più diffusi.

Configurazione per Claude Desktop

Claude Desktop cerca la configurazione dei server MCP in un file JSON. Su macOS il percorso è ~/Library/Application Support/Claude/claude_desktop_config.json, su Windows cercate nella cartella AppData:

{
  "mcpServers": {
    "server-admin": {
      "command": "/percorso/al/progetto/.venv/bin/python",
      "args": ["/percorso/al/progetto/server.py"]
    }
  }
}

Dopo aver salvato il file, riavviate completamente Claude Desktop (su macOS Cmd+Q, non basta chiudere la finestra). Se tutto è configurato correttamente, vedrete le icone dei tool disponibili nella chat.

Configurazione per VS Code / Copilot

In VS Code potete aggiungere server MCP attraverso il file mcp.json nella cartella .vscode del workspace oppure a livello globale nel profilo utente:

{
  "servers": {
    "server-admin": {
      "command": "uv",
      "args": ["run", "/percorso/al/progetto/server.py"]
    }
  }
}

VS Code rileva automaticamente i tool del server e li rende disponibili nella chat di Copilot. Chi ha letto la mia guida sui modelli AI open source con Ollama apprezzerà la possibilità di collegare MCP anche a modelli locali.

Configurazione per Cursor

In Cursor, aprite le impostazioni MCP e aggiungete un nuovo server globale con la stessa struttura JSON. Il processo è praticamente identico a Claude Desktop.

Deploy in Produzione: Server MCP Remoto con HTTP

Per un ambiente di produzione, il trasporto STDIO non basta. Ho configurato i miei server MCP con trasporto Streamable HTTP per renderli accessibili da remoto. Ecco come modificare il server:

# Cambiare l'ultima riga del server.py
if __name__ == "__main__":
    mcp.run(transport="streamable-http", host="0.0.0.0", port=8000)

A questo punto il server risponde su http://vostro-ip:8000/mcp. Per la produzione, vi consiglio di:

  • Mettere il server MCP dietro un reverse proxy Nginx con SSL — come descritto nella mia guida al reverse proxy Nginx
  • Proteggere l’endpoint con API key o OAuth 2.1
  • Configurare Fail2Ban per proteggere da tentativi di accesso non autorizzati
  • Monitorare le risorse con Grafana e Prometheus

Con Docker, il deploy diventa ancora più semplice. Create un Dockerfile:

FROM python:3.12-slim
WORKDIR /app
COPY . .
RUN pip install "mcp[cli]" httpx
EXPOSE 8000
CMD ["python", "server.py"]

Sicurezza MCP: Cosa Ho Imparato sul Campo

La sicurezza è un aspetto critico di MCP che non potete trascurare. Nella specifica di novembre 2025 sono state introdotte importanti migliorie, ma restano punti di attenzione:

  • Autenticazione – I server MCP sono ora classificati come OAuth Resource Servers. In produzione usate sempre autenticazione con token.
  • Resource Indicators (RFC 8707) – Obbligatori per impedire a server malevoli di ottenere token di accesso non autorizzati.
  • Permessi granulari – Definite con precisione cosa ogni tool può fare. Non esponete comandi di sistema senza sandboxing.
  • Logging e audit – Ogni interazione MCP può e deve essere loggata. Un requisito fondamentale anche per la conformità alla direttiva NIS2.

Ho commesso l’errore di esporre inizialmente un tool che eseguiva comandi shell arbitrari. Non fatelo mai: limitate ogni tool a una funzione specifica e validate sempre gli input.

Chi Sta Adottando MCP nel 2026

L’ecosistema MCP è esploso. A febbraio 2026 il protocollo è supportato nativamente da Claude, ChatGPT, Gemini, Microsoft Copilot, Cursor e VS Code. Google ha lanciato server MCP gestiti per Maps, BigQuery, Compute Engine e Kubernetes Engine. Salesforce ha integrato MCP nella piattaforma Agentforce 3. Aziende come Outreach e Supermetrics hanno rilasciato i propri MCP server nelle ultime settimane.

Il W3C ha in programma per aprile 2026 le discussioni formali su “MCP-Identity”, un’iniziativa per standardizzare come gli agenti AI si autenticano sul web — una sorta di passaporto digitale per gli agenti.

Per chi segue le novità AI di fine febbraio 2026, MCP è diventato il collante che tiene insieme l’intero ecosistema degli agenti autonomi.

FAQ

MCP funziona solo con Claude o anche con altri modelli AI?

MCP è uno standard aperto e model-agnostic. Funziona con Claude, ChatGPT, Gemini, Copilot, e qualsiasi client che implementi il protocollo. Potete usarlo anche con modelli locali tramite Ollama, come spiego nella mia guida a Ollama.

Qual è la differenza tra MCP e RAG?

RAG è un approccio monodirezionale che recupera informazioni e le inserisce nel contesto del modello. MCP è un protocollo bidirezionale che permette all’AI di interagire attivamente con sistemi esterni, eseguire azioni e modificare dati. I sistemi avanzati usano entrambi insieme.

Posso creare un MCP server senza saper programmare?

Serve una conoscenza base di Python o JavaScript. Tuttavia, grazie ai template dell’SDK ufficiale e a strumenti come FastMCP, la curva di apprendimento è molto ridotta. Un server di base si crea in meno di 50 righe di codice.

MCP è sicuro per ambienti di produzione?

La specifica di novembre 2025 ha introdotto autorizzazione OAuth 2.1, esecuzione asincrona e governance enterprise. Per la produzione è fondamentale configurare autenticazione, SSL, logging e permessi granulari. Non esponete mai server MCP senza protezioni adeguate.

Dove trovo server MCP già pronti da usare?

Il registro ufficiale su modelcontextprotocol.io contiene centinaia di server pre-costruiti per servizi come GitHub, Slack, Google Drive, Postgres, AWS e molti altri. In VS Code potete cercarli direttamente dalla galleria delle estensioni con il filtro @mcp.

Conclusione

Il Model Context Protocol ha cambiato il modo in cui penso all’integrazione tra AI e infrastruttura server. Da standard interno di Anthropic a protocollo governato dalla Linux Foundation con il supporto di tutti i big player, MCP è diventato l'”USB-C dell’intelligenza artificiale” in appena un anno.

Se gestite server, sviluppate applicazioni o lavorate con l’AI, il mio consiglio è iniziare subito: create un server MCP di prova con il Python SDK, testatelo con l’Inspector, e collegatelo al vostro client preferito. Il protocollo è maturo abbastanza per la produzione, ma abbastanza semplice per iniziare in un pomeriggio.

Avete già configurato un server MCP? Quali tool avete creato? Raccontatemi la vostra esperienza nei commenti — sono curioso di sapere come lo state usando nel vostro workflow quotidiano.

Share: