MCP- og KI-integrasjon - Model Context Protocol for WordPress og handelsstacker

MCP- og KI-integrasjon - Model Context Protocol for WordPress og handelsstacker

5.00/5 - (17 votes)
10 min lesetid
Guide

Hvem: Mariusz Szatkowski, WordPress-utvikler siden 2006, som har skrevet MCP-serveren på dette nettstedet og en MCP-server for WooCommerce med åpen kildekode. Jeg jobber alene, skriver integrasjonskoden selv og deler ikke tilgangene dine med noen.

Hva: Model Context Protocol-servere med smale verktøy, autorisasjon slik MCP-spesifikasjonen beskriver den, kobling til WordPress, WooCommerce, Shopify og innhold fra headless CMS, logging av kall og testing før lansering.

Hvor: eksternt fra Gdynia i Polen, i samme tidssone som Oslo. Avklaringer skjer på e-post, i dokumenter og i repositoriet. Før jeg får tilgang til personopplysninger, signerer vi en databehandleravtale etter GDPR artikkel 28, som gjelder i Norge gjennom EØS-avtalen.

Pris: hver integrasjon prises for seg, ut fra antall systemer og verktøy og om noe verktøy skriver data. Du får et skriftlig tilbud med forutsetningene det bygger på.

MCP- og KI-integrasjon for nettbutikker og WordPress-nettsteder

Model Context Protocol gir en KI-assistent en liste med presist beskrevne verktøy i stedet for et administratorpassord limt inn i chatten. Jeg kobler verktøyene til systemene du allerede har, og avgrenser dem slik at assistenten bare ser det du godkjenner.

Selve leveransen steg for steg står på siden MCP-server-utvikling. Her handler det om arkitekturvalg og om stedene der en integrasjon kan gjøre skade.

En assistent i kundeservice sparer tid, men hver snarvei kan lekke personopplysninger eller gi svar som motsier lagerstatus. Derfor begynner jeg med et datakart. Ordrehistorikk kan ofte vises for modellen som produktkategori, status og verdispenn, uten navn, adresse og telefonnummer. Felt som bare frakten trenger, blir i butikken.

Hvordan velge arbeidsflyter for et MCP-pilotprosjekt

Send meg en liste over oppgavene du tenker på: oppslag på ordrestatus, returregler, søk i teknisk dokumentasjon. Hver oppgave får ett av tre nivåer. Verktøyet kjører selv, verktøyet krever bekreftelse fra et menneske, eller oppgaven holdes utenfor assistenten.

Underveis noterer jeg produktidentifikatorer, valuta per marked og avgiftsunntak. Uten det kartet jevner modellen ut svarene og blander priser. Grensetilfeller henter jeg fra ekte saker i supportsystemet ditt: delvis refusjon, en ordre delt på to pakker, reklamasjon etter fristen.

Gjelder det arbeidsflyt i backoffice mer enn chat, se automatisering av forretningsprosesser.

Hva MCP gjør teknisk

MCP bygger på JSON-RPC 2.0. En KI-applikasjon (verten, for eksempel Claude eller ChatGPT) kobler seg via en klient til en server som tilbyr verktøy modellen kan kalle, ressurser med data og promptmaler. Gjeldende spesifikasjon er datert 28. juli 2026 og definerer to standardtransporter: stdio for en server som startes lokalt som prosess, og Streamable HTTP for en ekstern server der hver melding er en egen POST til ett endepunkt (spesifikasjonen). Spesifikasjonen slår fast at verktøy betyr kjøring av vilkårlig kode, at et menneske bør kunne avvise hvert kall, og at verktøybeskrivelser fra servere du ikke stoler på, skal regnes som upålitelige.

Hvordan designe en sikker MCP-server

Verktøy

Hvert verktøy har navn, beskrivelse og inndataskjema i JSON Schema, og et utdataskjema når det returnerer strukturerte data. Jeg foretrekker deterministiske operasjoner som “hent ordresammendrag etter ID” fremfor et vagt “fiks ordren”. Retting skjer i administrasjonspanelet.

Feil skilles slik spesifikasjonen beskriver: protokollfeil ved ukjent verktøy eller feilformet forespørsel, kjørefeil med isError: true ved feil dato, manglende post eller manglende tilgang. Da får modellen noe den kan rette.

