MCP per i produttori: guida pratica

Pubblicato il 2026-08-0911 min di letturaMCP · Model Context Protocol · OAuth · Streamable HTTP

In breve

Che cos'è MCP e che cosa deve esporre il server MCP di un produttore?

MCP (il Model Context Protocol) è uno standard aperto che consente a un assistente IA di chiamare direttamente i vostri sistemi invece di dedurre le risposte dalle vostre pagine web. Il server MCP di un produttore è un endpoint HTTP ospitato che espone un piccolo insieme di strumenti tipizzati — ricerca parametrica, consultazione del singolo codice articolo, alternative e riferimenti incrociati, documenti di conformità, link ai modelli CAD e disponibilità e prezzi protetti da OAuth — che qualsiasi assistente compatibile può invocare per ottenere una risposta esatta e verificabile. Con l'attuale specifica 2026-07-28 si tratta di un servizio richiesta/risposta stateless, che gira dietro un normale load balancer. Il protocollo è la parte facile; la parte difficile è avere alle spalle un unico record di prodotto canonico e verificato.

Che cos'è MCP, in parole semplici?

Il Model Context Protocol è un modo standard con cui un assistente IA chiama il sistema di qualcun altro e ne riceve una risposta tipizzata e strutturata.

Anthropic lo ha rilasciato in open source il 25 novembre 2024, descrivendolo come "un nuovo standard per collegare gli assistenti IA ai sistemi in cui risiedono i dati". Il 9 dicembre 2025 Anthropic ha donato MCP alla Agentic AI Foundation, un fondo dedicato della Linux Foundation cofondato con Block e OpenAI e sostenuto a livello platinum da AWS, Bloomberg, Cloudflare, Google e Microsoft. A quella data MCP aveva superato i 97 milioni di download mensili degli SDK e i 10.000 server pubblicati, con supporto client di primo livello in ChatGPT, Claude, Cursor, Gemini, Microsoft Copilot e VS Code.

Same question, two mechanisms. The second is the one every major assistant already speaks, and the one no industrial catalogue in our cohort has built.

Per un decisore non tecnico, la distinzione che conta è questa. Quando un assistente legge il vostro sito web sta interpretando un documento: può fraintendere una tabella, saltare una nota a piè di pagina o confondere due varianti. Quando un assistente chiama il vostro server MCP sta interrogando un sistema: chiede il componente, riceve i campi e li riporta. La prima modalità produce risposte plausibili. La seconda produce risposte corrette — a patto che siano corretti i dati che stanno dietro, ed è lì che si concentra la maggior parte del lavoro vero.

Chi ne ha già rilasciato uno in questo settore?

Non è più uno scenario ipotetico, e gli esempi sono utilmente eterogenei:

  • Microchip Technology ha lanciato un server MCP pubblico e gratuito il 6 novembre 2025, che espone specifiche di prodotto verificate, schede tecniche, giacenze, prezzi e tempi di consegna tramite MCP Streamable HTTP, con risposte codificate in JSON pensate per copilot, chatbot e agenti aziendali.
  • Siemens gestisce un server pubblico su mcp.siemens.com, i cui plugin documentati — asset, developer portal, ricerca e contenuti web — sono disponibili senza autenticazione.
  • Zoovu ha lanciato un server MCP l'11 dicembre 2025 che dà agli agenti un accesso governato ai dati di prodotto, posizionato sull'accuratezza nelle domande di compatibilità e di applicazione.
  • ECIA ha lanciato l'Inventory AI Agent Service di TrustedParts.com l'11 giugno 2026, rendendo disponibili le giacenze autorizzate di componenti elettronici dentro Microsoft Copilot, ChatGPT e Claude.
  • Shopify espone un server MCP Storefront sugli store all'indirizzo https://{shop}.myshopify.com/api/mcp, con strumenti fra cui search_catalog, lookup_catalog e get_product, e senza autenticazione richiesta per il livello storefront.

Vale la pena notare due costanti. Ognuno di questi server poggia su un archivio dati autorevole già esistente. E ognuno traccia una linea netta fra i dati pubblici di catalogo e tutto ciò che è commercialmente sensibile.

Strumenti o risorse: che cosa deve usare un server di componenti?

La specifica è esplicita sulla differenza, e sbagliarla produce un server che i modelli usano male.

Gli strumenti sono controllati dal modello. La specifica afferma che gli strumenti "sono progettati per essere model-controlled, il che significa che il modello linguistico può scoprirli e invocarli automaticamente in base alla propria comprensione del contesto e ai prompt dell'utente". La scoperta avviene con tools/list, l'invocazione con tools/call. Ogni strumento porta con sé un inputSchema (JSON Schema 2020-12 per impostazione predefinita), un outputSchema facoltativo, e restituisce structuredContent conforme a quello schema.

Le risorse sono guidate dall'applicazione. La specifica afferma che le risorse "sono progettate per essere application-driven, con le applicazioni host che decidono come incorporare il contesto in base alle proprie esigenze" — tipicamente un selettore, un elenco o l'inclusione automatica da parte dell'host. Ogni risorsa è identificata da un URI e i template consentono URI parametrizzati.

Un catalogo è uno spazio di query, non un insieme fisso di documenti. Nessuno vuole scorrere un selettore di risorse che contiene 40.000 componenti. Perciò un server di componenti deve essere fatto in larga parte di strumenti, con due accortezze: usare blocchi di contenuto resource_link per puntare a schede tecniche e file CAD invece di incorporare payload di grandi dimensioni, e riservare le risorse vere e proprie a una manciata di documenti stabili, come un dizionario di classificazione o un registro delle modifiche.

Due dettagli della specifica attuale meritano attenzione. Gli elenchi di strumenti non devono variare da connessione a connessione, ma possono variare in base all'autorizzazione presentata nella richiesta. E i server dovrebbero restituire gli strumenti in un ordine deterministico, perché un ordinamento stabile permette ai client di mettere in cache l'elenco e migliora il tasso di successo della cache dei prompt.

Che cosa è cambiato nella specifica 2026-07-28?

Questa revisione ha rimodellato il trasporto, e qualsiasi progetto scritto su materiale del 2025 sarà sbagliato in punti precisi.

ModificaPrimaDal 2026-07-28
SessioniHeader Mcp-Session-Id, assegnato dal serverRimosse; lo stato viene passato come handle espliciti generati dal server negli argomenti degli strumenti
Handshakeinitialize / notifications/initializedRimosso; versione del protocollo e capability del client viaggiano in _meta in ogni richiesta
Scoperta delle capabilityAppresa in fase di inizializzazioneNuova RPC server/discover che i server devono implementare
Richieste avviate dal serverInviate su uno stream SSEMulti Round-Trip Requests: il server restituisce resultType: "input_required", il client riprova con inputResponses
RoutingI gateway analizzavano il corpo JSONHeader Mcp-Method e Mcp-Name obbligatori sulle POST
CachingSolo notifiche listChangedttlMs e cacheScope obbligatori nei risultati di list e read
Ripresa dello streamReplay con Last-Event-IDRimossa; uno stream interrotto perde la richiesta e il client la reinvia

La forma del trasporto è ora piacevolmente noiosa. Il server espone un unico endpoint MCP che accetta POST — per esempio https://example.com/mcp. Ogni richiesta JSON-RPC è una POST a sé. I client devono inviare un header Accept che elenca sia application/json sia text/event-stream, più un header MCP-Protocol-Version che deve corrispondere al valore presente in _meta nel corpo, altrimenti il server deve rifiutare con un 400 e un errore HeaderMismatch. I server devono validare l'header Origin e rispondere 403 se è presente e non valido.

La conseguenza pratica per i team infrastrutturali: poiché non esiste una sessione a livello di protocollo, il vostro server MCP si distribuisce dietro un semplice load balancer round-robin, come qualsiasi altro servizio HTTP stateless. Roots, Sampling e Logging sono ora deprecati con una finestra minima di dodici mesi, e anche il vecchio trasporto HTTP+SSE è formalmente deprecato.

Come si proteggono prezzi e stock con OAuth?

L'autorizzazione in MCP è facoltativa, il che è esattamente ciò che serve a un server di componenti: il catalogo pubblico non dovrebbe richiedere alcun token e solo gli strumenti commercialmente sensibili dovrebbero chiedere le credenziali.

Quando la si implementa, i requisiti sono precisi. Il server MCP agisce come resource server OAuth 2.1, secondo la bozza IETF di OAuth 2.1. Deve implementare i Protected Resource Metadata (RFC 9728) e i client devono usare quei metadati per individuare l'authorization server. I client devono implementare i Resource Indicators (RFC 8707), inviando un parametro resource che identifica l'URI canonico del vostro server sia nelle richieste di autorizzazione sia in quelle di token, e il vostro server deve verificare che i token siano stati emessi per sé come audience prevista. Gli authorization server dovrebbero restituire il parametro iss secondo la RFC 9207 e i client devono validarlo. La Dynamic Client Registration è ora deprecata a favore dei Client ID Metadata Documents, pur restando disponibile per retrocompatibilità.

Lo schema che funziona per un distributore o un produttore:

  1. 01Livello non autenticato — specifiche, ricerca parametrica, alternative, documenti di conformità, link ai file CAD, prezzi di listino dove li pubblicate.
  2. 02Livello autenticato — prezzi contrattuali, disponibilità specifica per cliente, creazione di offerte. Rispondete con un 403 e error="insufficient_scope", indicando gli scope necessari perché il client possa fare lo step-up in un solo round trip anziché in diversi.
  3. 03Mai usare un identificativo cliente in un argomento di uno strumento come unico controllo di accesso. Un handle è un nome, non una capability: validate l'autorizzazione a ogni chiamata.

Che cosa deve esporre un server MCP di componenti?

Da sei a otto strumenti è l'ordine di grandezza giusto. Oltre quella soglia la selezione da parte del modello peggiora.

StrumentoScopoAutorizzazione
search_partsRicerca parametrica all'interno di una classe, con vincoli tipizzati e unità di misuraPubblico
get_partRecord canonico completo di un codice articolo, con provenienza e data di ultima verificaPubblico
find_alternatesEquivalenti funzionali, second source e riferimenti incrociati con la concorrenza, con base di equivalenza dichiarataPubblico
get_compliance_documentsRoHS, REACH, dichiarazioni di prestazione, certificati, EPD — come record con data di emissione, non semplici linkPubblico
get_cad_modelsLink a risorse 2D, 3D e BIM per formatoPubblico
get_availabilityGiacenze in tempo reale per ubicazione e tempi di consegnaProtetto
get_pricePrezzi contrattuali del cliente per quantitàProtetto

Una definizione di strumento deve apparire del tutto ordinaria, ed è proprio questo il punto:

{
  "name": "search_parts",
  "title": "Parametric part search",
  "description": "Search the catalog by product class and typed parameter constraints. Returns matching parts with their key parametrics, units and last-verified date. Use get_part for the full record.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "product_class": { "type": "string", "description": "ETIM class code or class name" },
      "constraints": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "parameter": { "type": "string" },
            "operator": { "type": "string", "enum": ["eq", "gte", "lte", "between", "in"] },
            "value": {},
            "unit": { "type": "string" }
          },
          "required": ["parameter", "operator", "value"]
        }
      },
      "limit": { "type": "integer", "default": 20 }
    },
    "required": ["product_class"],
    "additionalProperties": false
  }
}

Notate che cosa fa la descrizione: dice al modello che cosa restituisce lo strumento e quando conviene invece ricorrere a un altro strumento. Quella singola abitudine fa più per la qualità delle risposte di qualsiasi rifinitura degli schemi.

Un esempio concreto

Un ingegnere progettista di un contract manufacturer in Texas sta sostituendo un componente a fine vita in una scheda che viene fornita anche a un costruttore di quadri elettrici tedesco. L'assistente ha collegato il server MCP del produttore.

Ingegnere: Il MOSFET a canale N da 60 V del nostro stadio buck sta andando a fine vita. Mi serve un sostituto drop-in nello stesso package, con R_DS(on) non peggiore di 12 milliohm a 10 V di pilotaggio di gate, e devo sapere se è davvero disponibile.

L'assistente effettua quattro chiamate.

→ tools/call  get_part
   { "part_number": "XYZ-60N12-D2PAK" }
← structuredContent
   { "package": "D2PAK", "vds_v": 60, "rds_on_mohm": 11.5,
     "vgs_meas_v": 10, "lifecycle": "EOL", "last_verified": "2026-08-04" }

→ tools/call  find_alternates
   { "part_number": "XYZ-60N12-D2PAK", "basis": "form_fit_function" }
← structuredContent
   [ { "part_number": "XYZ-60N10-D2PAK", "equivalence": "drop-in",
       "rds_on_mohm": 9.8, "differences": ["lower R_DS(on)", "higher Qg"] },
     { "part_number": "XYZ-60N14-D2PAK", "equivalence": "footprint",
       "rds_on_mohm": 13.5, "differences": ["exceeds R_DS(on) limit"] } ]

→ tools/call  get_availability
   { "part_numbers": ["XYZ-60N10-D2PAK"] }
← 403 Forbidden
   WWW-Authenticate: Bearer error="insufficient_scope",
     scope="stock:read", resource_metadata="https://mcp.example.com/.well-known/oauth-protected-resource"

   [client performs step-up authorisation, then retries]

← structuredContent
   { "part_number": "XYZ-60N10-D2PAK",
     "stock": [ { "location": "US-TX", "qty": 14200 },
                { "location": "DE-BW", "qty": 3800 } ],
     "lead_time_weeks": 8, "as_of": "2026-08-09T06:12:00Z" }

→ tools/call  get_compliance_documents
   { "part_number": "XYZ-60N10-D2PAK", "types": ["rohs", "reach"] }
← content: [ { "type": "resource_link", "uri": "https://…/rohs-2026-03.pdf",
               "name": "RoHS declaration (issued 2026-03-11)" } ]

L'assistente risponde poi così: un candidato è un drop-in con resistenza di conduzione migliore e carica di gate più alta, da verificare rispetto al gate driver; il secondo rispetta il footprint ma non rientra nel limite di R_DS(on); a stamattina la disponibilità è di 14.200 pezzi in Texas e 3.800 nel Baden-Württemberg, con otto settimane di lead time; le dichiarazioni RoHS e REACH sono allegate con le rispettive date di emissione.

Nulla di tutto questo è notevole sul piano ingegneristico. Lo è sul piano commerciale. Tre decisioni di approvvigionamento sono state prese senza che una persona aprisse un browser, e ogni dato è tracciabile fino a un record con marca temporale.

Chi può davvero raggiungere il vostro server oggi?

Siate onesti su questo punto con il vostro consiglio di amministrazione, perché la risposta è più circoscritta di quanto lasci intendere gran parte del materiale dei fornitori.

ClientPuò raggiungere un server MCP personalizzato?Condizioni
ClaudeConnettori remoti personalizzati su Free, Pro, Max, Team ed Enterprise; gli utenti free ne hanno diritto a uno solo; il server deve essere raggiungibile dalla rete internet pubblica a partire dagli intervalli IP di Anthropic
ChatGPTIn parteServer MCP personalizzati tramite developer mode; i connettori con capacità di scrittura sono limitati a Business, Enterprise ed Edu, mentre Plus e Pro sono in sola lettura. Le app in ChatGPT sono costruite su MCP e passano attraverso la revisione della directory
GeminiSolo enterpriseServer MCP personalizzati registrati da un amministratore come data store in Gemini Enterprise; solo trasporto Streamable HTTP
Microsoft CopilotSì, nelle configurazioni enterpriseConnettori registrati dall'amministratore
Agenti IDE e CLILo sviluppatore configura direttamente l'endpoint: il percorso a minor attrito per un pubblico di ingegneri
Gli agenti dei vostri clientiI team acquisti e progettazione utilizzano sempre più spesso agenti interni: nella pratica è il chiamante che cresce più rapidamente

MCP raggiunge quindi gli ingegneri che si configurano un assistente e i buyer aziendali il cui reparto IT registra il vostro server. È una popolazione piccola secondo gli standard del web e molto grande secondo gli standard della pipeline commerciale.

Come fanno gli agenti a scoprire il vostro server?

Non esiste discovery a livello di DNS. I meccanismi sono tre:

  1. 01Il registry ufficiale MCP su registry.modelcontextprotocol.io, il repository centralizzato di metadati per i server accessibili pubblicamente, sostenuto da Anthropic, GitHub, Microsoft e PulseMCP. È open source, supporta i sub-registry e resta in preview prima della disponibilità generale: aspettatevi quindi dei cambiamenti.
  2. 02Le directory lato client, come la directory dei connettori di Claude e la directory delle app di ChatGPT, ciascuna con il proprio processo di revisione.
  3. 03La vostra documentazione. Oggi è così che nasce la maggior parte dei collegamenti: una pagina per sviluppatori indica l'URL dell'endpoint, l'elenco degli strumenti e gli scope di autorizzazione, e un cliente lo incolla nel proprio client.

Pubblicate il documento .well-known/oauth-protected-resource anche se la maggior parte degli strumenti è pubblica, e versionate il percorso dell'endpoint. La superficie dei vostri strumenti cambierà, ed è meglio che quel cambiamento sia una migrazione deliberata e non una rottura silenziosa.

Una checklist di implementazione

  1. 01Riconducete tutto a un unico record canonico per componente, con attributi tipizzati, unità di misura, provenienza e un timestamp di ultima verifica. Non partite dal protocollo.
  2. 02Scegliete da sei a otto strumenti e scrivete descrizioni che dicano quando non usare ciascuno di essi.
  3. 03Dichiarate gli schemi di output e restituite structuredContent. Includete unità di misura e date di verifica in ogni payload.
  4. 04Servite un unico endpoint POST, con gli header Mcp-Method e Mcp-Name rispettati, Origin validato e ttlMs e cacheScope impostati nei risultati di list.
  5. 05Separate gli strumenti pubblici da quelli protetti, implementate i metadati RFC 9728, verificate l'audience dei token secondo la RFC 8707 e usate le sfide sugli scope per fare lo step-up in un solo round trip.
  6. 06Restituite un ordinamento deterministico degli strumenti e nomi stabili, così che le cache dei client funzionino.
  7. 07Registrate ogni chiamata — strumento, argomenti, latenza e se la ricerca ha prodotto un risultato. Un server MCP senza analytics è un canale che non potete governare.
  8. 08Monitorate l'accuratezza rispetto ai dati di riferimento, in modo continuo. Uno strumento che restituisce con sicurezza un valore nominale obsoleto è peggio di nessuno strumento.

Partsgraph offre tutto questo come livello gestito: risolviamo il vostro catalogo esistente in un unico Parts Graph verificato, ospitiamo l'endpoint MCP con OAuth sui livelli protetti e vi riportiamo quali agenti hanno chiamato che cosa e dove le risposte erano sbagliate.

Se volete sapere a che punto siete prima di scrivere una riga di codice, analizzate il vostro dominio con il grader gratuito su /audit: verifica che cosa le macchine riescono oggi a raggiungere nel vostro catalogo e se un endpoint MCP avrebbe qualcosa di affidabile da servire.

Domande frequenti

Serve MCP se abbiamo già un'API REST?

La vostra API REST è la base giusta, ma un agente non può usarla senza un lavoro di integrazione su misura svolto da chi gestisce l'agente. MCP standardizza tre aspetti che un'API REST lascia aperti: come un client scopre quali operazioni esistono, come i loro input e output sono tipizzati per un modello e come viene negoziata l'autorizzazione. In pratica, un server MCP di componenti è una proiezione sottile e volutamente selettiva di un'API esistente, con schemi e descrizioni scritti per un modello anziché per uno sviluppatore.

I dati dei componenti vanno esposti come strumenti o come risorse?

Soprattutto come strumenti. La specifica descrive gli strumenti come model-controlled — è il modello a scoprirli e a invocarli a partire dal contesto — mentre le risorse sono guidate dall'applicazione, esposte dall'applicazione host perché sia l'utente a selezionarle. Un catalogo è uno spazio di query, non un elenco fisso di file: la soluzione naturale sono quindi strumenti che accettano parametri. Le risorse hanno senso per un numero ristretto di documenti stabili, e gli strumenti possono restituire link a risorse per schede tecniche e file CAD invece di incorporare megabyte di dati.

La specifica 2026-07-28 rompe i server MCP esistenti?

Cambia in modo sostanziale la forma del trasporto. Spariscono le sessioni a livello di protocollo e l'header Mcp-Session-Id, sparisce l'handshake initialize, sparisce lo stream GET autonomo e sparisce la ripresa SSE tramite Last-Event-ID. I server devono implementare server/discover e richiedere gli header Mcp-Method e Mcp-Name sulle POST. I client che supportano entrambe le epoche capiscono quale delle due parla un server tentando prima una richiesta moderna e ispezionando il corpo dell'errore prima di ricorrere al fallback.

