Spiegazione del Model Context Protocol
Smetti di scrivere lo stesso codice di integrazione ripetutamente.
Se colleghi un LLM a un database o a un'API, spesso devi scrivere codice di collegamento (glue code) personalizzato per ogni nuovo modello. Questo crea confusione. Ti ritroverai a gestire numerose connessioni per molti strumenti.
Il Model Context Protocol (MCP) risolve questo problema. Funziona come una porta USB-C per l'IA. Costruisci uno strumento una sola volta e qualsiasi modello può utilizzarlo.
L'architettura è composta da tre parti:
• Host: L'app che utilizzi, come Claude Code o un IDE. • Client: Il connettore all'interno dell'host. • Server: Il programma che costruisci per esporre dati o strumenti.
Puoi costruire un server MCP utilizzando tre primitive principali:
- Tools: Funzioni che il modello chiama per eseguire un compito, come inviare un'email.
- Resources: Dati in sola lettura che l'app recupera, come un file di log.
- Prompts: Template riutilizzabili per compiti specifici.
Ecco come costruire un server di base in Python utilizzando il FastMCP SDK:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo-tools")
@mcp.tool()
def word_count(text: str) -> int:
"""Conta le parole in un testo."""
return len(text.split())
@mcp.resource("notes://team")
def team_notes() -> str:
"""Espone le note del team."""
return "Il blocco delle release inizia venerdì."
@mcp.prompt()
def code_review(language: str, code: str) -> str:
"""Template per la revisione del codice."""
return f"Revisiona questo codice {language}: {code}"
if __name__ == "__main__":
mcp.run()
Questo codice gestisce la comunicazione complessa per te. Le tue docstring diventano le istruzioni per il modello.
Tre consigli per la produzione:
- Sicurezza: Richiedi sempre l'approvazione dell'utente prima di eseguire uno strumento che modifica i dati.
- Contesto: Mantieni le descrizioni degli strumenti brevi. Le descrizioni lunghe sprecano token.
- Errori: Restituisci messaggi chiari. Un modello può correggere un errore "User not found", ma non può correggere un crash del codice.
Smetti di costruire connettori su misura. Costruisci un server MCP una sola volta e lascia che ogni modello lo utilizzi.
Fonte: https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian