> ## 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.

# WebMCP Tools

> The WebMCP tools a storekit ordering page registers with the browser, so an AI agent in the customer's tab can read the menu and fill the basket instead of clicking through the page.

**Who this is for:** an agent acting for the customer, running in the browser tab they are ordering in.

When an AI agent in a customer's browser helps them order, it otherwise has to read the page's markup and simulate clicks — slow, and wrong as soon as the layout changes. [WebMCP](https://github.com/webmachinelearning/webmcp) is a proposed web standard that takes the direct route: the page registers tools with the browser, and the agent calls them with structured arguments and gets structured data back.

A storekit ordering page registers its tools with the browser through `document.modelContext`. There is nothing to install and no key to obtain: an agent that supports WebMCP finds the tools on the page it is already on.

## How It Works

The tools act on the tab the customer is looking at, not on a copy of it.

* Reads answer from the page's own state — the venue that is loaded, the menu as it is filtered for this customer, the basket as it stands. An agent is never told an item is orderable that the page would refuse.
* Writes go through the same actions the page's own buttons use, so a line an agent adds behaves like one the customer added: the same pricing, the same option validation, the same basket the customer sees update in front of them.
* Prices come back as formatted strings in the venue's currency, and descriptions are stripped of markup and truncated. Results are for reading aloud, not for rendering.

Nothing leaves the tab. There is no MCP server involved and no transport: the agent calls a JavaScript function in the page.

## Tools

The agent picks a tool from its description. Every tool below is registered on every ordering page where WebMCP is enabled.

### Venue and Menu

| Tool             | Description                                                                                                                                                                 |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_venue_info` | Name, address, opening hours, whether the venue is open right now, and the ordering methods it accepts.                                                                     |
| `search_menu`    | Search the menu by dish name, category or description, the way a customer asks for it. Returns matching items with price, dietary tags and whether they can be ordered now. |
| `get_menu_item`  | One item in full: description, price, dietary tags, and the option groups that have to be chosen when ordering it.                                                          |

### Basket

| Tool                       | Description                                                                                                          |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `get_basket`               | The items in the basket with quantities, chosen options and the basket total.                                        |
| `add_to_basket`            | Add one or more items with their options. Items that cannot be added are reported back and the rest are still added. |
| `set_basket_item_quantity` | Change how many of a basket line the customer has, or remove the line with a quantity of `0`.                        |
| `set_fulfillment_method`   | Set Delivery, Pickup or InStore, limited to the methods the venue accepts.                                           |

The three basket tools are the only writes, and they are marked as writes — a client that respects `readOnlyHint` asks the customer before calling one. Payment, discount codes and opening checkout are not exposed: the customer reviews and pays on the page.

Items are named to a write by the id the reads publish, with any chosen options in brackets — `BURGER(CHEESE;BACON:2)` — the same grammar the [basket prefill links](/docs/developers/basket-prefill) use. An item whose options are nested more than one level deep is returned with a link to its page instead, because a choice tree that deep produces baskets nobody ordered.

## Where the Tools Are Available

<Note>
  WebMCP is a proposal, not a shipped browser API. The rollout below tracks Chrome's, and will widen when the API ships ungated.
</Note>

|               | Status                                                                                                                                                      |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Browsers      | Chromium-based browsers with WebMCP support. The page feature-detects and registers nothing elsewhere.                                                      |
| Domain        | `order.storekit.com`. The Chrome origin trial token is bound to that exact origin, so stores on their own domain have no tools until Chrome ships the API.  |
| Accounts      | Off by default and enabled per account by storekit, so the tools can be switched off without a deploy.                                                      |
| Kiosk         | Never. A fixed terminal has no customer agent.                                                                                                              |
| Staff devices | Nothing separate. A member of staff opening an ordering page gets the same customer-side tools as anyone else; there is no staff or operator tool set here. |
| storekit app  | Never. Ordering inside the iOS or Android app registers no tools.                                                                                           |

The page also opts into an origin-isolated agent cluster, which WebMCP requires. Nothing is downloaded on a browser without WebMCP: feature detection happens first, and the tools are fetched only after the page is interactive.

## Trying the Tools

<Steps>
  <Step title="Enable WebMCP in Chrome">
    Turn on `chrome://flags/#enable-webmcp-testing`, or use a WebMCP-capable agent extension.
  </Step>

  <Step title="Open a store on order.storekit.com">
    Load a venue's ordering page and let it finish rendering.
  </Step>

  <Step title="Confirm the tools registered">
    Ask the agent what tools the page offers. It should list the seven above. If it lists none, work through the table above before assuming anything: a browser without WebMCP, a domain other than `order.storekit.com`, a kiosk or in-app page, or a page that has not finished loading all register nothing, and the tools are also off until storekit enables them for the account — [contact support](/docs/getting-started/contact-support).
  </Step>

  <Step title="Order something">
    "What's vegan here?", then "add two of those" — the basket in the tab fills as the agent works, and the customer pays on the page.
  </Step>
</Steps>

## What Is Not Here Yet

* **Checkout.** No tool opens or completes checkout. Payment stays a human step, on the page.
* **Custom domains.** Whitelabel domains get no tools while the origin trial is per-origin.
* **Catering and Pay at Table.** Neither flow is exposed; the tools cover Delivery, Pickup and InStore ordering.
* **Order history.** There is no tool for past orders or order status.

For an agent that is not in the customer's browser, use the [MCP endpoint](/docs/developers/agents/ordering/mcp-endpoint) instead — the same menu shaping over HTTP, with its own tool names and a cart rather than the page's basket.


## Related topics

- [Ordering Agents Overview](/docs/developers/agents/ordering/overview.md)
- [Developer Introduction](/docs/developers/introduction.md)
- [MCP Endpoint](/docs/developers/agents/ordering/mcp-endpoint.md)
- [API & Webhooks](/docs/guides/integrations/api-webhooks.md)
- [Setting Up Webhooks](/docs/developers/webhooks/setting-up-webhooks.md)