Dette nettstedet fungerer allerede slik. Serveren på https://wppoland.com/mcp har skrivebeskyttede verktøy, blant annet check_services og request_quote, uten API-nøkkel. Oppsettet er beskrevet i WPPoland live MCP-server-guiden. Butikkvarianten vedlikeholder jeg som MCP-server for WooCommerce på GitHub: skrivebeskyttet, med verktøy som get_product, list_orders og sales_report.

Autorisasjon og tokens

For servere over HTTP bygger spesifikasjonen autorisasjonen på OAuth 2.1. En beskyttet MCP-server er en ressursserver: den publiserer metadata etter RFC 9728, godtar bare tokens utstedt til den og sender dem ikke videre. Klienten angir serveren med parameteren resource fra RFC 8707. En lokal server over stdio henter legitimasjon fra miljøvariabler (autorisasjon i MCP-spesifikasjonen).

Scopes setter jeg slik at ett verktøy kan slås av under en hendelse uten at hele assistenten stanser. Der WordPress eller WooCommerce allerede har tilgangsregler, speiler jeg dem i stedet for å bygge en parallell tilgangsliste som glir fra hverandre over tid.

Hvilke data som går tilbake til modellen

Verktøysvaret har ingen unødvendige personopplysninger, men tidsstempel fra kilden, valuta og språk, slik at modellen ikke blander markeder. Innhold fra CMS merkes for seg, adskilt fra tall fra butikken. På flerspråklige nettsteder returnerer verktøyet språkkoden, så assistenten ikke siterer en polsk beskrivelse til en kunde i Bergen.

Begrensning av MCP-trafikk i salgstopper

Spesifikasjonen krever at serveren validerer inndata, kontrollerer tilgang, begrenser kall og renser utdata. Grensen har en praktisk grunn: en assistent sender forespørsler raskere enn mennesker, og det samme butikk-API-et betjener ekte kunder. Jeg setter egne grenser for ordreverktøy og for markedsføringsinnhold, så et nyhetsbrev ikke kveler returbehandlingen. Data som tåler å være litt utdatert, kommer fra hurtigbuffer.

Før lansering kjører jeg en lasttest i staging for å sjekke nye forsøk med ventetid. Venter et verktøy på en synkron webhook til ERP, logger jeg ventetiden. Ellers oppgir assistenten en ordrestatus ERP-systemet ennå ikke kjenner.

MCP-integrasjon med WordPress og WooCommerce

WordPress 6.9 innførte Abilities API. Med wp_register_ability() registrerer du en operasjon med beskrivelse, inn- og utdataskjema og permission_callback, og WordPress eksponerer den i REST API under wp-abilities/v1 (kunngjøring på make.wordpress.org). MCP Adapter, en del av initiativet AI Building Blocks for WordPress, gjør dem om til MCP-verktøy, -ressurser og -prompter, tilgjengelig via WP-CLI over stdio eller over HTTP. En ability er privat for MCP til den merkes som offentlig, og serverens standardkontroll er bare is_user_logged_in(). Tilgangskontrollen for hver operasjon legger jeg derfor til selv.

Vurderer du om WordPress.com Agent med MCP write holder, eller om du trenger en egen adapter på din server, hjelper den sammenligningen deg å velge før prosjektet starter.

Dette passer jeg på i praksis:

  • Et verktøy som skal vise faktisk lagerstatus, går forbi sidebufferen og spør et endepunkt med kort levetid på dataene.
  • Med HPOS ligger ordrer i WooCommerce sine egne tabeller, så rapporter bruker ordre-API-et og ikke spørringer mot postmeta.
  • I multisite tar verktøyet nettsteds-ID som argument, så modellen ikke blander kataloger fra ulike merker.
  • HTTP-tilgang går via applikasjonspassord i WordPress eller OAuth, med rotasjon beskrevet i dokumentasjonen.

MCP-integrasjon med Shopify og flere plattformer

