MCP för tillverkare: en praktisk guide

Publicerad 2026-08-0911 min läsningMCP · Model Context Protocol · OAuth · Streamable HTTP

I korthet

Vad är MCP, och vad bör en tillverkares MCP-server exponera?

MCP (Model Context Protocol) är en öppen standard som låter en AI-assistent anropa dina system direkt i stället för att härleda svar ur dina webbsidor. En tillverkares MCP-server är en hostad HTTP-endpoint som exponerar ett litet antal typade verktyg – parametrisk sökning, artikeluppslag, alternativ och korsreferenser, efterlevnadsdokument, CAD-länkar samt lagersaldo och priser bakom OAuth – som vilken kompatibel assistent som helst kan anropa för att få ett exakt och spårbart svar. Enligt den nu gällande specifikationen 2026-07-28 är det en tillståndslös tjänst med förfrågan och svar som körs bakom en helt vanlig lastbalanserare. Protokollet är den enkla delen; det svåra är att ha en enda kanonisk, verifierad produktpost bakom det.

Vad är MCP, i klartext?

Model Context Protocol är ett standardiserat sätt för en AI-assistent att anropa någon annans system och få tillbaka ett typat, strukturerat svar.

Anthropic släppte det som öppen källkod den 25 november 2024 och beskrev det som ”en ny standard för att koppla AI-assistenter till de system där data finns”. Den 9 december 2025 donerade Anthropic MCP till Agentic AI Foundation, en riktad fond under Linux Foundation som grundades tillsammans med Block och OpenAI och som stöds på platinanivå av AWS, Bloomberg, Cloudflare, Google och Microsoft. Vid den tidpunkten hade MCP passerat 97 miljoner SDK-nedladdningar i månaden och över 10 000 publicerade servrar, med förstklassigt klientstöd i ChatGPT, Claude, Cursor, Gemini, Microsoft Copilot och 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.

För en beslutsfattare som inte är utvecklare är det den här skillnaden som spelar roll. När en assistent läser din webbplats tolkar den ett dokument: den kan läsa en tabell fel, missa en fotnot eller blanda ihop två varianter. När en assistent anropar din MCP-server frågar den ett system: den efterfrågar artikeln, får tillbaka fälten och rapporterar dem. Det första läget ger rimliga svar. Det andra ger korrekta – förutsatt att datan bakom är korrekt, och det är där merparten av det verkliga arbetet ligger.

Vilka i branschen har redan lanserat en?

Det här är inte längre spekulation, och exemplen är nyttigt olika:

  • Microchip Technology lanserade en kostnadsfri, publik MCP-server den 6 november 2025, som exponerar verifierade produktspecifikationer, datablad, lagersaldon, priser och ledtider över MCP Streamable HTTP, med JSON-kodade svar riktade till copiloter, chattbottar och företagsagenter.
  • Siemens driver en publik server på mcp.siemens.com vars dokumenterade plugins – assets, utvecklarportal, sökning och webbinnehåll – är tillgängliga utan autentisering.
  • Zoovu lanserade en MCP-server den 11 december 2025 som ger agenter styrd åtkomst till produktdata, positionerad kring korrekthet i frågor om kompatibilitet och användningsområde.
  • ECIA lanserade TrustedParts.com Inventory AI Agent Service den 11 juni 2026 och gjorde därmed auktoriserat lagersaldo för elektronikkomponenter tillgängligt inuti Microsoft Copilot, ChatGPT och Claude.
  • Shopify exponerar en Storefront MCP-server i butiker på https://{shop}.myshopify.com/api/mcp, med verktyg som search_catalog, lookup_catalog och get_product, och utan krav på autentisering för storefront-nivån.

Två mönster är värda att notera. Vart och ett av dessa vilar på ett befintligt auktoritativt datalager. Och vart och ett av dem drar en gräns mellan publika katalogdata och allt som är kommersiellt känsligt.

Verktyg eller resurser – vad bör en artikelserver använda?

Specifikationen är tydlig med skillnaden, och att göra fel ger en server som modeller använder dåligt.

