Skip to content

xyz.trusteed/mcp-gateway

by trusteed.xyz · remote · no sign-in to list tools · v1.0.0 · published by xyz.trusteed

Agentic commerce gateway: discovery, search, checkout across Shopify/Woo/Odoo/PrestaShop.

Deletes · 1Changes · 13

27 tools: 1 can delete or cancel things, 13 change things and 13 only read.

Scanned Oct 21, 2026

40 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http gateway https://trusteed.xyz/demo-store/mcp

Findings

Matches of fixed checks, with the text they matched.

4 warn36 info
  • The server marks "get_shipping_rates" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "get_shipping_rates" says "get": a word for reading.

    What this check looks for
  • The server marks "preview_checkout" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "preview_checkout" says "preview": a word for reading.

    What this check looks for
  • The server marks "quote_checkout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "quote_checkout" says "checkout": a word for a change.

    What this check looks for
  • The server marks "ucp_preview_checkout" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "ucp_preview_checkout" says "preview": a word for reading.

    What this check looks for
  • The description mentions "CREDENTIAL".

    Matched text

    description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
Show 34 more findings
  • The description mentions "CREDENTIAL".

    Matched text

    description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The description mentions "CREDENTIAL".

    Matched text

    description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The description mentions "CREDENTIAL".

    Matched text

    description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The description mentions "CREDENTIAL".

    Matched text

    description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

    What this check looks for
  • The input schema at properties.payment_mandate.description mentions "credential".

    Matched text

    inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...l `approval_status_url` with your agent credential, and send the mandate you receive as th..."

    What this check looks for
  • The input schema at properties.payment_mandate.description mentions "credential".

    Matched text

    inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The description is 2,547 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...t headers. Do not ask a person to log in: there is no human login for this store."

    What this check looks for
  • The input schema at properties.meta.description mentions "credentials".

    Matched text

    inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The input schema at properties.meta.description mentions "credentials".

    Matched text

    inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The input schema at properties.meta.description mentions "credentials".

    Matched text

    inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The input schema at properties.meta.description mentions "credentials".

    Matched text

    inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

    What this check looks for
  • The input schema at properties.payment_mandate.description mentions "credential".

    Matched text

    inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...l `approval_status_url` with your agent credential, and send the mandate you receive as th..."

    What this check looks for
  • The input schema at properties.meta.description mentions "credentials".

    Matched text

    inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

    What this check looks for
  • The input schema at properties.payment.description mentions "credential".

    Matched text

    inputSchema.properties.payment.description: "...e Payment Mandate goes in instruments[].credential.token."

    What this check looks for
  • The input schema at properties.payment_mandate.description mentions "credential".

    Matched text

    inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "Get a temporary sandbox credential for this demo store, valid 24h. Present..."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...heckout call is still running. Only the credential that made the purchase can read its rec..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for
  • The input schema at properties.agent_key.description mentions "credential".

    Matched text

    inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

27 tools