Hos Shopify gjelder plattformens egne grenser. GraphQL Admin API bruker beregnet spørringskostnad og svarer med en strupingsfeil og beskjed om å vente når grensen er nådd (Shopify-grenser). Verktøyet sier da til assistenten at svaret blir forsinket, i stedet for å dikte opp data. Land eller marked er et eksplisitt argument, så prisen i chatten stemmer med kassen. I B2B-butikker med firmakontoer får ulike scopes i Admin API hvert sitt verktøy, så et spørsmål fra en privatkunde ikke avslører engrospriser.

Når WooCommerce og et headless CMS deler samme assistent, skriver jeg ned hvilken kilde som vinner: lager og priser fra handelsplattformen, beskrivelser fra CMS-et. Regelen ligger i serverkoden.

Hvem eier MCP-serveren etter leveransen

Du eier koden, repositoriet og dokumentasjonen. Jeg leverer en skriftlig beskrivelse av hvert verktøy, instruks for å slå av enkeltverktøy eller hele serveren, og testsettet med forventede svar. Dermed kan supportlederen din eller en annen utvikler ta over uten å spørre meg. Vil du at jeg skal vedlikeholde serveren videre, avtaler vi det skriftlig, med de samme rutinene for oppdateringer i staging som i vanlig WordPress-vedlikehold.

Hvordan publisere en MCP-server i ChatGPT og Claude?

Oppdatering, . Begge assistentene har offentlige kataloger for MCP-servere, så en server en butikk har bygget for kundeservice, kan også tilbys kundene.

Plugin-katalogen i ChatGPT

OpenAI har én felles plugin-katalog for ChatGPT og Codex. Ifølge endringsloggen for Apps SDK har ChatGPT vært fullt kompatibel med MCP Apps-spesifikasjonen siden 22. februar 2026. Før publisering:

  • innsendingen må komme fra en verifisert person eller organisasjon,
  • utvidelsen trenger en publisert personvernerklæring og en supportkontakt,
  • ZIP-pakken går gjennom automatiske kontroller og deretter gjennomgang, og etter godkjenning bestemmer du selv når den blir tilgjengelig,
  • handel gjelder foreløpig bare fysiske varer, betalt på ditt eget domene (Instant Checkout har bare utvalgte partnere),
  • tilgjengeligheten kan avgrenses med en landliste i feltet publication.countries,
  • etter publisering skanner OpenAI den hostede MCP-serveren daglig.

Kilder: retningslinjer, innsending.

Connectors Directory i Claude

  • innsending via claude.ai/directory/manage som MCP-connector; alle med betalt Claude-abonnement kan sende inn,
  • ekstern server over HTTPS; en lokal server bare som del av en plugin,
  • OAuth 2.0 for verktøy som handler på en brukers konto, ingen autentisering for offentlige data,
  • hvert verktøy har tittel og annotasjonen readOnlyHint eller destructiveHint,
  • dokumentasjons-URL, URL til personvernerklæring, supportkontakt, ikon og en fullt utfylt testkonto for gjennomgangen,
  • automatisk policykontroll etter innsending og merket Community som standard; servere med kundespesifikke URL-er trenger merket Verified.

Oppføringer som skrivebordsutvidelse (MCPB) er avviklet. Kilde: Anthropic-dokumentasjon.

Hva jeg forbereder før innsending

Et verktøy merket readOnlyHint endrer faktisk ingen data, i tråd med skillet mellom lesing og skriving over. Personvernerklæringen sier hva serveren sender til modelleverandøren, og oppfyller informasjonsplikten i artikkel 13 i GDPR. Testkontoen bruker eksempeldata, aldri ekte ordrer. En butikk som vil dukke opp i ChatGPT uten egen plugin, begynner med produktfeed og strukturerte data, beskrevet på siden om beredskap for KI-handel.

Hvordan teste en MCP-integrasjon

Jeg har et fast sett spørsmål med forventede svar og kjører det etter hver endring i verktøyene og hvert modellbytte hos leverandøren. Settet inneholder forsøk på prompt injection og scenarioer der modellens endepunkt eller butikkens API returnerer feil. Jeg måler faktariktighet, svartid for verktøyene og hvor ofte et menneske må ta over samtalen.