Verktyg är modellstyrda. Specifikationen slår fast att verktyg ”är utformade för att vara modellstyrda, vilket innebär att språkmodellen kan upptäcka och anropa verktyg automatiskt utifrån sin kontextuella förståelse och användarens prompter”. Upptäckt sker med tools/list, anrop med tools/call. Varje verktyg bär ett inputSchema (JSON Schema 2020-12 som standard), ett valfritt outputSchema, och returnerar structuredContent som följer det schemat.

Resurser är applikationsdrivna. Specifikationen slår fast att resurser ”är utformade för att vara applikationsdrivna, där värdapplikationerna avgör hur kontext ska införlivas utifrån sina behov” – typiskt en väljare, en lista eller automatisk inkludering från värden. Varje resurs identifieras av en URI, och mallar gör det möjligt att parametrisera dem.

En katalog är ett sökrum, inte en fast dokumentmängd. Ingen vill scrolla igenom en resursväljare med 40 000 artiklar. Så merparten av en artikelserver bör vara verktyg, med två förfiningar: använd innehållsblock av typen resource_link för att peka på datablad och CAD-filer i stället för att bädda in stora nyttolaster, och reservera egentliga resurser för en handfull stabila dokument, till exempel en klassificeringsordlista eller en ändringslogg.

Två detaljer i den nuvarande specifikationen är värda uppmärksamhet. Verktygslistor får inte variera per anslutning, men får variera med den auktorisering som skickas med förfrågan. Och servrar bör returnera verktygen i deterministisk ordning, eftersom stabil ordning låter klienter cacha listan och förbättrar träffgraden i prompt-cachen.

Vad ändrades i specifikationen 2026-07-28?

Den här revisionen gjorde om transporten, och varje design som skrivits utifrån 2025 års material kommer att vara fel på specifika punkter.

ÄndringFöreFrån 2026-07-28
SessionerHeadern Mcp-Session-Id, tilldelad av servernBorttagna; tillstånd skickas som explicita, servergenererade handtag i verktygsargument
Handskakninginitialize / notifications/initializedBorttagen; protokollversion och klientkapabiliteter följer med i _meta på varje förfrågan
Upptäckt av kapabiliteterErhölls vid initialiseringenNytt server/discover-RPC som servrar måste implementera
Serverinitierade förfrågningarSkickades på en SSE-strömMulti Round-Trip Requests: servern returnerar resultType: "input_required", klienten gör om anropet med inputResponses
RoutingGatewayer tolkade JSON-kroppenHeaders Mcp-Method och Mcp-Name krävs på POST-anrop
CachningEndast listChanged-notiserttlMs och cacheScope krävs på list- och läsresultat
Återupptagning av strömmarUppspelning via Last-Event-IDBorttagen; en bruten ström tappar förfrågan och klienten skickar om den

Transportens utformning är numera välgörande tråkig. Servern exponerar en enda MCP-endpoint som tar emot POST – till exempel https://example.com/mcp. Varje JSON-RPC-förfrågan är sin egen POST. Klienter måste skicka en Accept-header som anger både application/json och text/event-stream, plus en MCP-Protocol-Version-header som måste stämma med värdet i _meta i kroppen, annars måste servern avvisa med 400 och felet HeaderMismatch. Servrar måste validera Origin-headern och svara 403 om den finns med och är ogiltig.

Den praktiska konsekvensen för infrastrukturteam: eftersom det inte finns någon session på protokollnivå driftsätts din MCP-server bakom en vanlig round-robin-lastbalanserare, precis som vilken annan tillståndslös HTTP-tjänst som helst. Roots, Sampling och Logging är nu avvecklade med minst tolv månaders varsel, och den gamla HTTP+SSE-transporten är formellt avvecklad den också.

Hur skyddar du pris och lager med OAuth?

Auktorisering är valfri i MCP, vilket är precis rätt för en artikelserver: den publika katalogen ska inte kräva någon token alls, och bara kommersiellt känsliga verktyg ska begära legitimation.

