Server definition
- Hash
- sha256:95ddfc1631acf08c801515d354569da45ad4fb0850d0f422d8a76b9581e0e28e
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "This server lets you browse this shop's catalogue and assemble a purchase on\nbehalf of a customer.\n\nAuth: public — no key or login. Call initialize once to begin. A session id is\nreturned but not required; the basket_token from create-basket is the only\ncredential that matters, so keep it private.\n\nFlow: search-products -> get-product -> create-basket -> add-to-basket ->\nlist-shipping-methods -> start-checkout.\n\nExploring is safe. Bad slugs, tokens, variant IDs, discount codes and checkout\nfields all return isError:true with a plain reason and a hint — so probe and\nself-correct rather than bailing to the human. The only step that moves money\nis payment.\n\nPayment has two routes: a human pay_url (pay-by-bank — the customer authorises\nin their own banking app) AND, when offered, an x402_payment_url for autonomous\nUSDC settlement with no human needed. State both plainly; never tell a customer\nan agent can't pay. Never claim to have paid — confirm with get-order-status.\n\nMoney: product prices are strings in pounds (e.g. \"14.99\"); basket and order\ntotals are integers in pence. Don't mix them up.",
"tools": [
{
"description": "Add a product variant to a basket. Get variant IDs from get-product. Returns the updated basket.",
"inputSchema": {
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
},
"quantity": {
"description": "Quantity to add (default 1).",
"type": "integer"
},
"variant_id": {
"description": "The product variant ID to add.",
"type": "integer"
}
},
"required": [
"basket_token",
"variant_id"
],
"type": "object"
},
"name": "add-to-basket",
"outputSchema": null
},
{
"description": "Apply a discount code to a basket. Returns the updated basket with the discount reflected in the totals.",
"inputSchema": {
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
},
"code": {
"description": "The discount code to apply.",
"type": "string"
}
},
"required": [
"basket_token",
"code"
],
"type": "object"
},
"name": "apply-discount-to-basket",
"outputSchema": null
},
{
"description": "Create a new basket. Returns a basket_token — keep it and pass it to every basket and checkout tool. Treat it as a secret.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "create-basket",
"outputSchema": null
},
{
"description": "Check an order's status. Requires the order number AND the email it was placed with.",
"inputSchema": {
"properties": {
"email": {
"description": "The email address the order was placed with.",
"type": "string"
},
"order_number": {
"description": "The order number, e.g. ORD-260612-AB3D.",
"type": "string"
}
},
"required": [
"order_number",
"email"
],
"type": "object"
},
"name": "get-order-status",
"outputSchema": null
},
{
"description": "Get a product's full details by slug: description, options, and every variant with its SKU, price and stock. Variant IDs are what you add to a basket.",
"inputSchema": {
"properties": {
"slug": {
"description": "The product slug, e.g. \"enamel-mug\".",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get-product",
"outputSchema": null
},
{
"description": "List available delivery methods, optionally filtered by destination country (ISO 2-letter code). Use the method ID in start-checkout.",
"inputSchema": {
"properties": {
"country": {
"description": "Optional ISO 3166-1 alpha-2 destination country, e.g. \"GB\".",
"type": "string"
}
},
"type": "object"
},
"name": "list-shipping-methods",
"outputSchema": null
},
{
"description": "Remove a line from a basket. Returns the updated basket.",
"inputSchema": {
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
},
"item_id": {
"description": "The basket line ID (from view-basket).",
"type": "integer"
}
},
"required": [
"basket_token",
"item_id"
],
"type": "object"
},
"name": "remove-from-basket",
"outputSchema": null
},
{
"description": "Search the shop catalogue. Returns matching products with their slugs, price and stock availability. Use get-product for full details and variants.",
"inputSchema": {
"properties": {
"query": {
"description": "Search terms. Omit or leave empty to list the latest products.",
"type": "string"
}
},
"type": "object"
},
"name": "search-products",
"outputSchema": null
},
{
"description": "Turn a basket into an order and get payment links. Two ways to pay: a human pay_url (pay-by-bank, the customer authorises in their banking app) and, when offered, an x402_payment_url for autonomous USDC settlement with no human needed. Never claim to have paid — confirm with get-order-status. For digital-only baskets, only name and country are required in shipping_address.",
"inputSchema": {
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
},
"email": {
"description": "Customer email for order confirmation.",
"type": "string"
},
"shipping_address": {
"description": "Customer address. For digital-only baskets only name and country are needed; physical orders also need line1, city and postcode.",
"properties": {
"city": {
"description": "Required for physical delivery; omit for digital-only baskets.",
"type": "string"
},
"country": {
"description": "ISO 2-letter country code, e.g. GB.",
"type": "string"
},
"county": {
"type": "string"
},
"line1": {
"description": "Street address. Required for physical delivery; omit for digital-only baskets.",
"type": "string"
},
"line2": {
"type": "string"
},
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"postcode": {
"description": "Required for physical delivery; omit for digital-only baskets.",
"type": "string"
}
},
"required": [
"name",
"country"
],
"type": "object"
},
"shipping_method_id": {
"description": "Delivery method ID from list-shipping-methods. Omit for baskets containing only digital products.",
"type": "integer"
}
},
"required": [
"basket_token",
"email",
"shipping_address"
],
"type": "object"
},
"name": "start-checkout",
"outputSchema": null
},
{
"description": "Change the quantity of a basket line. A quantity of 0 removes it. Returns the updated basket.",
"inputSchema": {
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
},
"item_id": {
"description": "The basket line ID (from view-basket).",
"type": "integer"
},
"quantity": {
"description": "New quantity; 0 removes the line.",
"type": "integer"
}
},
"required": [
"basket_token",
"item_id",
"quantity"
],
"type": "object"
},
"name": "update-basket-item",
"outputSchema": null
},
{
"description": "View a basket: its lines, quantities and subtotal.",
"inputSchema": {
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
}
},
"required": [
"basket_token"
],
"type": "object"
},
"name": "view-basket",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:95ddfc1631acf08c801515d354569da45ad4fb0850d0f422d8a76b9581e0e28e | sha256sum