Model Context Protocol

Sviluppo di server MCP

Il livello che permette a un agente AI di usare i tuoi sistemi in modo controllato: pochi tool chiari, permessi per ruolo, input validati e ogni chiamata registrata.

Un agente AI diventa utile quando può leggere i dati giusti e compiere le azioni giuste nei sistemi dell'azienda. Il Model Context Protocol (MCP) è lo standard aperto che definisce come un agente scopre e usa strumenti e risorse. shardana.ai sviluppa server MCP su misura che espongono ai client compatibili solo ciò che deve essere esposto, con permessi, validazioni e log.

Il server MCP è spesso la parte meno visibile di un progetto AI, ma è quella che decide quanto l'agente può essere affidabile e sicuro.

Che cos'è un server MCP?

Un server MCP è un componente software che espone a un agente AI strumenti e risorse secondo il Model Context Protocol. Gli strumenti, chiamati tool, sono azioni che l'agente può richiedere, come cercare un ordine o creare un ticket. Le risorse sono contenuti che può leggere, come documenti o schede cliente. Il protocollo descrive in modo uniforme che cosa esiste, quali parametri servono e che cosa viene restituito, così lo stesso server può essere usato da client diversi senza integrazioni ripetute. Il server resta sotto il tuo controllo: decide quali tool pubblicare, chi può chiamarli e come registrare l'uso. In pratica è il livello di confine tra il modello linguistico e i sistemi reali, e per questo la sua progettazione conta quanto quella dell'agente. Un server ben fatto è piccolo, documentato, testabile e pensato per fermare l'agente quando serve.

Quando serve un server MCP e quando basta una API?

Serve un server MCP quando un agente AI deve lavorare con sistemi reali e vuoi un unico punto in cui definire permessi, validazioni e log, riusabile da più agenti e client. Se hai un solo assistente e una sola integrazione, una chiamata diretta alle API del sistema può bastare e costa meno. L'MCP conviene quando gli strumenti sono molti, quando gli agenti possono cambiare nel tempo o quando vuoi che chi governa il sistema, non chi scrive il prompt, decida che cosa l'agente può fare. Rispetto a un plugin legato a un solo prodotto, un server MCP non vincola a un fornitore. Rispetto a una API grezza, aggiunge descrizioni leggibili dal modello e una superficie volutamente ristretta. La tabella riassume le differenze, e nel primo confronto verifichiamo quale strada ha senso per il tuo caso.

CriterioAPI direttaPlugin di prodottoServer MCP
Chi lo usaIl tuo codiceUn solo assistente o prodottoQualsiasi client compatibile con MCP
Descrizione per il modelloDa scrivere nel promptDefinita dal fornitoreInclusa nel server, per ogni tool
Permessi e logDa costruire caso per casoDipendono dal fornitoreCentralizzati nel server
Riuso con più agentiBassoNessunoAlto
Quando convieneUn'integrazione, un agenteProdotto già adottatoPiù strumenti, più agenti, governance

Come funziona un server MCP tra agente e sistemi aziendali?

Il server MCP si colloca tra l'agente e i sistemi aziendali e traduce le richieste del modello in operazioni controllate. Quando l'agente si collega, il server gli presenta l'elenco dei tool disponibili, con nome, descrizione e parametri. Se l'agente decide di usarne uno, invia la richiesta al server, che verifica l'identità e i permessi, controlla che i parametri rispettino lo schema, esegue l'operazione sul sistema di destinazione e restituisce il risultato. Ogni passaggio può essere registrato. L'agente non conosce credenziali, indirizzi interni o strutture dei database: vede solo ciò che il server decide di esporre. Per questo conviene progettare tool piccoli e con un compito preciso, invece di un unico strumento che fa tutto. Se un tool è sbagliato o troppo ampio, si corregge nel server senza toccare l'agente, e il diagramma mostra dove si colloca questo livello.

Agente AIServer MCPpermessi · validazioni · logCRMGestionaleDocumenti
Il server MCP sta tra l'agente e i sistemi aziendali: l'agente vede solo i tool esposti.

Come si presenta un tool MCP, in concreto?

Un tool MCP è una funzione con un nome, una descrizione e uno schema degli input, che il server esegue dopo aver controllato i permessi. L'esempio mostra un server TypeScript con un solo strumento in sola lettura che restituisce lo stato di un ordine. Il parametro viene validato prima di toccare il gestionale: un numero d'ordine fuori formato non arriva mai al sistema. Il tool controlla lo scope dell'utente, interroga il gestionale e scrive un record di audit con lo strumento chiamato, il parametro e il client. Se mancano i permessi risponde con un errore chiaro invece di tentare. È codice illustrativo, non un progetto di un cliente, ma riflette il modo in cui impostiamo ogni tool: input stretti, azioni minime, esito prevedibile e traccia di ciò che è accaduto. Le azioni in scrittura seguono lo stesso schema e, quando serve, aggiungono un passaggio di approvazione umana.

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";

const server = new McpServer({ name: "gestionale-ordini", version: "1.0.0" });

// Esempio illustrativo: un solo tool, in sola lettura, con input validato.
server.tool(
  "stato_ordine",
  "Restituisce stato e data di consegna prevista di un ordine",
  { numeroOrdine: z.string().regex(/^ORD-\d{6}$/) },
  async ({ numeroOrdine }, { authInfo }) => {
    if (!authInfo?.scopes.includes("ordini:read")) {
      return { isError: true, content: [{ type: "text", text: "Permesso negato" }] };
    }
    const ordine = await gestionale.trovaOrdine(numeroOrdine);
    audit.log({ tool: "stato_ordine", numeroOrdine, utente: authInfo.clientId });
    return { content: [{ type: "text", text: JSON.stringify(ordine) }] };
  },
);