Vokser tokenforbruket raskere enn kvaliteten, forenkler jeg verktøyene eller korter ned konteksten. Prøver modellen flere ganger på rad å komme rundt reglene i et verktøy, finner jeg ut hvorfor.

Hvilke dokumenter du sitter igjen med

DokumentFormålHvem lager det
Beskrivelse av MCP-verktøyeneGodkjenning hos juridisk eller sikkerhetsansvarlig hos degJeg
DatabehandleravtaleGDPR artikkel 28, inkludert modelleverandørenDu og jeg
Instruks for avslåingKoble fra assistenten uten å ta ned butikkenJeg
TestresultaterSpor av svarkvaliteten over tidJeg, i repositoriet

MCP-svar og strukturerte data for GEO og AEO

Bruker produktsiden sku, gtin13 eller priceSpecification i schema.org, returnerer MCP-verktøyet de samme identifikatorene og beløpene. Avvik mellom siden og chatsvaret betyr en kunde som ser to ulike priser. Ved nye sider og endrede tilbud oppdaterer jeg begge i samme utrulling.

MCP som del av KI-implementering i bedriften

MCP-servere er én byggestein i en bredere KI-implementering for bedrifter, ved siden av automatisering av innhold og drift og kundeservice-chatboter med menneskelig godkjenning.

Hvordan starte et MCP-integrasjonsprosjekt

Send meg listen over API-er assistenten skal bruke, en beskrivelse av oppgavene og hva den aldri skal gjøre. Du får en skriftlig plan med verktøy, testing i staging og ansvarsfordeling før noe produksjonstoken slås på. Start gjerne med en liten gruppe av dine egne ansatte før kundene møter assistenten.

Utforsk andre WordPress-tjenester og kunnskapsbase

Styrk virksomheten din med profesjonell teknisk støtte innen kjerneområdene i WordPress-økosystemet.

Anbefalinger fra LinkedIn

Anbefalinger og erfaringer fra samarbeid med WPPoland

Utvalgte anbefalinger fra ledere innen WordPress, WordCamp og e-handel - med vekt på leveranse i tide, teknisk dybde og forretningsorientert tilnærming til WordPress-utvikling.

Karolina Czapla

Karolina Czapla

Markedsstrateg, Performance & Digital Strategy

“Samarbeidet med Mariusz på WordCamp har vist meg hvor sjelden det er å kombinere dyp teknisk kompetanse med ekte lederskap. Han planlegger, koordinerer og leverer med presisjon, samtidig som han gir teamet rom til å voks...”

Medarrangør, WordCamp Gdynia 2024 & 2025

Anna Kamińska

Anna Kamińska

Talent Acquisition Specialist / HR People Partner

“Porteføljen til Mariusz taler for seg. Den viser presisjon, allsidighet og et sterkt ansvarsfølelse. Du kan stole på at han følger et prosjekt fra idé til levering og holder alle interessenter godt informert.”

Vi jobbet på samme team

Sarah‑Luisa Kwolek

Sarah‑Luisa Kwolek

IT‑prosjektleder & Product Owner, Web/App

“I over to år kunne jeg alltid stole på Mariusz for WordPress‑oppgaver, fra styling og templating til integrasjoner. Han skaper ro i teamet og sørger for at frontend‑delen er under kontroll.”

Mariusz var hennes kunde på WordPress‑prosjekter

Argert Boja

Argert Boja

Senior Full‑Stack‑utvikler

“Mariusz er lagkameraten alle ønsker seg: sterke full‑stack‑WordPress‑ferdigheter, klare forklaringer og en positiv holdning selv under press. Han beveger seg lett mellom plugins, ytelse og Gutenberg‑layouts uten å miste ...”

Vi jobbet sammen på WordPress‑prosjekter

Varun Patil

Varun Patil

Growth‑ & CRM‑ansvarlig

“I tillegg til utvikling forstår Mariusz SEO, analyse og growth. Han snakker direkte med interessenter, stiller de riktige spørsmålene og leverer løsninger som faktisk påvirker forretningsmål, fra AMP til tracking og ytel...”

Var leder for Mariusz på growth‑initiativer

Rafał Osiński

Rafał Osiński

Gründer @ EasyTrips.pl, Senior WordPress‑utvikler