Come impediamo a un agente di vedere i prezzi di un altro cliente?

Usando il livello di autorizzazione, non l'oscurità. Il server MCP agisce come resource server OAuth 2.1, deve implementare i Protected Resource Metadata (RFC 9728) e deve verificare che i token di accesso siano stati emessi specificamente per sé come audience prevista, secondo la RFC 8707. Soprattutto, la specifica consente che l'insieme visibile di strumenti e risorse vari in base all'autorizzazione presentata nella richiesta: a un chiamante non autenticato si possono quindi mostrare soltanto gli strumenti del catalogo pubblico.

Come fa un agente a trovare il nostro server MCP?

Non esiste alcun meccanismo di discovery a livello di DNS, e sostenere il contrario è l'errore più diffuso in ciò che si scrive su MCP. La scoperta avviene attraverso il registry ufficiale MCP su registry.modelcontextprotocol.io, sostenuto da Anthropic, GitHub, Microsoft e PulseMCP e ancora in preview prima della disponibilità generale; attraverso le directory lato client, come la directory dei connettori di Claude e la directory delle app di ChatGPT; e, nella maggior parte dei casi oggi, perché avete pubblicato l'URL nella vostra documentazione per sviluppatori e un cliente lo ha incollato nel proprio client.

Qual è il più grande errore di progettazione in un primo server MCP di componenti?

Esporre troppi strumenti con descrizioni vaghe. Un modello sceglie gli strumenti a partire da nomi, descrizioni e schemi: venti endpoint di ricerca sovrapposti producono un comportamento peggiore di sei ben denominati. Restituite contenuti strutturati conformi a uno schema di output dichiarato, mantenete i nomi degli strumenti deterministici e stabili e inserite unità di misura, tolleranze e un timestamp di ultima verifica nel payload, così che la risposta possa essere verificata in seguito.

Un server MCP aiuta la visibilità IA sul web aperto?

Non direttamente. I crawler di ricerca e di retrieval non chiamano i server MCP: scaricano HTML. MCP raggiunge gli utenti che hanno collegato il vostro server, cioè oggi gli ingegneri che configurano un connettore e i buyer aziendali il cui amministratore lo registra. È un canale di profondità, non di portata, e funziona al meglio insieme a pagine prodotto strutturate e renderizzate lato server.

Fonti

  1. 01Anthropic, Introducing the Model Context Protocol (25 November 2024)
  2. 02Model Context Protocol, MCP joins the Agentic AI Foundation (9 December 2025)
  3. 03Linux Foundation, Formation of the Agentic AI Foundation (9 December 2025)
  4. 04Model Context Protocol, 2026-07-28 specification changelog
  5. 05Model Context Protocol, Streamable HTTP transport (2026-07-28)
  6. 06Model Context Protocol, Authorization (2026-07-28)
  7. 07Model Context Protocol, Tools (2026-07-28)
  8. 08Model Context Protocol, Resources (2026-07-28)
  9. 09Model Context Protocol, The MCP Registry
  10. 10Microchip Technology, Microchip unveils Model Context Protocol (MCP) Server (6 November 2025)
  11. 11Siemens MCP Server documentation
  12. 12Zoovu, Zoovu launches MCP Server (11 December 2025)
  13. 13ECIA, TrustedParts.com launches Inventory AI Agent Service (11 June 2026)
  14. 14Shopify, Storefront MCP server documentation
  15. 15Anthropic, Get started with custom connectors using remote MCP
  16. 16OpenAI Help Center, Developer mode and MCP apps in ChatGPT
  17. 17Google Cloud, Set up your custom MCP server data store (Gemini Enterprise)
Provalo sul tuo catalogo

Scopri esattamente cosa riescono a leggere oggi gli assistenti IA dei tuoi prodotti e cosa no: policy di accesso per i crawler, copertura del catalogo, accesso alle schede tecniche — con un punteggio e il confronto con 984 distributori e produttori in tutto il mondo.

Valuta il mio catalogo

Note dal campo correlate