NotRobophobic shop
Machine-history prints, merch and £4 print files at notrobo.shop, run by an AI. Cards for downloads.
我該用這個嗎
品質與安全性
發現項目(12)
- LOW在 view-basket 中
- LOW在 search-products 中
- LOW在 get-product 中
- LOW在 create-basket 中
- LOW在 add-to-basket 中
- LOW在 view-basket 中
- LOW在 update-basket-item 中
- LOW在 remove-from-basket 中
- LOW在 apply-discount-to-basket 中
- LOW在 list-shipping-methods 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"shop": {
"url": "https://notrobo.shop/mcp/shop"
}
}
}遠端端點
https://notrobo.shop/mcp/shopstreamable-http它能做什麼
工具清單
工具(11)
🟢search-products(query)
Search the shop catalogue. Returns matching products with their slugs, price and stock availability. Use get-product for full details and variants.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"description": "Search terms. Omit or leave empty to list the latest products.",
"type": "string"
}
}
}🟡get-product(slug)
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.
輸入結構描述
{
"type": "object",
"properties": {
"slug": {
"description": "The product slug, e.g. \"enamel-mug\".",
"type": "string"
}
},
"required": [
"slug"
]
}🟡create-basket
Create a new basket. Returns a basket_token — keep it and pass it to every basket and checkout tool. Treat it as a secret.
輸入結構描述
{
"type": "object",
"properties": {}
}🟡add-to-basket(basket_token, variant_id, quantity)
Add a product variant to a basket. Get variant IDs from get-product. Returns the updated basket.
輸入結構描述
{
"type": "object",
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
},
"variant_id": {
"description": "The product variant ID to add.",
"type": "integer"
},
"quantity": {
"description": "Quantity to add (default 1).",
"type": "integer"
}
},
"required": [
"basket_token",
"variant_id"
]
}🟢view-basket(basket_token)
View a basket: its lines, quantities and subtotal.
輸入結構描述
{
"type": "object",
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
}
},
"required": [
"basket_token"
]
}🟡update-basket-item(basket_token, item_id, quantity)
Change the quantity of a basket line. A quantity of 0 removes it. Returns the updated basket.
輸入結構描述
{
"type": "object",
"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"
]
}🔴remove-from-basket(basket_token, item_id)
Remove a line from a basket. Returns the updated basket.
輸入結構描述
{
"type": "object",
"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"
]
}⚪apply-discount-to-basket(basket_token, code)
Apply a discount code to a basket. Returns the updated basket with the discount reflected in the totals.
輸入結構描述
{
"type": "object",
"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"
]
}🟢list-shipping-methods(country)
List available delivery methods, optionally filtered by destination country (ISO 2-letter code). Use the method ID in start-checkout.
輸入結構描述
{
"type": "object",
"properties": {
"country": {
"description": "Optional ISO 3166-1 alpha-2 destination country, e.g. \"GB\".",
"type": "string"
}
}
}🟢start-checkout(basket_token, email, shipping_method_id, shipping_address)
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.
輸入結構描述
{
"type": "object",
"properties": {
"basket_token": {
"description": "The basket token from create-basket.",
"type": "string"
},
"email": {
"description": "Customer email for order confirmation.",
"type": "string"
},
"shipping_method_id": {
"description": "Delivery method ID from list-shipping-methods. Omit for baskets containing only digital products.",
"type": "integer"
},
"shipping_address": {
"description": "Customer address. For digital-only baskets only name and country are needed; physical orders also need line1, city and postcode.",
"properties": {
"name": {
"type": "string"
},
"line1": {
"description": "Street address. Required for physical delivery; omit for digital-only baskets.",
"type": "string"
},
"line2": {
"type": "string"
},
"city": {
"description": "Required for physical delivery; omit for digital-only baskets.",
"type": "string"
},
"county": {
"type": "string"
},
"postcode": {
"description": "Required for physical delivery; omit for digital-only baskets.",
"type": "string"
},
"country": {
"description": "ISO 2-letter country code, e.g. GB.",
"type": "string"
},
"phone": {
"type": "string"
}
},
"type": "object",
"required": [
"name",
"country"
]
}
},
"required": [
"basket_token",
"email",
"shipping_address"
]
}🟢get-order-status(order_number, email)
Check an order's status. Requires the order number AND the email it was placed with.
輸入結構描述
{
"type": "object",
"properties": {
"order_number": {
"description": "The order number, e.g. ORD-260612-AB3D.",
"type": "string"
},
"email": {
"description": "The email address the order was placed with.",
"type": "string"
}
},
"required": [
"order_number",
"email"
]
}建議的提示詞
search-productssearch-productsget-productget-productlist-shipping-methods社群
證據