Server MCP
Il programma che nell'architettura del Model Context Protocol espone a un'applicazione AI l'accesso a un sistema esterno tramite tool, resource e prompt.
Il server MCP è il programma che, nell’architettura del Model Context Protocol, rende disponibile a un’applicazione AI l’accesso a un sistema esterno: database, API, file locali o dispositivi. È la parte che espone tool, resource e prompt in forma standardizzata, così che qualunque client sappia come interrogarlo. Dove gira la definizione dello strumento è separato da dove lo strumento viene consumato: questo permette a ogni agente di parlare con qualunque sistema che offra un server MCP.1
I tre primitivi
Il server espone tre tipi di componente, allineati alle tre strategie classiche di personalizzazione dei modelli linguistici:
- i tool sono funzioni eseguibili che l’applicazione invoca per compiere azioni, come operazioni su file, chiamate API o query a un database, e sono la base dei sistemi agentici;
- le resource sono sorgenti di contesto che arricchiscono la conoscenza del modello, come contenuti di file o record di database, e sono la base dei sistemi di retrieval;
- i prompt sono modelli di interazione riutilizzabili, per esempio system prompt o esempi few-shot.
Ogni primitivo ha metodi di discovery (*/list), di recupero (*/get) e, per i tool, di esecuzione (tools/call). Un esempio classico è un server che offre contesto su un database: espone i tool per interrogarlo, la resource con lo schema e un prompt con esempi di interazione.1
Come si costruisce
Con FastMCP, il framework Python dell’SDK ufficiale, i tre primitivi si dichiarano con i decoratori @mcp.tool(), @mcp.resource() e @mcp.prompt(). I type hint e i docstring generano automaticamente la definizione dello strumento: la qualità della descrizione cambia il comportamento del modello, che senza docstring non capisce quando usare il tool.2
La stessa struttura esiste nell’SDK TypeScript, dove server.tool(name, description, schema) definisce nome, descrizione e schema dei parametri, spesso validati con zod. Un server locale si avvia con mcp.run(transport='stdio'); in produzione si usa il trasporto streamable HTTP.23
Locale e remoto
Il termine «server» indica il programma che serve contesto, ovunque giri. I server locali usano il trasporto stdio e servono tipicamente un solo client; i server remoti usano Streamable HTTP e servono molti client. La scelta ha implicazioni di sicurezza: un server locale esegue comandi del sistema operativo nell’host dell’utente, mentre un server remoto è eseguito da una terza parte che ha comunque accesso ai suoi dati.14
Voci correlate
- Model Context Protocol — il protocollo di cui il server è componente
- Client MCP — il suo interlocutore
- Host MCP — l’applicazione che coordina i client
- Primitive MCP — tool, resource e prompt che il server espone
- Trasporto MCP — stdio e Streamable HTTP
- Ecosistema MCP — gli SDK e FastMCP con cui si costruisce
- Sicurezza di MCP — i rischi dell’esposizione di codice eseguibile
- Portale: MCP
Bibliografia e sitografia
- Model Context Protocol docs, Architecture overview, spec 2026-07-28. modelcontextprotocol.io
- Towards Data Science, Build Your First MCP Server in 6 Steps, 11 giugno 2025. towardsdatascience.com
- Callstack, How I Used MCP to Control My Friend’s Home, 4 giugno 2025. callstack.com
- MCP Blog, One Year of MCP — November 2025 Spec Release, 25 novembre 2025. blog.modelcontextprotocol.io
- ByteByteGo, MCP vs A2A vs ACP: How AI Agents Actually Talk to Each Other, 18 luglio 2026.