“Jeg har kjent Mariusz gjennom WordPress‑miljøet i mange år. Han er pålitelig, svært engasjert og rett og slett alltid til stede, på meetups, WordCamps og i prosjekter. Hvis du vil ha et langsiktig samarbeid og noen som b...”

Medarrangør av WordUp Trójmiasto & WordCamp

Daniel Blossfeld

Daniel Blossfeld

Konsulent for prosessoptimalisering og digitalisering

“Jeg hadde gleden av å jobbe med Mariusz i nesten tre år. I løpet av den tiden viste hans WordPress-utviklingsferdigheter seg å være uvurderlige i en rekke prosjekter, fra nettstedbygging til online medlemsområder og til ...”

Mariusz var hans kunde på WordPress‑prosjekter

Natalie Wiszczor

Natalie Wiszczor

CRM & E-postmarkedsføringsansvarlig

“Jeg hadde gleden av å jobbe med Mariusz i over 4 år innen det tekniske feltet. I løpet av denne tiden viste han seg å være en kompetent og pålitelig kollega. Det som spesielt utmerket seg var hans vennlige natur og hans ...”

Jobbet med Mariusz i forskjellige team

Mark Chalklen

Mark Chalklen

Head of Design & Build hos Itineris Limited

“Mariusz er et flott teammedlem, alltid glad for å ta fatt på enhver oppgave og lære nye ting. En flott kommunikator og en gjennomgående hyggelig fyr å jobbe med. Vanskelig å slå på vår ukentlige Strava-ledertavle!”

Ledet Mariusz direkte

Jessica Di Pasquale

Jessica Di Pasquale

Leder SEO-initiativer med datadrevne vekststrategier.

“Mariusz er en veldig dyktig, tålmodig og ekspert fyr. Alltid klar til å hjelpe og fikse feil, jeg satte stor pris på å jobbe med ham. Han er en så flott kollega!”

Ledet Mariusz direkte

Biki John

Biki John

Innholdsmarkedsføringsentusiast og SEO-entusiast

“Det var flott å jobbe med Mariusz. Jeg satte stor pris på hans omfattende kunnskap om WordPress og hvordan det kom godt med når jeg trengte støtte til å navigere i CMS. Jeg roser Mariusz fullt ut for hans tålmodighet, go...”

Jobbet med Mariusz i forskjellige team

Rafal Borowiec

Rafal Borowiec

Programvareutvikler, konsulent, leder og foreleser

“Jeg hadde muligheten til å jobbe med Mariusz i 7 måneder. Han utmerker seg innen teknisk optimalisering for søkemotorer (SEO). Mariusz har også sterk ekspertise innen AMP-utvikling, GTM og GA. Mariusz føler seg veldig ko...”

Ledet Mariusz direkte

Belinda Koch

Belinda Koch

Web-sporingsanalytiker hos TUI

“Mariusz er en flott person å jobbe med. Han er ekstremt motivert til å lære nye ting og dele sin kunnskap, og er svært kunnskapsrik innenfor et bredt spekter av emner. Vi jobbet sammen med digitale analyse- og sporingsem...”

Jobbet med Mariusz om digital analyse og sporing

Ali Nezamolmaleki

Ali Nezamolmaleki

Vekst, SEO, Analytisk tenkning, AMP

“Mariusz er en ekstremt talentfull person innen sitt fagfelt. Han er alltid i stand til å gi et nytt perspektiv for å løse problemer og tenke utenfor boksen i situasjoner der alt ser ut til å være låst. Det er alltid en g...”

Jobbet med Mariusz i samme team

Karol Jakubcewicz

Karol Jakubcewicz

Front-end / JavaScript-utvikler

“Mariusz er en utrolig erfaren WordPress-utvikler og SEO/SEM-spesialist som jeg har hatt gleden av å jobbe med i nesten to år. Han var en av nøkkelpersonene med ansvar for konstant forbedring av lastetid og siderangering....”

Jobbet med Mariusz i samme team

Paweł Lewczuk

Paweł Lewczuk

Front-end-utvikler, WordPress-utvikler

“Jeg samarbeidet med Mariusz på flere prosjekter, og samarbeidet vårt var alltid eksemplarisk. Jeg tror det ligger mange flere felles prosjekter foran oss. Anbefales på det sterkeste!”