När du väl implementerar den är kraven specifika. MCP-servern fungerar som en OAuth 2.1-resursserver, enligt IETF-utkastet för OAuth 2.1. Den måste implementera Protected Resource Metadata (RFC 9728), och klienter måste använda den metadatan för att hitta auktoriseringsservern. Klienter måste implementera Resource Indicators (RFC 8707) och skicka en resource-parameter som identifierar din kanoniska server-URI i både auktoriserings- och tokenförfrågningar, och din server måste validera att token har utfärdats för den som avsedd mottagare. Auktoriseringsservrar bör returnera parametern iss enligt RFC 9207, och klienter måste validera den. Dynamic Client Registration är nu avvecklad till förmån för Client ID Metadata Documents, men finns kvar för bakåtkompatibilitet.

Mönstret som fungerar för en distributör eller tillverkare:

  1. 01Oautentiserad nivå – specifikationer, parametrisk sökning, alternativ, efterlevnadsdokument, CAD-länkar och listpriser där du publicerar dem.
  2. 02Autentiserad nivå – avtalspriser, kundspecifik tillgänglighet, offertskapande. Begär legitimation med en 403 och error="insufficient_scope", och namnge de scopes som krävs så att klienten kan höja behörigheten på en enda tur och retur i stället för flera.
  3. 03Använd aldrig ett kundnummer i ett verktygsargument som enda åtkomstkontroll. Ett handtag är ett namn, inte en behörighet; validera auktorisering vid varje anrop.

Vad bör en MCP-server för artikeldata exponera?

Sex till åtta verktyg är rätt storleksordning. Fler än så och modellens val av verktyg försämras.

VerktygSyfteBehörighet
search_partsParametrisk sökning inom en klass med typade villkor och enheterPublik
get_partFullständig kanonisk post för ett artikelnummer, inklusive ursprung och datum för senaste verifieringPublik
find_alternatesFunktionella motsvarigheter, andrakällor och korsreferenser till konkurrenter, med angiven likvärdighetsgrundPublik
get_compliance_documentsRoHS, REACH, prestandadeklarationer, certifikat, EPD:er – som poster med utfärdandedatum, inte bara länkarPublik
get_cad_modelsResurslänkar till 2D-, 3D- och BIM-filer per formatPublik
get_availabilityAktuellt lagersaldo per lagerplats och ledtidSkyddad
get_priceKundens avtalspris vid given kvantitetSkyddad

En verktygsdefinition ska se helt oanmärkningsvärd ut, och det är själva poängen:

{
  "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
  }
}

Lägg märke till vad beskrivningen gör: den talar om för modellen vad verktyget returnerar och när den i stället ska välja ett annat verktyg. Just den vanan gör mer för svarskvaliteten än hur mycket schemapolering som helst.

Ett genomarbetat exempel

En konstruktör hos en kontraktstillverkare i Texas ska ersätta en utgående artikel i ett kretskort som också levereras till en tysk apparatskåpsbyggare. Assistenten har tillverkarens MCP-server ansluten.

Konstruktör: Vår 60 V N-kanals-MOSFET i buck-steget går mot end-of-life. Jag behöver en drop-in i samma kapsel, R_DS(on) inte sämre än 12 milliohm vid 10 V gatespänning, och jag behöver veta om den faktiskt finns tillgänglig.

Assistenten gör fyra anrop.

→ 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)" } ]

Assistenten svarar sedan: den ena kandidaten är en drop-in med lägre kanalresistans och högre gateladdning, värd att kontrollera mot gatedrivaren; den andra klarar fotavtrycket men missar gränsen för R_DS(on); lagersaldot är 14 200 i Texas och 3 800 i Baden-Württemberg per i morse, med åtta veckors ledtid; RoHS- och REACH-deklarationer bifogas med sina utfärdandedatum.

Inget av det här är imponerande som teknik. Det är imponerande som affär. Tre inköpsbeslut fattades utan att en människa öppnade en webbläsare, och varje siffra kan spåras till en tidsstämplad post.

Vilka kan faktiskt nå din server i dag?

Var ärlig mot din styrelse om det här, för svaret är snävare än vad de flesta leverantörsmaterial antyder.

