mcp.storekit.com nodig.
Elke storekit-ordering-host is ook een remote MCP-server. Een assistent die zich nergens in de buurt van de browser van de klant bevindt (ChatGPT, Claude, een agent-app, een IDE) kan verbinding maken, het menu van een filiaal lezen, een prijs uitrekenen en een cart bouwen die de klant vervolgens opent om te betalen.
Endpoints
Er zijn twee scopes en beide zijn bereikbaar op de eigen ordering-host van de store:{host} is het domein waarvandaan de ordering-pagina’s van de store worden geserveerd, zoals order.storekit.com. Beide endpoints zijn beperkt tot die host, dus een merk op zijn eigen domein kan alleen antwoorden voor zijn eigen filialen.
Gebruik het merkendpoint wanneer de klant nog niet heeft gezegd welk filiaal ze willen: find_venues geeft de slug terug die elke andere tool vervolgens als venue-argument aanneemt. Gebruik het filiaal-endpoint wanneer de locatie al vaststaat.
Een GET of HEAD op beide endpoints geeft 200 en een regel die aangeeft wat het endpoint is, zodat een client het kan sonderen voordat een sessie wordt geopend.
Protocol
JSON-RPC 2.0 over HTTP, één bericht perPOST. De geïmplementeerde methodes zijn initialize, ping, tools/list en tools/call; MCP-revisies 2025-06-18, 2025-03-26 en 2024-11-05 worden allemaal beantwoord in de revisie waar de client om vraagt.
structuredContent voor clients die het lezen. Het endpoint is stateless: initialize geeft geen session id terug en er wordt niets onthouden tussen verzoeken. Een gesprek draagt daarom zelf de venue slug en de cart id, geen sessie.
Fouten worden gesplitst op wie er wat aan kan doen. Een verkeerd gevormd argument is een JSON-RPC -32602 met de parameternaam; alles waar de assistent van kan herstellen (geen bestaande categorie, geen match, een filiaal dat is gestopt met bestellingen aannemen) komt terug als tool-resultaat met isError: true waarvan de tekst zegt wat te doen.
Read-tools
get_menu en search_menu nemen beide optionele excludeAllergens- en diets-lijsten aan. excludeAllergens noemt een van de 14 UK-allergenen (celery, gluten, crustaceans, fish, eggs, lupin, milk, molluscs, mustard, nuts, peanuts, sesame, soya, sulphites) en laat elk item weg dat er een bevat of kan bevatten; een item zonder allergene informatie blijft, omdat ongetagd niet hetzelfde is als vrij ervan. diets noemt een van halal, kosher, vegan, vegetarian, gluten free en dairy free, en houdt alleen items over die als passend voor elk daarvan zijn getagd. Dit zijn dezelfde regels die de ordering-pagina toepast op haar eigen allergen- en dieetfilters, en het resultaat echoot de toegepaste filters onder filters.
Op het merkendpoint neemt elke tool behalve find_venues een extra venue-argument aan, en een slug die niet bij dat merk hoort wordt geweigerd met de eigen lijst van het merk in plaats van beantwoord vanuit het menu van een ander merk.
Reads dragen readOnlyHint, zodat een client ze kan aanroepen zonder eerst de klant te vragen. Prijzen zijn geformatteerde strings in de valuta van het filiaal, beschrijvingen zijn gestript en afgekapt, en elke lijst is begrensd.
Fulfillmentmethodes worden gerapporteerd op basis van wat de venue-payload bewijst: Delivery, Pickup en InStore. Catering wordt niet via MCP aangeboden.
Cart-tools
De cart-capability volgt de UCP cart MCP binding exact, zodat een UCP-client geen mapping-tabel nodig heeft.
Wat de binding in de praktijk betekent:
- Elke call draagt
meta["ucp-agent"]met je agent-profiel. Een call zonder deze wordt geweigerd. - De cart id is een top-level
id, nooit genest incart. - Bedragen zijn integer minor units (
450is £4.50). - Een business-probleem is een succesvol resultaat dat
messages[]bevat: een regel die niet langer verkoopbaar is, wordt daar gemeld in plaats van te verdwijnen. - Regels worden benoemd op item id met opties tussen haakjes,
BURGER(CHEESE;BACON:2), dezelfde grammatica die de basket prefill links gebruiken.
Gerelateerd
UCP discovery
Het profiel dat deze endpoints en de cart-capability aankondigt.
WebMCP-tools
De aparte toolset die een agent binnen de browser van de klant aanroept.