Syv konkrete opgaver, som en AI-assistent klarer via Shopware MCP-serveren, med eksempelprompt, værktøjer, rettigheder og typiske fejl for webshops i Danmark.
Med Shopware MCP-serveren klarer en AI-assistent som Claude eller ChatGPT rigtige opgaver i shoppen: laver rapporter, tjekker lager, finder kunder, registrerer forsendelser, supplerer produkttekster, opretter varer og ændrer indstillinger. Serveren har siden Shopware 6.7.14 været en fast del af kernen og arbejder med rettighederne fra en integration, som du opretter i administrationen.
Hver ændrende handling kører først som forhåndsvisning. Shopware kalder det dry run: Modellen viser, hvad den ville ændre, og skriver først efter et andet, bekræftet kald. Den eneste undtagelse er upload af billeder, som gemmes med det samme.
Udbyttet afhænger mindre af AI’en end af velafgrænsede roller. Opretter du en separat integration med en snæver allowlist til hver opgave, kan du bruge de læsende opgaver fra dag ét og åbne for skriverettigheder trin for trin.
Indlægget er skrevet til webshopejere, e-handelschefer og teamledere i kundeservice i Danmark, der driver en Shopware 6.7-shop og vil vide, hvilket arbejde en AI-assistent konkret kan overtage i dag. Grundlaget om protokol, klienter og opsætning forklarer vi i indlægget MCP-server til Shopware. Her handler det om praksis: syv opgaver med eksempelprompt, værktøjerne i baggrunden, de nødvendige rettigheder og de steder, hvor du skal være opmærksom.
MCP-serveren er en grænseflade i shoppen, hvor en AI-assistent kan læse data og efter godkendelse ændre dem. Den kører under /api/_mcp og bruger Admin API, altså Shopwares administrationsgrænseflade. Shopware introducerede den i version 6.7.11 bag et feature flag, og siden 6.7.14 er den altid aktiv. Version 6.7.16 fra november 2026 giver ifølge release notes blandt andet bedre håndtering af store svar fra værktøjerne. Indtil Shopware 6.8 betragtes serveren som eksperimentel, så navnene på værktøjerne kan stadig ændre sig.
Shopware leverer ingen specialkommandoer som „dagsrapport“ eller „find kunde“. Der findes generiske værktøjer, der fungerer med enhver entitet, altså enhver datatype som produkt, ordre eller kunde:
shopware-entity-search søger efter poster, shopware-entity-read læser en enkelt post, shopware-entity-schema viser felterne i en entitet.shopware-entity-aggregate beregner summer, gennemsnit, optællinger og udvikling direkte i Shopware uden at overføre rækker.shopware-entity-upsert opretter eller ændrer, shopware-entity-delete sletter, begge som standard som forhåndsvisning.shopware-order-state ændrer status for ordre, betaling og levering, shopware-media-upload henter billeder fra en URL, shopware-system-config-read og shopware-system-config-write læser og ændrer indstillinger, shopware-theme-config temaet.Dertil kommer resources med referencedata som shopware://sales-channels, shopware://currencies eller shopware://state-machines. Herfra læser modellen for eksempel, hvilke statusskift der er tilladt for en ordre.
MCP er bygget til dialog. Shopware begrænser kaldene på admin-endpointet til 300 pr. minut og 1.000 pr. ti minutter. Til import af 20.000 priser er Sync API via Shopware Admin API stadig den rigtige vej. Også processer, der kører om natten uden mennesker, hører hjemme i en integration eller et workflow, ikke i en chat.
Den mest almindelige opgave er samtidig den sikreste: at hente tal. I mange shops betyder det i dag at eksportere ordrer, filtrere i Excel og bygge en pivottabel. Med MCP stiller du spørgsmålet direkte.
Eksempelprompt: „Hvor meget omsatte vi for i går pr. salgskanal, hvor mange ordrer var det, og hvor stor var den gennemsnitlige kurv? Sammenlign med samme ugedag i ugen før.“
Modellen læser salgskanalerne fra resourcen, kalder shopware-entity-aggregate på entiteten order og beregner sum og gennemsnit af amountTotal samt en optælling, filtreret på dato. Til ugesammenligningen kommer et ekstra kald. Shopware leverer kun resultaterne, ikke de enkelte ordrer. Det holder svaret lille og beskytter kundedata.
Integrationen skal kun have læserettigheder til ordrer og salgskanaler. I allowlisten er shopware-entity-schema, shopware-entity-search og shopware-entity-aggregate nok. Skrivende værktøjer er slet ikke med.
Har du selv varerne på lager, mister du omsætning på tomme hylder og binder kapital i fulde. En AI-assistent erstatter ikke et ERP-system, men kan på sekunder levere en liste, som ellers kræver, at nogen filtrerer og sorterer.
Eksempelprompt: „Vis alle aktive produkter med en beholdning under 10, sorteret efter solgt antal de sidste 30 dage. Estimér for hvert produkt, hvor mange dage beholdningen rækker.“
Modellen søger med shopware-entity-search efter produkter med filtrene active og stock mindre end 10. Det solgte antal finder den via en aggregering på ordrelinjer. Rækkevidden beregner modellen selv: beholdning divideret med gennemsnitligt dagligt salg. Den beregning bør du forstå, for den kommer ikke fra Shopware.
Læserettigheder til produkter og ordrer er nok. Skal modellen også rette beholdningen efter en levering, kommer shopware-entity-upsert med ændringsret til produkter til. I praksis lægger vi det i en separat integration til lageret.
I kundeservice er det ikke selve svaret, der tager tid, men at samle oplysningerne: finde kundekontoen, åbne ordren, tjekke betalingsstatus, kopiere trackingnummeret. Netop det overtager assistenten.
Eksempelprompt: „Find kunden med ordrenummer 10482. Opsummér hendes seneste tre ordrer med dato, linjer, betalingsstatus, leveringsstatus og trackingnummer.“
Modellen søger ordren med shopware-entity-search, læser den med shopware-entity-read inklusive linjer, betalinger og leveringer og søger derefter flere ordrer fra samme kunde. Ud fra resultatet skriver den et kort overblik, som dit team svarer på baggrund af.
Læserettigheder til ordre, kunde og levering samt de tre læseværktøjer. Shopware anbefaler udtrykkeligt en rent læsende integration til netop dette tilfælde. Årsagen er prompt injection: Ordrenoter, kundenavne eller adresselinjer kommer fra kunderne og kan indeholde tekst, der skal lokke modellen til andre handlinger. Rettigheder begrænser skaden, men forhindrer ikke selve manipulationen.
Herfra ændrer assistenten data. Alligevel egner opgaven sig tidligt som indgang, fordi værktøjet shopware-order-state kun kender de statusskift, som Shopware alligevel tillader.
Eksempelprompt: „Sæt leveringen af ordrerne 10501 til 10512 til afsendt. Vis mig først listen med den aktuelle status.“
Modellen læser de tilladte overgange fra shopware://state-machines og kalder shopware-order-state med deliveryAction: ship, først med dryRun=true. Du ser, hvilke ordrer der ville ændres og hvordan. Først efter din bekræftelse følger samme kald med dryRun=false. Ét kald kan ændre ordrestatus, betalingsstatus og leveringsstatus samtidig, for eksempel ved en annullering med refusion.
Rollen skal have order:read og afhængigt af handlingen ændringsrettigheder til ordre, betaling eller levering. Må en person kun registrere forsendelser, får vedkommende kun order_delivery:update. Så stopper en annullering allerede ved rettighederne og ikke først ved et menneskes opmærksomhed.
I næsten alle kataloger mangler der beskrivelser på andetsproget, metatitler er tomme eller dobbelte, og egenskaber er ufuldstændige. En sprogmodel kan udfylde den slags huller godt, når den får klare rammer.
Eksempelprompt: „Find alle aktive produkter i kategorien Havemøbler uden metatitel. Foreslå for de første 20 en metatitel på højst 60 tegn efter mønsteret produktnavn, vigtigste egenskab, brand. Vis forslagene som tabel, og gem ikke noget endnu.“
Modellen søger produkterne, læser navn, egenskaber og beskrivelse og formulerer forslag. Efter din gennemgang kalder den shopware-entity-upsert, først som forhåndsvisning med de gamle og nye værdier, derefter bekræftet. Til oversættelser angiver du målsproget. Modellen skriver så i oversættelsen for det pågældende sprog.
Læse- og ændringsrettigheder til produkter, ingen rettigheder til ordrer eller kunder. Allowlisten indeholder læseværktøjerne og shopware-entity-upsert, men ikke shopware-entity-delete.
Nye varer kommer ofte som et regneark fra leverandøren: varenummer, navn, indkøbspris, vejledende udsalgspris, billed-URL. At oprette dem i administrationen tager nogle minutter pr. vare. For en håndfuld varer kan en importintegration ikke betale sig, men ved 15 varer om ugen kan assistenten.
Eksempelprompt: „Opret disse otte varer som inaktive produkter: navn, produktnummer, beholdning 0, producent Gartenwerk, momssats 25 procent, pris inkl. moms ifølge tabellen. Vis mig først forhåndsvisningen. Upload derefter billedet fra kolonnen billed-URL som hovedbillede.“
Shopware arbejder internt med ID’er. Modellen søger derfor først ID’et for momssatsen og producenten, læser valutaen fra shopware://currencies og bygger derefter kaldet til shopware-entity-upsert. Forhåndsvisningen viser hver vare med alle felter. Efter godkendelsen henter shopware-media-upload billederne og sætter dem som hovedbillede.
Oprettelse og ændring af produkter, læsning af momssatser, producenter og valutaer samt media:create til upload. Fordi upload gemmer uden forhåndsvisning, er det kun denne integration, der får medieværktøjet.
Shopwares systemindstillinger er omfattende og spredte. Vil du vide, hvor mange produkter en kategoriside viser, eller hvilken sortering der er standard, klikker du dig gennem flere menuer. Assistenten læser det i ét trin.
Eksempelprompt: „Hvilke indstillinger gælder for produktlisterne i salgskanalen Storefront DK? Ændr standardsorteringen til pris stigende, men vis mig først, hvad der ændres.“
shopware-system-config-read læser alle værdier under nøglen core.listing, efter ønske for en bestemt salgskanal. Ved ændringen viser shopware-system-config-write i dry run en før og efter-sammenligning. Efter bekræftelsen gemmer den den nye værdi. Til logo og farver findes shopware-theme-config, ligeledes med forhåndsvisning.
system_config:read til læsning, system_config:update til ændringer. Disse rettigheder hører hjemme i en integration til en person, der allerede i dag vedligeholder indstillinger, typisk shopchefen eller det tilknyttede bureau.
Den vigtigste beslutning træffes før den første prompt: Hvilken integration må hvad? Shopware anbefaler én integration pr. opgave eller rolle i teamet. Tabellen viser, hvordan vi fordeler de syv opgaver i projekter.
| Opgave | Integration | Værktøjer i allowlisten | Skriver data |
|---|---|---|---|
| 1 Dagsrapport | Analyse | schema, search, aggregate | nej |
| 2 Lager | Analyse eller lager | schema, search, aggregate, ved lager upsert | kun lager |
| 3 Kundeservice | Service læsende | schema, search, read | nej |
| 4 Forsendelse og annullering | Service status | search, read, order-state | ja, med forhåndsvisning |
| 5 Produkttekster | Katalog | schema, search, read, upsert | ja, med forhåndsvisning |
| 6 Nye varer | Katalog | schema, search, read, upsert, media-upload | ja, billeder uden forhåndsvisning |
| 7 Indstillinger | Shopchef | system-config-read, system-config-write | ja, med forhåndsvisning |
De tre discovery-værktøjer, som en klient bruger til at finde flere værktøjer og aktivere toolsets, kommer med i alle allowlists. Vigtigt: Aktivering af et toolset giver ingen rettigheder. Integrationens allowlist er fortsat grænsen. En MCP-adgang må aldrig knyttes til en administratorkonto, for administratorer går uden om allowlisten for brugere.
Et hypotetisk eksempel med erfaringstal: En webshop med 1.500 ordrer om måneden laver hver mandag en ugerapport. Det tager i dag 60 minutter, med assistenten 10. Kundeservice behandler 400 henvendelser om måneden og sparer cirka 2 minutter pr. henvendelse på at samle oplysninger. Samlet er det godt 3 timer på rapporterne og godt 13 timer i kundeservice, altså cirka 17 timer om måneden.
Over for det står opsætningen med roller, allowlists, promptskabeloner og oplæring, som efter vores erfaring ligger på 11.000 til 37.000 kr., og de løbende udgifter til AI-klienterne, cirka 20 US-dollar pr. bruger pr. måned for Claude Pro eller ChatGPT Plus ifølge udbyderne. Med en intern timesats på 300 kr. er en opsætning i den lave ende tjent hjem på to til tre måneder. For en lille shop med 100 ordrer om måneden er det især den læsende del, der kan betale sig, og den kræver næsten ingen opsætning.
De syv opgaver fungerer, men ikke uden opsyn. Disse grænser ser vi oftest i praksis.
For kundedata, der sendes til Claude eller ChatGPT, skal du have en databehandleraftale efter GDPR artikel 28, og ved udbydere uden for EU også et grundlag for overførslen. Tilsynsmyndigheden i Danmark er Datatilsynet. Er din virksomhed omfattet af en overenskomst på DA-området, gælder aftalen om kontrolforanstaltninger mellem DA og LO (i dag FH): En audit-log, der knytter ændringer til enkelte personer, kan være en kontrolforanstaltning, og nye kontrolforanstaltninger skal varsles over for medarbejderne senest seks uger før indførelsen. Har I et samarbejdsudvalg, så inddrag det tidligt. Når modellen opretter produkter, skal den kende den danske momssats på 25 procent, som skal være sat op som momsregel i Shopware.
For webshops, der ikke vil vedligeholde egne roller og prompts, findes der alternativer. Shopware Copilot i administrationen bruger samme MCP-endpoint med den indloggede brugers rettigheder og spørger før ændringer, og dens agentiske funktioner er en del af tilkøbsabonnementet Intelligence+. Den eksperimentelle pakke SwagMcpMerchantTools leverer færdige værktøjer som merchant-revenue-report eller merchant-customer-lookup, men Shopware forbeholder sig ret til at udfase den til fordel for Copilot. Hvilke AI-funktioner Shopware samlet set tilbyder, gennemgår vi i indlægget Shopware AI.
Nej. Fra Shopware 6.7.14 er MCP-serveren en del af kernen og altid aktiv. Du opretter en integration med rolle og allowlist og forbinder en klient som Claude eller ChatGPT. Plugins som AI Connect tilføjer forhåndsvisninger, audit-log og færdige konfigurationer.
Kun hvis du tillader det. Alle skrivende værktøjer undtagen billedupload kører som standard som forhåndsvisning, og klienter som Claude og ChatGPT lægger værktøjskald frem til godkendelse. Slår du begge dele fra, giver du kontrollen fra dig.
Dagsrapporten. Den kræver kun læserettigheder, giver værdi fra første dag og viser hurtigt, hvor præcist modellen arbejder med dine data.
Den indbyggede MCP-server findes ikke i 6.6. Det er muligt at bruge en separat MCP-server, der taler med Admin API. Vi anbefaler oftest opdatering til 6.7, fordi en separat server bliver overflødig med opdateringen.
Selve serveren koster ingenting. Løbende er der udgifterne til AI-klienterne. Opsætningen med roller, allowlists og oplæring ligger efter vores erfaring på 11.000 til 37.000 kr. Det gælder også for danske webshops, da arbejdet er det samme.
Vil du vide, hvilken af de syv opgaver der giver mest værdi i din shop? Vi hjælper også webshops i Danmark: Vi tjekker din Shopware-version, foreslår integrationer med passende roller og allowlists og sætter de første promptskabeloner op sammen med dit team. Til forhåndsvisning og audit-log bruger vi vores plugin AI Connect.
Skriv til os via kontaktformularen. Vil du først vide, hvor din shop står i dag, kan vores gratis shopanalyse hjælpe.

Besnik Bilalli er stifter og CEO i solution25, Shopware-bureauet fra Bremen. Før bureauet blev grundlagt i 2017, byggede han selv en webshop op og nåede over 500 ordrer om dagen. Siden har han hjulpet webshops med Shopware-projekter, fra den første kalkulation til den løbende drift. Spørgsmål til artiklen besvarer han gerne personligt: Kontakt os.
Ansvarlig for indhold og opdatering: Besnik Bilalli. Status: november 2026. Næste faglige gennemgang: februar 2027.