KlientKan den nå en egen MCP-server?Villkor
ClaudeJaEgna fjärranslutna connectors på Free, Pro, Max, Team och Enterprise; gratisanvändare är begränsade till en; servern måste vara nåbar över det publika internet från IP-intervallen hos Anthropic
ChatGPTDelvisEgna MCP-servrar via developer mode; connectors med skrivrättigheter är begränsade till Business, Enterprise och Edu, medan Plus och Pro bara får läsa. Appar i ChatGPT bygger på MCP och genomgår kataloggranskning
GeminiEndast EnterpriseEgna MCP-servrar registreras av en administratör som datakälla i Gemini Enterprise; endast Streamable HTTP-transport
Microsoft CopilotJa, i företagskonfigurationerConnectors registrerade av en administratör
Agenter i IDE och CLIJaUtvecklaren konfigurerar endpointen direkt – vägen med lägst friktion för en teknisk målgrupp
Dina kunders egna agenterJaInköps- och konstruktionsavdelningar kör i allt högre grad interna agenter; i praktiken den snabbast växande anroparen

MCP når alltså ingenjörer med en assistent de själva konfigurerar, och företagsköpare vars IT-funktion registrerar din server. Det är en liten population med webbmått mätt och en mycket stor med pipelinemått mätt.

Hur upptäcker agenter din server?

Det finns ingen upptäckt på DNS-nivå. Tre mekanismer existerar:

  1. 01Det officiella MCP-registret på registry.modelcontextprotocol.io, det centraliserade metadataregistret för publikt åtkomliga servrar, som backas av Anthropic, GitHub, Microsoft och PulseMCP. Det är öppen källkod, stöder underregister och är fortfarande i förhandsversion inför allmän tillgänglighet – räkna alltså med förändringar.
  2. 02Kataloger på klientsidan, till exempel connectors-katalogen i Claude och app-katalogen i ChatGPT, var och en med sin egen granskningsprocess.
  3. 03Din egen dokumentation. I dag är det så de flesta anslutningar faktiskt uppstår: en utvecklarsida anger endpoint-URL, verktygslistan och auktoriseringsscopen, och en kund klistrar in den i sin klient.

Publicera ditt .well-known/oauth-protected-resource-dokument även om de flesta verktyg är publika, och versionshantera endpointens sökväg. Du kommer att ändra din verktygsyta, och du vill att det ska bli en medveten migrering snarare än ett tyst haveri.

En checklista för implementationen

  1. 01Konsolidera till en kanonisk post per artikel med typade attribut, enheter, ursprung och en tidsstämpel för senaste verifiering. Börja inte med protokollet.
  2. 02Välj sex till åtta verktyg och skriv beskrivningar som säger när man inte ska använda respektive verktyg.
  3. 03Deklarera utdatascheman och returnera structuredContent. Ta med enheter och verifieringsdatum i varje nyttolast.
  4. 04Tillhandahåll en enda POST-endpoint där Mcp-Method- och Mcp-Name-headers respekteras, Origin valideras och ttlMs och cacheScope sätts på listresultat.
  5. 05Dela upp publika och skyddade verktyg, implementera metadata enligt RFC 9728, validera tokens mottagare enligt RFC 8707 och använd scope-utmaningar för att höja behörigheten på en enda tur och retur.
  6. 06Returnera verktygen i deterministisk ordning och håll verktygsnamnen stabila så att klienternas cachar fungerar.
  7. 07Logga varje anrop – verktyg, argument, svarstid och om uppslaget gav träff. En MCP-server utan analys är en kanal du inte kan styra.
  8. 08Följ upp korrektheten mot facit, löpande. Ett verktyg som självsäkert returnerar ett inaktuellt märkvärde är sämre än inget verktyg alls.

Partsgraph levererar det här som ett hanterat lager: vi konsoliderar din befintliga katalog till en verifierad Parts Graph, driftar MCP-endpointen med OAuth på de skyddade nivåerna, och rapporterar vilka agenter som anropade vad och var svaren blev fel.

Vill du veta var du står innan du skriver en enda rad kod – kör din domän genom det kostnadsfria testverktyget på /audit. Det kontrollerar vad maskiner i dag kan nå i din katalog, och om en MCP-endpoint över huvud taget skulle ha något tillförlitligt att leverera.

Vanliga frågor

Behöver vi MCP om vi redan har ett REST-API?