Esempio illustrativo di un server MCP con un tool in sola lettura, permessi e audit.

Come rendiamo sicuro un server MCP?

La sicurezza di un server MCP si costruisce su pochi principi applicati con rigore. Il primo è il privilegio minimo: ogni tool riceve soltanto i permessi necessari, e gli strumenti in lettura sono separati da quelli in scrittura. Il secondo è la validazione: ogni parametro viene controllato per tipo, formato e intervallo prima di raggiungere un sistema. Il terzo è l'identità: le chiamate sono associate a un utente o a un client, con credenziali gestite dal server e mai esposte al modello. Poi vengono i limiti di frequenza, il tracciamento di ogni richiesta e le soglie oltre le quali un'azione richiede l'approvazione di una persona, per esempio pagamenti, cancellazioni o invii ai clienti. Va considerato anche che il contenuto letto dall'agente può contenere istruzioni ostili: per questo i dati e le azioni restano separati e le azioni sensibili non dipendono mai dal solo testo ricevuto. Nessuna misura è sufficiente da sola, quindi le applichiamo insieme.

Quanto costa e quanto tempo richiede un server MCP?

Costo e durata dipendono da quanti sistemi vuoi collegare e da quali azioni l'agente deve poter compiere. Un server con pochi tool in sola lettura su una API già documentata richiede molto meno lavoro di uno che scrive su un gestionale privo di API, con approvazioni e requisiti di privacy. Pesano anche la qualità della documentazione dei sistemi, il modello di autenticazione e il numero di client da supportare. Dopo lo sviluppo restano costi ricorrenti contenuti, come hosting, monitoraggio e aggiornamento dei tool quando cambiano i sistemi collegati. Per questo non pubblichiamo un listino unico: dopo il primo confronto ricevi una proposta scritta con fasi, deliverable e costi. Partire da un primo server con due o tre tool è spesso il modo più rapido per misurare il valore prima di estendere il perimetro. Le durate in tabella sono indicative e vengono confermate dopo l'analisi.

FaseChe cosa succedeDurata indicativa
Primo confrontoSistemi, dati e azioni che l'agente deve poter usareUn incontro
Analisi e perimetroElenco dei tool, permessi, rischi, criteri di successoCirca una settimana
Primo serverDue o tre tool su un caso reale, con test e log1-3 settimane
Estensione e integrazioneAltri tool, autenticazione, approvazioni, documentazione2-4 settimane
Rilascio e manutenzioneProduzione, monitoraggio, aggiornamento dei toolContinuativo

Con quale esperienza sviluppiamo server MCP?

Il founder, Maurizio Brioschi, ha più di 25 anni di esperienza nell'ingegneria del software, nello sviluppo backend e nell'architettura di sistemi. Nel lavoro sui server MCP questa base conta, perché un server è soprattutto un'API ben progettata: contratti chiari, autenticazione, gestione degli errori, test e osservabilità. Lo stack di riferimento comprende PHP, Laravel, MySQL, Node.js e TypeScript, con integrazioni basate su API. Sul lato AI lo studio lavora su modelli linguistici, RAG, workflow agentici e server MCP. Non pubblichiamo casi cliente che non possiamo documentare: nel primo confronto entriamo nel merito delle scelte tecniche per i tuoi sistemi, partendo dalle API disponibili, dai punti in cui servono permessi più stretti e dalle azioni che è meglio lasciare all'approvazione di una persona, e quando un progetto avrà il consenso del cliente lo racconteremo con tempi, stack e metriche verificabili.

Domande frequenti

Che cos'è un server MCP?
È un componente che espone strumenti e risorse a client o agenti AI compatibili con il Model Context Protocol, permettendo loro di leggere contesto o svolgere azioni controllate.
Quando conviene sviluppare un server MCP?
Quando un agente AI deve lavorare con sistemi reali, API, dati o procedure aziendali e serve un livello ordinato di permessi, log e manutenzione, riusabile da più agenti.
Un server MCP funziona solo con un modello specifico?
No. MCP è un protocollo aperto: lo stesso server può essere usato da qualsiasi client compatibile, indipendentemente dal modello linguistico che c'è dietro.
L'agente può modificare i dati dei miei sistemi?
Solo se il server espone tool di scrittura. Le azioni vengono limitate per ruolo e, quando toccano dati sensibili, possono richiedere l'approvazione di una persona.
È utile anche per aziende non tecniche?
Sì, se l'azienda usa software e dati che devono essere collegati a un assistente AI. La complessità resta nel server, mentre l'esperienza per chi lo usa può rimanere semplice.
Quanto costa un server MCP?
Dipende dai sistemi da collegare, dalle azioni consentite e dai requisiti di sicurezza. Dopo il primo confronto ricevi una proposta scritta con fasi, deliverable e costi.

Servizi correlati

Raccontaci i sistemi da collegare

Descrivi gli strumenti che usi, i dati a cui l'agente dovrebbe accedere e le azioni che potrebbe compiere. Ti rispondiamo con una prima valutazione e, se ha senso, con una proposta per un primo server su un caso concreto.