← WebMCP Directory

Tool tree

sree.surfpay.shop

CommerceTools verifiedShopify
Website
We sell surfboards and fins for surfers in Sweden.
Explore capabilities

    page: Every page

    search_catalogAnswer

    Search the store catalog for products. Returns matching products with price, availability and links. Does not modify the cart. To pick a specific variant, call get_product with the product id, then show_variant or add_to_cart.

    View tool JSON
    {
      "name": "search_catalog",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the store catalog for products. Returns matching products with price, availability and links. Does not modify the cart. To pick a specific variant, call get_product with the product id, then show_variant or add_to_cart.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "catalog": {
            "type": "object",
            "properties": {
              "query": {
                "type": "string",
                "description": "What the shopper is looking for, e.g. \"blue wetsuit\"."
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 10,
                    "default": 5
                  }
                }
              }
            },
            "required": [
              "query"
            ]
          }
        },
        "required": [
          "catalog"
        ]
      },
      "page": "/"
    }
    browse_storeAction

    Browse the store by category. Without a collection, lists every category. With one, lists its products. Use when the shopper says "browse to", "go to", "show me" or names a category; prefer this over search_catalog for categories. Set navigate to true to open the category page in the browser.

    View tool JSON
    {
      "name": "browse_store",
      "kind": "act",
      "impl": "imperative",
      "description": "Browse the store by category. Without a collection, lists every category. With one, lists its products. Use when the shopper says \"browse to\", \"go to\", \"show me\" or names a category; prefer this over search_catalog for categories. Set navigate to true to open the category page in the browser.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "collection": {
            "type": "string",
            "description": "Category name. Omit to list categories; use \"all\" for every product."
          },
          "navigate": {
            "type": "boolean",
            "default": false,
            "description": "Open the category page in the browser."
          },
          "sort_by": {
            "type": "string",
            "enum": [
              "best-selling",
              "price-ascending",
              "price-descending",
              "title-ascending",
              "title-descending",
              "created-descending",
              "created-ascending"
            ],
            "default": "best-selling"
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "default": 1,
            "description": "30 products per page."
          }
        }
      },
      "page": "/"
    }
    get_productAnswer

    Get a product's details: description, price, availability, options and every variant with its id. Defaults to the product on the current page. Set catalog.navigate to true to open the product page; add selected_options to preselect a variant.

    View tool JSON
    {
      "name": "get_product",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get a product's details: description, price, availability, options and every variant with its id. Defaults to the product on the current page. Set catalog.navigate to true to open the product page; add selected_options to preselect a variant.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "catalog": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Product id, variant id or product URL path. Defaults to the current page's product."
              },
              "navigate": {
                "type": "boolean",
                "default": false
              },
              "selected_options": {
                "type": "array",
                "description": "Variant options, e.g. [{\"name\": \"Size\", \"value\": \"M\"}]. Names and values are matched case-insensitively.",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "value"
                  ]
                }
              }
            }
          }
        }
      },
      "page": "/"
    }
    show_variantAction

    Open a product page with a variant selected, so the shopper sees it. Accepts an exact variant id or a partial option selection such as just the colour; the first matching variant is chosen. On a product page, the product id can be left out.

    View tool JSON
    {
      "name": "show_variant",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a product page with a variant selected, so the shopper sees it. Accepts an exact variant id or a partial option selection such as just the colour; the first matching variant is chosen. On a product page, the product id can be left out.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "catalog": {
            "type": "object",
            "properties": {
              "handle": {
                "type": "string",
                "description": "Product id. Optional on a product page."
              },
              "variant_id": {
                "type": "string"
              },
              "selected_options": {
                "type": "array",
                "description": "Variant options, e.g. [{\"name\": \"Size\", \"value\": \"M\"}]. Names and values are matched case-insensitively.",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "value"
                  ]
                }
              }
            }
          }
        },
        "required": [
          "catalog"
        ]
      },
      "page": "/"
    }
    get_cartAnswer

    Get the current cart: line items with line ids, variants, quantities, unit prices and the subtotal. Works on any page.

    View tool JSON
    {
      "name": "get_cart",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the current cart: line items with line ids, variants, quantities, unit prices and the subtotal. Works on any page.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    add_to_cartAction

    Add items to the cart. The shopper asking for it is the authorization; do not ask for confirmation. Put every item from one request in a single call, and do not retry a call that succeeded: adds are cumulative. Identify each item by item.id (a product or variant id), handle (product id) or query (free text). For products with variants, pass a variant id or selected_options. If any item can't be matched, nothing is added and the reply says what to clarify.

    View tool JSON
    {
      "name": "add_to_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Add items to the cart. The shopper asking for it is the authorization; do not ask for confirmation. Put every item from one request in a single call, and do not retry a call that succeeded: adds are cumulative. Identify each item by item.id (a product or variant id), handle (product id) or query (free text). For products with variants, pass a variant id or selected_options. If any item can't be matched, nothing is added and the reply says what to clarify.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart": {
            "type": "object",
            "properties": {
              "line_items": {
                "type": "array",
                "minItems": 1,
                "maxItems": 10,
                "items": {
                  "type": "object",
                  "properties": {
                    "item": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Product or variant id."
                        }
                      }
                    },
                    "handle": {
                      "type": "string",
                      "description": "Product id."
                    },
                    "query": {
                      "type": "string",
                      "description": "Free-text description, used when there is no id."
                    },
                    "selected_options": {
                      "type": "array",
                      "description": "Variant options, e.g. [{\"name\": \"Size\", \"value\": \"M\"}]. Names and values are matched case-insensitively.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "name",
                          "value"
                        ]
                      }
                    },
                    "quantity": {
                      "type": "integer",
                      "minimum": 1,
                      "default": 1
                    }
                  }
                }
              }
            },
            "required": [
              "line_items"
            ]
          }
        },
        "required": [
          "cart"
        ]
      },
      "page": "/"
    }
    update_cart_linesAction

    Change the quantity of lines already in the cart, or remove them with quantity 0. Quantities are absolute, not added. Needs line ids from get_cart; it cannot add new items (use add_to_cart).

    View tool JSON
    {
      "name": "update_cart_lines",
      "kind": "act",
      "impl": "imperative",
      "description": "Change the quantity of lines already in the cart, or remove them with quantity 0. Quantities are absolute, not added. Needs line ids from get_cart; it cannot add new items (use add_to_cart).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cart": {
            "type": "object",
            "properties": {
              "line_items": {
                "type": "array",
                "minItems": 1,
                "maxItems": 10,
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Line id from get_cart."
                    },
                    "quantity": {
                      "type": "integer",
                      "minimum": 0
                    }
                  },
                  "required": [
                    "id",
                    "quantity"
                  ]
                }
              }
            },
            "required": [
              "line_items"
            ]
          }
        },
        "required": [
          "cart"
        ]
      },
      "page": "/"
    }
    cancel_cartAction

    Empty the cart, removing every item in one step.

    View tool JSON
    {
      "name": "cancel_cart",
      "kind": "act",
      "impl": "imperative",
      "description": "Empty the cart, removing every item in one step.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    proceed_to_checkoutAction

    Go to checkout with the current cart. Checks the cart is not empty first. The shopper enters their details and pays on the next pages; nothing is ordered or charged by this tool.

    View tool JSON
    {
      "name": "proceed_to_checkout",
      "kind": "act",
      "impl": "imperative",
      "description": "Go to checkout with the current cart. Checks the cart is not empty first. The shopper enters their details and pays on the next pages; nothing is ordered or charged by this tool.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    search_shop_policies_and_faqsAnswer

    Answer questions about the store: shipping, returns and refunds, privacy, terms, FAQ and contact details.

    View tool JSON
    {
      "name": "search_shop_policies_and_faqs",
      "kind": "answer",
      "impl": "imperative",
      "description": "Answer questions about the store: shipping, returns and refunds, privacy, terms, FAQ and contact details.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "The shopper's question, e.g. \"how long does delivery take\"."
          },
          "policy_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "refund",
                "shipping",
                "privacy",
                "terms_of_service",
                "terms_of_sale",
                "contact"
              ]
            },
            "description": "Limit to these policies."
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/"
    }
    get_ucp_profileAnswer

    Get the store's Universal Commerce Protocol profile from /.well-known/ucp: its catalog and checkout services and payment handlers.

    View tool JSON
    {
      "name": "get_ucp_profile",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get the store's Universal Commerce Protocol profile from /.well-known/ucp: its catalog and checkout services and payment handlers.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }