★ DISPONIBILE PER FORMAZIONE E PROGETTI
enrico chiolo

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

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.

Footnotes

  1. MCP docs, Architecture overview, 2026. 2 3

  2. Towards Data Science, Build Your First MCP Server in 6 Steps, 2025. 2

  3. Callstack, How I Used MCP to Control My Friend’s Home, 2025.

  4. ByteByteGo, MCP vs A2A vs ACP, 2026.