Ditt REST-API är rätt grund, men en agent kan inte använda det utan skräddarsytt integrationsarbete från den som driver agenten. MCP standardiserar tre saker som ett REST-API lämnar öppna: hur en klient upptäcker vilka operationer som finns, hur deras in- och utdata typas för en modell, och hur auktorisering förhandlas. I praktiken är en MCP-server för artikeldata en tunn, medvetet avgränsad projektion av ett befintligt API, med scheman och beskrivningar skrivna för en modell snarare än för en utvecklare.

Ska artikeldata exponeras som verktyg eller som resurser?

Mestadels som verktyg. Specifikationen beskriver verktyg som modellstyrda – modellen upptäcker och anropar dem utifrån sammanhanget – medan resurser är applikationsdrivna och lyfts fram av värdapplikationen för att användaren ska välja bland dem. En katalog är ett sökrum, inte en fast fillista, så det naturliga är verktyg som tar parametrar. Resurser förtjänar sin plats för ett fåtal stabila dokument, och verktyg kan returnera resurslänkar till datablad och CAD-filer i stället för att bädda in megabyte av data.

Bryter specifikationen 2026-07-28 befintliga MCP-servrar?

Den förändrar transportens utformning rejält. Sessioner på protokollnivå och headern Mcp-Session-Id är borta, initialize-handskakningen är borta, den fristående GET-strömmen är borta och SSE-återupptagning via Last-Event-ID är borta. Servrar måste implementera server/discover och kräva headers Mcp-Method och Mcp-Name på POST-anrop. Klienter som stöder båda epokerna avgör vilken en server talar genom att först försöka med en modern förfrågan och granska felsvaret innan de faller tillbaka.

Hur hindrar vi en agent från att se en annan kunds priser?

Använd auktoriseringslagret, inte otydlighet. MCP-servern fungerar som en OAuth 2.1-resursserver, måste implementera Protected Resource Metadata (RFC 9728) och måste validera att åtkomsttoken har utfärdats specifikt för den som avsedd mottagare enligt RFC 8707. Avgörande är att specifikationen tillåter att de synliga verktygs- och resursuppsättningarna varierar med den auktorisering som skickas med förfrågan, så en oautentiserad anropare kan visas enbart de publika katalogverktygen.

Hur hittar en agent över huvud taget vår MCP-server?

Det finns ingen upptäcktsmekanism på DNS-nivå, och att låtsas något annat är det vanligaste felet i det som skrivs om MCP. Upptäckt sker via det officiella MCP-registret på registry.modelcontextprotocol.io, som backas av Anthropic, GitHub, Microsoft och PulseMCP och fortfarande är i förhandsversion inför allmän tillgänglighet; via kataloger på klientsidan, till exempel connectors-katalogen i Claude och app-katalogen i ChatGPT; och, vanligast i dag, för att du har publicerat din URL i utvecklardokumentationen och en kund klistrat in den.

Vilket är det största designmisstaget i en första MCP-server för artikeldata?

Att exponera för många verktyg med vaga beskrivningar. En modell väljer verktyg utifrån deras namn, beskrivningar och scheman, så tjugo överlappande sökendpoints ger sämre beteende än sex välnamngivna. Returnera strukturerat innehåll mot ett deklarerat utdataschema, håll verktygsnamnen deterministiska och stabila, och lägg in enheter, toleranser och en tidsstämpel för senaste verifiering i svaret så att det går att granska i efterhand.

Förbättrar en MCP-server AI-synligheten på den öppna webben?

Inte direkt. Sök- och hämtningscrawlers anropar inte MCP-servrar; de hämtar HTML. MCP når de användare som har kopplat upp din server, vilket i dag betyder ingenjörer som konfigurerar en connector och företagsköpare vars administratör registrerar den. Det är en djupkanal, inte en räckviddskanal, och den fungerar bäst tillsammans med serverrenderade, strukturerade produktsidor.

Källor

  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)
Kör testet på din egen katalog

Se exakt vad AI-assistenter kan och inte kan läsa om dina produkter i dag – crawlerpolicy, katalogtäckning, åtkomst till datablad – med betyg och jämförelse mot 984 distributörer och tillverkare världen över.

Betygsätt min katalog

Relaterade fältanteckningar