Mariusz var Pawels kunde

Przemek Wroblewski

Przemek Wroblewski

Programvareutvikler med over 20 års erfaring

“Jeg fant Mariusz som en person med stor ekspertise og dyp kunnskap om frontend-løsninger. En kraftig, kunnskapsrik og ansvarlig WordPress-utvikler. Han har lett for å bygge mellommenneskelige relasjoner. Han hadde visjon...”

Jobbet med Mariusz i forskjellige team

Ofte stilte spørsmål

Spørsmål om omfang, levering, pris og kvalitet.

Hva betyr MCP i praksis for en nettbutikk?#
Model Context Protocol er en åpen protokoll der en KI-applikasjon (verten) kobler seg til servere som tilbyr verktøy, ressurser og prompter. I en butikk betyr det at assistenten kaller et verktøy som for eksempel returnerer et ordresammendrag eller produktdata fra WooCommerce, i stedet for å få et administratorpassord i chatten. MCP erstatter ikke kassen eller ERP-systemet. Protokollen beskriver hvordan modellen ber om en bestemt operasjon og hvilke data som kommer tilbake.
Gjør MCP svarene fra KI pålitelige?#
Nei. Protokollen rydder i koblingen, men kvaliteten avhenger av kildedataene og av hva verktøyet returnerer. Spesifikasjonen sier at et menneske bør kunne avvise ethvert verktøykall, og at verktøybeskrivelser fra servere du ikke stoler på, skal behandles som upålitelige. Refusjoner, kontoendringer og rabatter blir derfor hos mennesker, og jeg sjekker assistenten mot et fast testsett.
Hvordan sikrer du WordPress og WooCommerce?#
Assistenten får ingen generelle REST-tilganger. Jeg åpner enkeltoperasjoner, hver med egen tilgangskontroll på serveren og et filter som fjerner interne felt og unødvendige personopplysninger. Fra WordPress 6.9 gjør jeg det med Abilities API: hver ability har en permission_callback, og MCP Adapter viser den som verktøy først når jeg merker den som offentlig for MCP. Oppdateringer av utvidelser og kjerne er fortsatt en del av vanlig vedlikehold.
Kan en MCP-server kombinere data fra Shopify og et CMS?#
Ja, hvis hvert verktøysvar oppgir kilden. Lager og priser kommer fra butikkens API, beskrivelser fra CMS-et, og ved motstrid vinner butikken. Den regelen ligger i serverkoden, ikke i prompten. Mer om headless-innhold på siden om headless CMS-utvikler.
Hva logger du i en MCP-integrasjon?#
Verktøynavn, parametere uten personopplysninger, svartid, feil og en korrelasjons-ID som knytter en assistentøkt til supportsaken. MCP-spesifikasjonen anbefaler at klienter logger verktøybruk for revisjon. Lagringstiden avtaler vi skriftlig, sammen med databehandleravtalen.
Hva koster en MCP-integrasjon?#
Jeg priser hver integrasjon for seg, ut fra antall systemer og verktøy og om noe verktøy skriver data. Faste satser står ikke her. Beskriv prosessene dine i kontaktskjemaet, så får du et skriftlig tilbud med forutsetningene.
Hvilke risikoer gjenstår etter sikringen?#
Prompt injection kan fortsatt lokke en modell til en rekke kall som bryter reglene dine, så valideringen på serveren avviser slike operasjoner uansett hvor overbevisende forespørselen høres ut. Modelleverandører endrer modellene uten varsel, derfor kjører jeg testene på nytt etter hvert modellbytte. Jeg lover ikke at en server tåler ethvert angrep.
Hvordan henger MCP sammen med GEO og strukturerte data?#
MCP-verktøy bør returnere de samme identifikatorene og prisene som JSON-LD på produktsiden. Når chatsvaret og de strukturerte dataene spriker, ser kunden to beløp og stoler på ingen av dem. Når tilbudet endres, oppdaterer jeg begge i samme utrulling.

Trenger du FAQ tilpasset bransje og marked? Jeg lager en versjon som støtter dine forretningsmål.

Ta kontakt

Relaterte artikler