mcp.storekit.com.
Chaque hôte de commande storekit est aussi un serveur MCP distant. Un assistant qui n’est nulle part près du navigateur du client (ChatGPT, Claude, une application agent, un IDE) peut s’y connecter, lire le menu d’un établissement, obtenir un prix et construire un cart que le client ouvre ensuite pour payer.
Endpoints
Il y a deux niveaux, et tous deux sont atteints sur l’hôte de commande propre au magasin :{host} est le domaine sur lequel les pages de commande du magasin sont servies, par exemple order.storekit.com. Les deux endpoints sont restreints à cet hôte, si bien qu’un brand sur son propre domaine ne peut répondre que pour ses propres établissements.
Utilise l’endpoint brand quand le client n’a pas encore dit quelle succursale il veut : find_venues renvoie le slug que tous les autres outils prennent ensuite comme argument venue. Utilise l’endpoint venue quand le lieu est déjà fixé.
Un GET ou HEAD sur l’un ou l’autre endpoint renvoie 200 et une ligne indiquant ce qu’est l’endpoint, ce qui permet à un client de le sonder avant d’ouvrir une session.
Protocole
JSON-RPC 2.0 sur HTTP, un message parPOST. Les méthodes implémentées sont initialize, ping, tools/list et tools/call ; les révisions MCP 2025-06-18, 2025-03-26 et 2024-11-05 sont toutes traitées dans la révision que le client demande.
structuredContent pour les clients qui le lisent. L’endpoint est stateless : initialize ne renvoie aucun identifiant de session et rien n’est retenu entre les requêtes, donc une conversation porte le slug de l’établissement et l’identifiant du cart plutôt qu’une session.
Les erreurs se répartissent selon qui peut agir dessus. Un argument mal formé est un JSON-RPC -32602 nommant le paramètre ; tout ce dont l’assistant peut se remettre (pas de catégorie de ce nom, pas de correspondance, un établissement qui n’accepte plus de commandes) revient sous forme de résultat d’outil avec isError: true dont le texte indique quoi faire ensuite.
Outils de lecture
get_menu et search_menu prennent tous deux des listes optionnelles excludeAllergens et diets. excludeAllergens nomme l’un des 14 allergènes UK (celery, gluten, crustaceans, fish, eggs, lupin, milk, molluscs, mustard, nuts, peanuts, sesame, soya, sulphites) et écarte tout article qui contient ou peut contenir l’un d’eux ; un article sans information d’allergène est conservé, car « non étiqueté » n’est pas la même chose qu’« exempt de ». diets nomme l’un des halal, kosher, vegan, vegetarian, gluten free et dairy free, et ne conserve que les articles étiquetés comme correspondant à chacun d’eux. Ce sont les mêmes règles que la page de commande applique à ses propres filtres allergènes et régimes, et le résultat renvoie sous filters les filtres qui ont été appliqués.
Sur l’endpoint brand, chaque outil sauf find_venues prend un argument venue supplémentaire, et un slug qui n’appartient pas à ce brand est refusé avec la liste propre du brand plutôt que traité à partir du menu d’un autre brand.
Les lectures portent readOnlyHint, si bien qu’un client peut les appeler sans demander au client au préalable. Les prix sont des chaînes formatées dans la devise de l’établissement, les descriptions sont nettoyées et tronquées, et chaque liste est plafonnée.
Les modes de fulfillment sont rapportés à partir de ce que le payload de l’établissement prouve : Delivery, Pickup et InStore. Le Catering n’est pas proposé via MCP.
Outils cart
La capability cart suit exactement le binding MCP cart d’UCP, donc un client UCP n’a besoin d’aucune table de correspondance.
Ce que le binding signifie en pratique :
- Chaque appel porte
meta["ucp-agent"]avec ton profil d’agent. Un appel sans est rejeté. - L’identifiant du cart est un
idde premier niveau, jamais imbriqué danscart. - Les montants sont des entiers en unités mineures (
450correspond à £4,50). - Un problème métier est un résultat réussi portant
messages[]: une ligne qui n’est plus vendable y est signalée plutôt que de disparaître. - Les lignes sont nommées par identifiant d’article avec les options entre parenthèses,
BURGER(CHEESE;BACON:2), la même grammaire que celle utilisée par les liens basket prefill.
Voir aussi
Découverte UCP
Le profil qui publie ces endpoints et la capability cart.
Outils WebMCP
Le jeu d’outils distinct qu’un agent appelle à l’intérieur du navigateur du client.