> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Outils WebMCP

> Les outils WebMCP qu'une page de commande storekit expose au navigateur, pour qu'un agent IA dans l'onglet du client lise le menu et remplisse le basket.

**À qui cela s'adresse :** un agent agissant pour le client, exécuté dans l'onglet du navigateur depuis lequel il commande.

Lorsqu'un agent IA dans le navigateur d'un client l'aide à commander, il doit sinon lire le markup de la page et simuler des clics — lent, et faux dès que la mise en page change. [WebMCP](https://github.com/webmachinelearning/webmcp) est un standard web proposé qui emprunte la voie directe : la page enregistre des outils auprès du navigateur, et l'agent les appelle avec des arguments structurés et récupère des données structurées.

Une page de commande storekit enregistre ses outils auprès du navigateur via `document.modelContext`. Rien à installer et aucune clé à obtenir : un agent qui prend en charge WebMCP trouve les outils sur la page où il se trouve déjà.

## Fonctionnement

Les outils agissent sur l'onglet que le client consulte, pas sur une copie.

* Les lectures répondent depuis l'état propre de la page — l'établissement chargé, le menu tel qu'il est filtré pour ce client, le basket tel qu'il est. Un agent n'est jamais informé qu'un article est commandable alors que la page le refuserait.
* Les écritures passent par les mêmes actions que les propres boutons de la page, si bien qu'une ligne ajoutée par un agent se comporte comme une ligne ajoutée par le client : mêmes tarifs, même validation d'options, même basket que le client voit se mettre à jour devant lui.
* Les prix reviennent sous forme de chaînes formatées dans la devise de l'établissement, et les descriptions sont dépouillées de leur markup et tronquées. Les résultats sont faits pour être lus à voix haute, pas pour être rendus.

Rien ne sort de l'onglet. Il n'y a ni serveur MCP impliqué ni transport : l'agent appelle une fonction JavaScript dans la page.

## Outils

L'agent choisit un outil d'après sa description. Chaque outil ci-dessous est enregistré sur chaque page de commande où WebMCP est activé.

### Établissement et menu

| Outil | Description |
| - | - |
| `get_venue_info` | Nom, adresse, horaires d'ouverture, si l'établissement est ouvert en ce moment, et les méthodes de commande qu'il accepte. |
| `search_menu` | Recherche dans le menu par nom de plat, catégorie ou description, comme un client le demanderait. Renvoie les articles correspondants avec prix, tags diététiques et indication de commandabilité immédiate. |
| `get_menu_item` | Un article en entier : description, prix, tags diététiques, les allergènes qu'il contient et qu'il peut contenir, ses valeurs nutritionnelles là où l'établissement les publie, et les groupes d'options à choisir lors de la commande. Accepte une `category` optionnelle pour un nom présent dans plusieurs catégories. |

### Basket

| Outil | Description |
| - | - |
| `get_basket` | Les articles du basket avec les quantités, les options choisies et le total du basket. |
| `add_to_basket` | Ajouter un ou plusieurs articles avec leurs options. Les articles qui ne peuvent pas être ajoutés sont signalés en retour et le reste est tout de même ajouté. |
| `set_basket_item_quantity` | Modifier la quantité d'une ligne du basket, ou supprimer la ligne avec une quantité de `0`. |
| `set_fulfillment_method` | Définir Delivery, Pickup ou InStore, limité aux méthodes que l'établissement accepte. |

Les trois outils de basket sont les seules écritures, et elles sont marquées comme écritures — un client qui respecte `readOnlyHint` demande au client avant d'en appeler un. Le paiement, les codes de réduction et l'ouverture du checkout ne sont pas exposés : le client vérifie et paie sur la page.

Les articles sont désignés à une écriture par l'id que les lectures publient, avec les éventuelles options choisies entre parenthèses — `BURGER(CHEESE;BACON:2)` — la même grammaire que celle utilisée par les [liens de pré-remplissage du basket](/docs/fr/developers/basket-prefill). Un article dont les options sont imbriquées sur plus d'un niveau est renvoyé avec un lien vers sa page à la place, car un arbre de choix aussi profond produit des baskets que personne n'a commandés.

## Où les outils sont disponibles

> [!NOTE]
>
> WebMCP est une proposition, pas une API navigateur livrée. Le déploiement ci-dessous suit celui de Chrome, et s'élargira lorsque l'API sera livrée sans gate.

| | Statut |
| - | - |
| Navigateurs | Navigateurs basés sur Chromium avec prise en charge de WebMCP. La page fait de la détection de fonctionnalité et n'enregistre rien ailleurs. |
| Domaine | `order.storekit.com`. Le jeton d'origin trial Chrome est lié à cette origine exacte, donc les magasins sur leur propre domaine n'ont aucun outil tant que Chrome n'a pas livré l'API. |
| Comptes | Désactivé par défaut et activé par compte par storekit, si bien que les outils peuvent être coupés sans déploiement. |
| Kiosque | Jamais. Un terminal fixe n'a pas d'agent client. |
| Appareils du personnel | Rien de séparé. Un membre du personnel qui ouvre une page de commande obtient les mêmes outils côté client que n'importe qui d'autre ; il n'y a pas ici d'ensemble d'outils dédié au personnel ou à l'opérateur. |
| Application storekit | Jamais. La commande à l'intérieur de l'application iOS ou Android n'enregistre aucun outil. |

La page s'inscrit également dans un agent cluster isolé par origine, ce que WebMCP requiert. Rien n'est téléchargé sur un navigateur sans WebMCP : la détection de fonctionnalité a lieu en premier, et les outils ne sont récupérés qu'après que la page est interactive.

## Essayer les outils

**1. Activez WebMCP dans Chrome**

Activez `chrome://flags/#enable-webmcp-testing`, ou utilisez une extension d'agent compatible WebMCP.

**2. Ouvrez un magasin sur order.storekit.com**

Chargez la page de commande d'un établissement et laissez-la finir de s'afficher.

**3. Vérifiez que les outils sont bien enregistrés**

Demandez à l'agent quels outils la page propose. Il devrait lister les sept ci-dessus. S'il n'en liste aucun, parcourez le tableau ci-dessus avant de tirer la moindre conclusion : un navigateur sans WebMCP, un domaine autre que `order.storekit.com`, un kiosque ou une page in-app, ou une page qui n'a pas fini de charger n'enregistrent rien, et les outils restent également coupés tant que storekit ne les a pas activés pour le compte — [contactez le support](/docs/fr/getting-started/contact-support).

**4. Commandez quelque chose**

« Qu'est-ce qui est vegan ici ? », puis « ajoute-en deux » — le basket dans l'onglet se remplit à mesure que l'agent travaille, et le client paie sur la page.

## Ce qui n'est pas encore là

* **Checkout.** Aucun outil n'ouvre ni ne finalise le checkout. Le paiement reste une étape humaine, sur la page.
* **Domaines personnalisés.** Les domaines whitelabel n'ont aucun outil tant que l'origin trial est par origine.
* **Catering et Pay at Table.** Aucun de ces parcours n'est exposé ; les outils couvrent les commandes Delivery, Pickup et InStore.
* **Historique des commandes.** Il n'y a pas d'outil pour les commandes passées ou le statut d'une commande.

Pour un agent qui n'est pas dans le navigateur du client, utilisez plutôt l'[endpoint MCP](/docs/fr/developers/agents/ordering/mcp-endpoint) — la même mise en forme du menu via HTTP, avec ses propres noms d'outils et un cart plutôt que le basket de la page.


## Related topics

- [Aperçu des agents de commande](/docs/fr/developers/agents/ordering/overview.md)
- [Endpoint MCP](/docs/fr/developers/agents/ordering/mcp-endpoint.md)
- [Introduction pour les développeurs](/docs/fr/developers/introduction.md)
- [Outils](/docs/fr/developers/mcp/tools.md)
- [Créer tes propres outils sur storekit](/docs/fr/guides/build/overview.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.