← WebMCP Directory

robotrunk.com

robotrunk.com

live Unverified (seed import) Commerce 23 tools imperative implementation

Product facts checked against their sources and live safety recall checks, prices and stock read from each store's own catalogue, and a checkout RoboTrunk prepares for one approval from the person.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 11 · Act 6 · Transact 6 · Score: Not yet scored

Tool inspector

update_checkout

transact imperative May require confirmation

Sends permitted buyer, address, line-item, context, discount or fulfilment changes to a checkout at a store. Use this when a checkout from create_checkout needs correction before handoff, and to send the buyer's email and full delivery address (from the person, in this conversation or saved in your app) if you did not send them on create_checkout, so the store prefills them and the total includes delivery. Not for paying or sending payment details. Outputs: the updated rail envelope and suggested_tools. Error recovery: buyer_identity_contact_method_required means the store needs the buyer's email, so send buyer.email from the person; BUDGET_EXCEEDED means the store's total, shipping and tax included, is over the ceiling the person approved: tell the person, then raise budget_ceiling_minor once they approve or call cancel_checkout; MERCHANT_REJECTED_INPUT means the store refused one field that errors[] names, so fix it and retry with a new key; IDEMPOTENCY_CONFLICT means use a fresh key for a changed request; INVALID_REQUEST names a body or header problem; INVALID_STATE means the checkout cannot change now, so call get_checkout, then create_checkout again if it ended; CHECKOUT_NOT_FOUND means the handle is unavailable, so call create_checkout again; continuation_not_found or RUN_AUTH_REQUIRED means send checkout_id exactly as an earlier answer returned it and, if you did, call create_checkout again; PAYMENT_INSTRUMENT_NOT_ACCEPTED means remove payment data and retry; any other error, including tool_layer_failure: retry once, then call submit_feedback. Next: get_checkout to read the new status, complete_checkout when it is ready_for_complete. Full guide: get_tool_guide or /agent/tools.json#update_checkout

Page: /

Input schema

PropertyTypeRequiredDescription
checkout_id string yes The UCP checkout id from create_checkout or get_checkout.
buyer object,null yes Buyer details for the merchant, or null to leave them unchanged. Example: {"email": "<the person's email>"}: the <...> is the person's own address, never invented.
shipping_address object,null yes The merchant shipping address, or null to leave it unchanged. Example: {"first_name": "<from the person>", "last_name": "<from the person>", "street_address": "<street>", "extended_address": "<apartment or suite, or null>", "address_locality": "<city>", "address_region": "<two-letter state code, such as CA>", "postal_code": "<ZIP code>", "address_country": "US"}: every <...> is the person's own value, never invented.
context object,null yes Optional merchant context, or null to leave it unchanged.
discounts object,null yes Discount codes for the merchant, or null to leave them unchanged.
line_items array,null yes Replacement line items: the whole basket, every line the checkout should hold, up to 50 at a quantity of 1 to 100 each, all from this checkout's store; or null to leave the current set unchanged. Example: [{"product_id": "<product_id from search_catalog>", "variant_id": "<variant_id from the same result>", "quantity": 1}], the ids exactly as returned, never a page link.
fulfillment_option_id string,null yes The selected fulfillment option id, or null.
budget_ceiling_minor integer,null yes The total the person approved, shipping and tax included, in minor units, or null. A store total above it is refused BUDGET_EXCEEDED; ask the person. Example: 24995 for a total of 249.95.
budget_ceiling_currency string,null yes The ISO-4217 currency of the ceiling, or null for the merchant's own. Any other is refused, naming the merchant's.
idempotency_key string,null yes A printable ASCII key for safe retries, or null to generate one.
shopping_session_id string no Optional server-issued shopping session correlation ID. It is not purchase authority.
Raw JSON schema
{
  "type": "object",
  "properties": {
    "checkout_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300,
      "description": "The UCP checkout id from create_checkout or get_checkout."
    },
    "buyer": {
      "type": [
        "object",
        "null"
      ],
      "description": "Buyer details for the merchant, or null to leave them unchanged. Example: {\"email\": \"<the person's email>\"}: the <...> is the person's own address, never invented.",
      "properties": {
        "email": {
          "type": "string",
          "format": "email",
          "maxLength": 254,
          "description": "The buyer email address."
        },
        "first_name": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 100,
          "description": "The buyer first name."
        },
        "last_name": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 100,
          "description": "The buyer last name."
        },
        "phone_number": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 100,
          "description": "The buyer phone number."
        }
      },
      "required": [
        "email"
      ],
      "additionalProperties": false
    },
    "shipping_address": {
      "type": [
        "object",
        "null"
      ],
      "description": "The merchant shipping address, or null to leave it unchanged. Example: {\"first_name\": \"<from the person>\", \"last_name\": \"<from the person>\", \"street_address\": \"<street>\", \"extended_address\": \"<apartment or suite, or null>\", \"address_locality\": \"<city>\", \"address_region\": \"<two-letter state code, such as CA>\", \"postal_code\": \"<ZIP code>\", \"address_country\": \"US\"}: every <...> is the person's own value, never invented.",
      "properties": {
        "first_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "The recipient first name."
        },
        "last_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "The recipient last name."
        },
        "street_address": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200,
          "description": "The street address."
        },
        "extended_address": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 200,
          "description": "Apartment or suite (optional)."
        },
        "address_locality": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "City (town or locality outside the US)."
        },
        "address_region": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "Two-letter state code, such as CA (state, province or region outside the US)."
        },
        "postal_code": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100,
          "description": "ZIP code (postcode outside the US)."
        },
        "address_country": {
          "type": "string",
          "pattern": "^[A-Z]{2}$",
          "description": "The two-letter uppercase country code. Example: \"US\", not \"United States\"."
        },
        "phone_number": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 100,
          "description": "The delivery contact phone number."
        }
      },
      "required": [
        "first_name",
        "last_name",
        "street_address",
        "address_locality",
        "address_region",
        "postal_code",
        "address_country"
      ],
      "additionalProperties": false
    },
    "context": {
      "type": [
        "object",
        "null"
      ],
      "description": "Optional merchant context, or null to leave it unchanged.",
      "properties": {
        "address_country": {
          "type": [
            "string",
            "null"
          ],
          "pattern": "^[A-Z]{2}$",
          "description": "The two-letter uppercase destination country code."
        },
        "address_region": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 100,
          "description": "The destination state, such as CA (province or region outside the US)."
        },
        "postal_code": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 100,
          "description": "The destination ZIP code (postcode outside the US)."
        },
        "language": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 1,
          "maxLength": 35,
          "description": "The buyer's preferred language tag."
        }
      },
      "additionalProperties": false
    },
    "discounts": {
      "type": [
        "object",
        "null"
      ],
      "description": "Discount codes for the merchant, or null to leave them unchanged.",
      "properties": {
        "codes": {
          "type": "array",
          "maxItems": 10,
          "description": "Up to ten printable discount codes.",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[\\x20-\\x7E]+$",
            "description": "One printable ASCII discount code."
          }
        }
      },
      "required": [
        "codes"
      ],
      "additionalProperties": false
    },
    "line_items": {
      "type": [
        "array",
        "null"
      ],
      "description": "Replacement line items: the whole basket, every line the checkout should hold, up to 50 at a quantity of 1 to 100 each, all from this checkout's store; or null to leave the current set unchanged. Example: [{\"product_id\": \"<product_id from search_catalog>\", \"variant_id\": \"<variant_id from the same result>\", \"quantity\": 1}], the ids exactly as returned, never a page link.",
      "minItems": 1,
      "maxItems": 50,
      "items": {
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300,
            "description": "The product id from the merchant catalogue."
          },
          "variant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 300,
            "description": "The variant id from the merchant catalogue."
          },
          "quantity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "How many of this product, 1 to 100; the store has the final say on stock."
          }
        },
        "required": [
          "product_id",
          "variant_id",
          "quantity"
        ],
        "additionalProperties": false
      }
    },
    "fulfillment_option_id": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "maxLength": 100,
      "description": "The selected fulfillment option id, or null."
    },
    "budget_ceiling_minor": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "The total the person approved, shipping and tax included, in minor units, or null. A store total above it is refused BUDGET_EXCEEDED; ask the person. Example: 24995 for a total of 249.95."
    },
    "budget_ceiling_currency": {
      "type": [
        "string",
        "null"
      ],
      "pattern": "^[A-Z]{3}$",
      "description": "The ISO-4217 currency of the ceiling, or null for the merchant's own. Any other is refused, naming the merchant's."
    },
    "idempotency_key": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 16,
      "maxLength": 128,
      "description": "A printable ASCII key for safe retries, or null to generate one."
    },
    "shopping_session_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
      "description": "Optional server-issued shopping session correlation ID. It is not purchase authority."
    }
  },
  "required": [
    "checkout_id",
    "buyer",
    "shipping_address",
    "context",
    "discounts",
    "line_items",
    "fulfillment_option_id",
    "budget_ceiling_minor",
    "budget_ceiling_currency",
    "idempotency_key"
  ],
  "additionalProperties": false
}

Similar websites

cleardose-webmcp-demo.netlify.app

cleardose-webmcp-demo.netlify.app

See the ClearDose WebMCP use case, shared Vue and Pinia architecture, demo workflow, source repository, and submission readiness.

live Unverified Commerce Transact tools
78 tools A36 / Act41 / T1 Not yet scored Seen 2026-11-05
search_medications get_medication_details compare_fulfillment_options select_medication_option create_prescription_request_card
Inspect tools
4over4.com

4over4.com

4OVER4.COM prints 1,000+ custom products on 60+ paper stocks in Queens, with same-day shipping on most orders and 150,000+ businesses served since 1999.

live Unverified Commerce Transact tools
73 tools A24 / Act48 / T1 Not yet scored Seen 2026-11-05
go_to_product go_to_category go_home search_site open_ai_mode
Inspect tools
camdentools.com

camdentools.com

Construction tools and equipment

live Unverified Commerce
50 tools A36 / Act14 / T0 Not yet scored Seen 2026-11-05
cart_add_item cart_apply_promo cart_clear cart_get cart_remove_item
Inspect tools
autolab.run

autolab.run

Super intelligence for car lovers. A WebMCP vehicle configurator, an agentic owner's guide with a live digital twin, and the 3D creation engine that measures th…

live Unverified Commerce
49 tools A19 / Act30 / T0 Not yet scored Seen 2026-11-05
list_autolab_experiences get_autolab_overview open_autolab_experience get_vehicle_configuration list_vehicle_configuration_options
Inspect tools

Related on Influzer