Deletes or cancels 1Claude Code: deny
  • ucp_cancel_checkoutCancel a UCP checkout session.1 finding

    Why it is in this group

    • The name "ucp_cancel_checkout" says "cancel": a word for removing or ending something.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Cancel a UCP checkout session. Transitions to 'canceled' status. Cannot cancel already completed checkouts. Use ONLY for a checkout session created with ucp_create_checkout (Universal Commerce Protocol); for the standard flow (create_cart, preview_checkout, complete_checkout) do not call this tool. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Changes things 13Claude Code: ask
  • apply_discountApply a discount or promo code to the cart.2 findings

    Why it is in this group

    • The name "apply_discount" says "apply": a word for a change.

    Findings

    • Info

      The description mentions "CREDENTIAL".

      Matched text

      description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Apply a discount or promo code to the cart. Checkout guide: read the MCP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create_sandbox_key` tool first (it is in this tool list and needs no credential), then pass the key you get back as the `agent_key` argument — or as an `Authorization: Bearer` header if your client can set headers. Do not ask a person to log in: there is no human login for this store.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • complete_checkoutComplete the purchase.4 findings

    Why it is in this group

    • The name "complete_checkout" says "checkout": a word for a change.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...l `approval_status_url` with your agent credential, and send the mandate you receive as th..."

      What this check looks for
    • Info

      The input schema at properties.payment_mandate.description mentions "credential".

      Matched text

      inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    • Info

      The description is 2,547 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...t headers. Do not ask a person to log in: there is no human login for this store."

      What this check looks for
    Description, as the server wrote it
    Complete the purchase. Provide buyer.name and buyer.email from the conversation before opening approval; ask in chat if either is missing. The approval page only reviews these details. PREFER THE CART CARD: if there is an interactive card for this cart, let the buyer confirm and (when the store offers a choice) pick the payment method there — including retrying after a declined payment or switching method — instead of calling this tool yourself. Each call you make here opens a new card in the transcript instead of updating the one already open. Only call it yourself when there is no interactive card or the buyer explicitly asks you to complete it in chat. Idempotent — replay is keyed on checkout_session_id: any retry against a session that already has an order returns that same order (COMPLETED or PENDING_EXTERNAL_CONFIRMATION) without re-charging. The provided idempotency_key is recorded on the session for audit and short-circuits a repeated call with the same key. If the response has status PENDING_EXTERNAL_CONFIRMATION, no purchase has completed yet: read `order_placed` and `next_action` — a person has to approve or pay at its `url`; `next_action` says whether calling again with the same checkout_session_id and idempotency_key can read the outcome. KYAPAY (payment_method=KYAPAY or a kyapay_token): charging with KYApay is not available. KYApay is identity verification here, not a payment rail, so the call is rejected with PAYMENT_METHOD_NOT_CONFIGURED before anything is charged or written; use another payment method. The Skyfire KYA token serves identity on the REST API, not payment in this tool. On demo-store the approval step records a confirmation but does not verify that a human gave it. PAYMENT MANDATE: this tool also requires one, issued by the platform, not written by you. Call `preview_checkout` for this cart, open the `approval_url` it returns, poll `approval_status_url` with your agent credential, and send the mandate you receive as the `payment_mandate` argument or an `X-Payment-Mandate` header. The approval is bound to your agent credential and the cart; it does not verify that a person was present. Checkout guide: read the MCP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create_sandbox_key` tool first (it is in this tool list and needs no credential), then pass the key you get back as the `agent_key` argument — or as an `Authorization: Bearer` header if your client can set headers. Do not ask a person to log in: there is no human login for this store.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • create_cartCreate a shopping cart in Demo Store.2 findings

    Why it is in this group

    • The name "create_cart" says "create": a word for a change.

    Findings

    • Info

      The description mentions "CREDENTIAL".

      Matched text

      description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Create a shopping cart in Demo Store. Returns a cart_id. Pass it as cart_id to get_shipping_rates, select_shipping_option, apply_discount and preview_checkout; complete_checkout and get_trust_receipt take the same value as checkout_session_id. KYA IDENTITY: a Skyfire kya token has no effect on this tool (it grants no trust boost here); KYA identity applies to the REST agent API (`Authorization: Bearer`), not to the MCP tools. Checkout guide: read the MCP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create_sandbox_key` tool first (it is in this tool list and needs no credential), then pass the key you get back as the `agent_key` argument — or as an `Authorization: Bearer` header if your client can set headers. Do not ask a person to log in: there is no human login for this store.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • create_sandbox_keyGet a temporary sandbox credential for this demo store, valid 24h.1 finding

    Why it is in this group

    • The name "create_sandbox_key" says "create": a word for a change.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "Get a temporary sandbox credential for this demo store, valid 24h. Present..."

      What this check looks for
    Description, as the server wrote it
    Get a temporary sandbox credential for this demo store, valid 24h. Present it as an `Authorization: Bearer` header, or — when your client cannot set headers — as the `agent_key` argument of the checkout tools. Payments here are simulated: this credential settles nothing and works only on the demo store. No human login is involved at any point.
  • get_shipping_ratesGet available shipping rates for the cart.3 findings

    Why it is in this group

    • The name "get_shipping_rates" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Info

      The description mentions "CREDENTIAL".

      Matched text

      description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    • Warn

      The server marks "get_shipping_rates" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "get_shipping_rates" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Get available shipping rates for the cart. Requires shipping_address — pass it in the call. If the buyer requests the cheapest option, use cheapest_shipping_handle when non-null; it is null when rates cannot be compared in the cart currency. Rates marked authoritative=false are estimates, not the final charge. PREFER THE CART CARD: if create_cart returned an interactive card (the buyer can see and click it), let them enter the address and pick shipping there instead of calling this tool yourself — each top-level call you make here opens a new card in the transcript instead of updating the one already open. Only call it yourself when there is no interactive card (text-only client) or the buyer explicitly asks you to handle it in chat. Checkout guide: read the MCP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create_sandbox_key` tool first (it is in this tool list and needs no credential), then pass the key you get back as the `agent_key` argument — or as an `Authorization: Bearer` header if your client can set headers. Do not ask a person to log in: there is no human login for this store.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • preview_checkoutPreview the complete order summary before payment.4 findings

    Why it is in this group

    • The name "preview_checkout" says "preview": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Info

      The description mentions "CREDENTIAL".

      Matched text

      description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

      What this check looks for
    • Info

      The input schema at properties.payment_mandate.description mentions "credential".

      Matched text

      inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    • Warn

      The server marks "preview_checkout" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "preview_checkout" says "preview": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Preview the complete order summary before payment. Advances the session to ready-for-payment state. If you only need the price, call quote_checkout instead: it computes the same total without advancing the session or opening an approval. PREFER THE CART CARD: if there is an interactive card for this cart, let it compute and show the summary instead of calling this tool yourself — it keeps the flow in one card. Checkout guide: read the MCP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create_sandbox_key` tool first (it is in this tool list and needs no credential), then pass the key you get back as the `agent_key` argument — or as an `Authorization: Bearer` header if your client can set headers. Do not ask a person to log in: there is no human login for this store.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • quote_checkoutRead-only price quote.2 findings

    Why it is in this group

    • The name "quote_checkout" says "checkout": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    • Warn

      The server marks "quote_checkout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "quote_checkout" says "checkout": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Read-only price quote. Does not advance the session, open approvals or enable payment. To pay, call preview_checkout. Computes the same totals as preview_checkout for this cart (subtotal, shipping, discount, tax status, total_is_final), with status QUOTE_ONLY, but not the same checks: it does not check your payment mandate's spending cap; preview_checkout does. Read-only on Trusteed's side: where the store prices orders on its own platform (WooCommerce), the store builds a temporary cart to compute the quote and discards it. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • select_shipping_optionSelect a shipping method for the cart.2 findings

    Why it is in this group

    • The name "select_shipping_option" says "select": a word for a change.

    Findings

    • Info

      The description mentions "CREDENTIAL".

      Matched text

      description: "...CP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Select a shipping method for the cart. Must call get_shipping_rates first and provide idempotency_key. Reuse the same key for retries of the same cart and option; use a new key if either changes. PREFER THE CART CARD: if there is an interactive card for this cart, let the buyer pick shipping there instead of calling this tool yourself — it keeps the flow in one card instead of opening a new one per step. Checkout guide: read the MCP resource trusteed://guides/checkout. CREDENTIAL: this store needs one. Call the `create_sandbox_key` tool first (it is in this tool list and needs no credential), then pass the key you get back as the `agent_key` argument — or as an `Authorization: Bearer` header if your client can set headers. Do not ask a person to log in: there is no human login for this store.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • ucp_complete_checkoutComplete a UCP checkout session.5 findings

    Why it is in this group

    • The name "ucp_complete_checkout" says "checkout": a word for a change.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...l `approval_status_url` with your agent credential, and send the mandate you receive as th..."

      What this check looks for
    • Info

      The input schema at properties.meta.description mentions "credentials".

      Matched text

      inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

      What this check looks for
    • Info

      The input schema at properties.payment.description mentions "credential".

      Matched text

      inputSchema.properties.payment.description: "...e Payment Mandate goes in instruments[].credential.token."

      What this check looks for
    • Info

      The input schema at properties.payment_mandate.description mentions "credential".

      Matched text

      inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Complete a UCP checkout session. Transitions to 'completed' status. Idempotent — safe to retry with the same idempotency_key. Use ONLY for a checkout session created with ucp_create_checkout (Universal Commerce Protocol); for the standard flow (create_cart, preview_checkout, complete_checkout) do not call this tool. For a cart built with create_cart use complete_checkout. PAYMENT MANDATE: this tool also requires one, issued by the platform, not written by you. Call `preview_checkout` for this cart, open the `approval_url` it returns, poll `approval_status_url` with your agent credential, and send the mandate you receive as the `payment_mandate` argument or an `X-Payment-Mandate` header. The approval is bound to your agent credential and the cart; it does not verify that a person was present. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • ucp_create_checkoutCreate a UCP (Universal Commerce Protocol) checkout session from line items.2 findings

    Why it is in this group

    • The name "ucp_create_checkout" says "create": a word for a change.

    Findings

    • Info

      The input schema at properties.meta.description mentions "credentials".

      Matched text

      inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Create a UCP (Universal Commerce Protocol) checkout session from line items. Returns a UCP checkout object with status 'incomplete'. Starts the UCP flow (ucp_* tools); for the standard flow use create_cart instead. Do not mix the two flows on the same purchase. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • ucp_preview_checkoutPreview a UCP checkout and move it to ready-for-payment.4 findings

    Why it is in this group

    • The name "ucp_preview_checkout" says "preview": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Info

      The input schema at properties.meta.description mentions "credentials".

      Matched text

      inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

      What this check looks for
    • Info

      The input schema at properties.payment_mandate.description mentions "credential".

      Matched text

      inputSchema.properties.payment_mandate.description: "...re. The approval is bound to your agent credential and does not verify that a person was p..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    • Warn

      The server marks "ucp_preview_checkout" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "ucp_preview_checkout" says "preview": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Preview a UCP checkout and move it to ready-for-payment. Call after destination and shipping are set, before ucp_complete_checkout. Use ONLY for a checkout created with ucp_create_checkout. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • ucp_update_checkoutUpdate a UCP checkout session.2 findings

    Why it is in this group

    • The name "ucp_update_checkout" says "update": a word for a change.

    Findings

    • Info

      The input schema at properties.meta.description mentions "credentials".

      Matched text

      inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Update a UCP checkout session. Send line_items to replace all lines (each line may name a variant_id), and/or fulfillment to set the delivery address (fulfillment.destination, which returns the shipping options) and choose one (fulfillment.selected_option_id, which adds shipping to the totals). Only allowed when status is 'incomplete'. Use ONLY for sessions created with ucp_create_checkout; for the standard flow use create_cart and select_shipping_option. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • verify_trust_receiptCheck a trust receipt's signature, revocation and chain coverage from inside this session (v1.0 receipts only; other profiles answer `unsupported_profile`, not invalid).1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Check a trust receipt's signature, revocation and chain coverage from inside this session (v1.0 receipts only; other profiles answer `unsupported_profile`, not invalid). LIMIT: the issuer verifies its own receipt (`verified_by: issuer`, `independent: false`), so this is a consistency check, not proof to a third party; `independent_verification` tells you how to verify it yourself against the public JWKS. Pass the `jws` from get_trust_receipt. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 13Claude Code: allow
  • browse_categoriesList all product categories in Demo Store with product counts.No findings

    Why it is in this group

    • The name "browse_categories" says "browse": a word for reading.
    Description, as the server wrote it
    List all product categories in Demo Store with product counts.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • compare_productsCompare 2 to 5 products side-by-side with normalized attribute table and best-value recommendation.No findings

    Why it is in this group

    • The name "compare_products" says "compare": a word for reading.
    Description, as the server wrote it
    Compare 2 to 5 products side-by-side with normalized attribute table and best-value recommendation.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_checkout_stateRead the current state of a cart created with create_cart: status, lines, totals, selected shipping, when it was previewed, its order if one exists and a pointer to get_trust_recei…1 finding

    Why it is in this group

    • The name "get_checkout_state" says "get": a word for reading.

    Findings

    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Read the current state of a cart created with create_cart: status, lines, totals, selected shipping, when it was previewed, its order if one exists and a pointer to get_trust_receipt. Read-only: it changes nothing and does not open any approval. Use it to resume a purchase; for UCP checkouts use ucp_get_checkout. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_merchant_profileGet the complete profile — trust score, policies, compliance, and protocol support — of the merchant this MCP endpoint belongs to.No findings

    Why it is in this group

    • The name "get_merchant_profile" says "get": a word for reading.
    Description, as the server wrote it
    Get the complete profile — trust score, policies, compliance, and protocol support — of the merchant this MCP endpoint belongs to. Takes NO parameters: the merchant is fixed by which store's /:storeSlug/mcp endpoint you connected to, not by an argument. To read a different merchant's profile, call this same tool on that merchant's own endpoint instead.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_page_contentGet a SUMMARY of a specific page on Trusteed: its title, description, keywords, related tools and the link to the full page.No findings

    Why it is in this group

    • The name "get_page_content" says "get": a word for reading.
    Description, as the server wrote it
    Get a SUMMARY of a specific page on Trusteed: its title, description, keywords, related tools and the link to the full page. It returns a summary, not the full page text: read the linked URL when the whole page is needed. `content_scope` says what came back. Pass the page slug (e.g. 'for-agents', 'pricing', 'blog') or a blog post slug (returns its excerpt). Use get_site_map first to discover available slugs. Pass page='blog' to list all blog posts.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_product_detailsGet detailed information about a specific product in Demo Store, including all variants, sizes, colors, and availability.No findings

    Why it is in this group

    • The name "get_product_details" says "get": a word for reading.
    Description, as the server wrote it
    Get detailed information about a specific product in Demo Store, including all variants, sizes, colors, and availability.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_site_mapReturns the complete site map of Trusteed: all public pages organized by category.No findings

    Why it is in this group

    • The name "get_site_map" says "get": a word for reading.
    Description, as the server wrote it
    Returns the complete site map of Trusteed: all public pages organized by category. Use this to discover what sections are available (docs, blog, integrations, legal, marketing) and find the right path before calling get_page_content.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_store_trustGet Demo Store's signed trust score (v4.1, 0-100) with per-signal data quality, confidence level, and a detached JWS for offline verification.No findings

    Why it is in this group

    • The name "get_store_trust" says "get": a word for reading.
    Description, as the server wrote it
    Get Demo Store's signed trust score (v4.1, 0-100) with per-signal data quality, confidence level, and a detached JWS for offline verification. Don't trust the number — verify it: download the JWKS at jwks_snapshot_uri, validate jws_compact with signing_kid, and recompute payload_hash_sha256.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • get_trust_receiptRetrieve the signed trust receipt for a checkout.2 findings

    Why it is in this group

    • The name "get_trust_receipt" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...heckout call is still running. Only the credential that made the purchase can read its rec..."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Retrieve the signed trust receipt for a checkout. A receipt records the complete_checkout call; read `order_placed` before telling anyone a purchase happened. Returns the receipt id, the JWS signature and how to verify it. Issuance is asynchronous: right after complete_checkout this may answer `status: "pending"` with a retry delay. `pending` with code `receipt_pending` means the purchase completed and the receipt is on its way; `checkout_in_progress` means the complete_checkout call is still running. Only the credential that made the purchase can read its receipt. A receipt attests that the call happened, not that money moved: read `settlement` (it is `not_attested` unless the payment rail confirmed it). PREFER THE CART CARD: if the purchase was completed on an interactive card, it already fetches and shows this receipt itself right after the order — calling this tool yourself right after is usually redundant and opens a new card in the transcript. Call it yourself only when there is no interactive card, or the buyer asks for the receipt later in a new turn. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_docsFull-text search across all Trusteed public documentation: pages, blog posts, FAQ entries, error codes, the agent checkout guide, and the tools of this endpoint.No findings

    Why it is in this group

    • The name "search_docs" says "search": a word for reading.
    Description, as the server wrote it
    Full-text search across all Trusteed public documentation: pages, blog posts, FAQ entries, error codes, the agent checkout guide, and the tools of this endpoint. Returns ranked results by relevance. Use this to find answers about protocols, pricing, integration guides, trust scores, and more.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_productsSearch products in Demo Store.No findings

    Why it is in this group

    • The name "search_products" says "search": a word for reading.
    Description, as the server wrote it
    Search products in Demo Store. Returns matching products with prices, images, availability, and direct links. Results include data for generating a visual product carousel artifact with category filtering.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • search_products_enrichedSearch products with enriched data including structured attributes, variants, GTIN, and images.No findings

    Why it is in this group

    • The name "search_products_enriched" says "search": a word for reading.
    Description, as the server wrote it
    Search products with enriched data including structured attributes, variants, GTIN, and images. Ideal for comparison and detailed product discovery. Matching is keyword/substring-based (title, description, tags, vendor) with rating-then-review ordering — the rating and review count it orders by are asserted by the merchant and are not verified by Trusteed. Use this when you have concrete keywords, a category, or a price range.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • ucp_get_checkoutRetrieve a UCP checkout session by ID.2 findings

    Why it is in this group

    • The name "ucp_get_checkout" says "get": a word for reading.

    Findings

    • Info

      The input schema at properties.meta.description mentions "credentials".

      Matched text

      inputSchema.properties.meta.description: "...rofile; it must be an https URL without credentials (at most 2048 characters)."

      What this check looks for
    • Info

      The input schema at properties.agent_key.description mentions "credential".

      Matched text

      inputSchema.properties.agent_key.description: "Sandbox credential from `create_sandbox_key`. Use this whe..."

      What this check looks for
    Description, as the server wrote it
    Retrieve a UCP checkout session by ID. Returns the current state of the checkout. Use ONLY for a checkout session created with ucp_create_checkout (Universal Commerce Protocol); for the standard flow (create_cart, preview_checkout, complete_checkout) do not call this tool. Checkout guide: read the MCP resource trusteed://guides/checkout.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http gateway https://trusteed.xyz/demo-store/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__gateway__search_products_enriched",
      "mcp__gateway__search_products",
      "mcp__gateway__get_product_details",
      "mcp__gateway__browse_categories",
      "mcp__gateway__get_checkout_state",
      "mcp__gateway__get_merchant_profile",
      "mcp__gateway__ucp_get_checkout",
      "mcp__gateway__get_site_map",
      "mcp__gateway__get_page_content",
      "mcp__gateway__search_docs",
      "mcp__gateway__compare_products",
      "mcp__gateway__get_trust_receipt",
      "mcp__gateway__get_store_trust"
    ],
    "ask": [
      "mcp__gateway__create_cart",
      "mcp__gateway__get_shipping_rates",
      "mcp__gateway__select_shipping_option",
      "mcp__gateway__apply_discount",
      "mcp__gateway__preview_checkout",
      "mcp__gateway__quote_checkout",
      "mcp__gateway__complete_checkout",
      "mcp__gateway__ucp_create_checkout",
      "mcp__gateway__ucp_update_checkout",
      "mcp__gateway__ucp_preview_checkout",
      "mcp__gateway__ucp_complete_checkout",
      "mcp__gateway__create_sandbox_key",
      "mcp__gateway__verify_trust_receipt"
    ],
    "deny": [
      "mcp__gateway__ucp_cancel_checkout"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as gateway. Review it before you use it.