Storeware Docs

Apps on the agent doors

How what a merchant's installed apps add reaches AI agents buying over MCP, UCP and ACP.

A merchant's installed apps add to what an AI agent sees and gets at their shop. Three kinds of contribution reach the agent doors, each from the release that shop approved.

Checkout functions

Checkout functions run wherever a basket is priced: the shop's own checkout, ACP, UCP, MCP checkout, x402 and MPP. A function runs when a basket is created and each time it changes. Its answer is kept on the basket, so placing the order charges what the agent was shown.

What the app doesUCPACP
Takes an amount offEach discount is its own entry in discounts.applied, titled with the app's nameInside the one discount total
Changes deliveryThe changed options in the fulfilment choicesThe changed options in fulfillment_options
Hides a payment methodLeft out of the session's payment_handlers, and refused at completeLeft out of the payment handlers, and refused at complete
Refuses the basketA basket_refused message on the line, with the app's name and reasonAn invalid message that requires_buyer_input

A refused basket is needs_details until it changes; x402 answers 409 basket_refused. A function that fails or answers late is set aside, so a basket never fails because an app did. A function is told the channel, web or agent, so an app that answers by channel gives agents a different price.

Knowledge

An app with [knowledge] adds product attributes and links between products, merged into the shop's catalogue. What it adds reaches an agent through:

  • search on every door: MCP search_products, UCP catalogue search and search_catalog over UCP's MCP binding, with what each product matched;
  • Ask, over REST, MCP and UCP;
  • MCP get_product, in attributes, and related_products, with the app named in asserted_by.

It is not in the ACP product feed or in a UCP product record, which carry the shop's own fields.

Tools

An app's [[mcp.tools]] are offered on the shop's MCP server, named plugin_<app>_<tool>, with the app named in each description. They are not on UCP's MCP binding, whose tools are the protocol's own.

Tools an app gives the merchant's own assistant are a separate list: see Tools for the merchant's assistant.

On this page