Custom Blinds Shop

io.github.CustomBlinds由 GitHub 账号 CustomBlinds 发布v1.0.0更新于 Oct 24, 2026

South Africa's first AI-transactable blinds, shutters and awnings catalogue with live ZAR pricing.

已验证Streamable HTTP可网页运行效率与工作流沟通与协作商业与电商

概览

AI 生成的概览

远程商店服务器,让助手搜索南非窗帘目录、查询并配置定制窗帘的实时兰特价格,并建立购物车直至生成付款链接。

可以做什么
搜索目录并查询产品、颜色、库存,以及按需求或房间获取推荐。获取含增值税的精确兰特价格,并锁定尺寸、颜色和安装方式的完整窗帘规格。创建、查看、修改和取消购物车,再创建、更新、完成或取消结账。生成 Yoco 卡或 Ozow 即时 EFT 付款链接,并读取已确认订单状态。查询颜色库存、申请色卡和比价、获取交期估算与 WhatsApp 转接链接。
适用场景
当客户想浏览、询价、配置或购买该南非零售商的定制窗帘、百叶窗或遮阳篷,或查询已有订单状态时使用。适合在一次对话中从产品发现走到付款链接的助手。不适用于一般购物或其他国家的零售商。
运行要求
远程 streamable-HTTP 端点,无需安装。目录、定价、购物车和结账工具无需凭据。可选的 Authorization Bearer 令牌(需申请)仅用于 submit_enquiry 和 create_order。付款通过 Yoco 卡或 Ozow 即时 EFT。
安装前请注意
开放流程会创建购物车、结账和付款链接,complete_checkout 会生成真实的 Yoco 或 Ozow 付款链接,应视为真实购买路径。create_checkout 需要真实姓名、邮箱、手机号和收货地址,占位或测试信息会被拒绝;get_order 需匹配的 customer_email。可选的 Authorization Bearer 令牌仅用于 submit_enquiry 和 create_order,须保密。cancel_cart 不可撤销。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Custom Blinds Shop,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.CustomBlinds%2Fcb-shop/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "custom-blinds-shop": {
      "type": "http",
      "url": "https://shop.customblinds.co.za/mcp"
    }
  }
}

README

Custom Blinds Shop MCP

South Africa's first AI-transactable window covering catalogue. Lets MCP-compatible AI agents (Claude, ChatGPT, Cowork, Cursor) search the Custom Blinds catalogue, get live ZAR pricing, configure made-to-measure blinds, and take a customer all the way from product discovery to a Yoco or Ozow payment link — direct from shop.customblinds.co.za. The full purchase flow is open and needs no credentials.

What it does

This is the transactional node of a two-node system. The shop MCP handles search, pricing, configuration, cart, checkout and payment. Product education and design advice live on the brochure MCP at customblinds.co.za. An agent can start cold on the brochure for guidance, then hand off to this shop MCP to complete the order.

The full UCP purchase flow is open (no authentication): search the catalogue, get exact VAT-included ZAR pricing, configure a blind, build a cart, create a checkout, and mint a Yoco or Ozow payment link without any credentials. Twenty-seven tools are exposed.

Tool groupAccessExamples
Catalogue and pricingOpensearch_catalog, lookup_catalog, get_product, get_product_recommendation, get_price, configure_product, check_colour_stock
Cart and checkoutOpencreate_cart, get_cart, update_cart, cancel_cart, create_checkout, get_checkout, update_checkout, complete_checkout, cancel_checkout
Orders and fulfilmentOpenget_order, get_payment_methods, get_delivery_estimate, request_swatch, request_price_match
Tools and handoffOpenget_ar_visualizer_url, get_whatsapp_handoff
Legacy (optional)Bearer tokensubmit_enquiry, create_order — only needed for an email follow-up or a single-call order path; the open checkout flow above is preferred

Payment is by Yoco (card) or Ozow (instant EFT). All prices are in ZAR with VAT included. Legacy bearer tokens are issued on request — contact [email protected].

Connection

This is a remote MCP server — no install required.

Claude Desktop / Claude Code

json
{  "mcpServers": {    "custom-blinds-shop": {      "url": "https://shop.customblinds.co.za/mcp",      "transport": "streamable-http"    }  }}

Other clients

Point your MCP client at: https://shop.customblinds.co.za/mcp Transport: streamable-HTTP.

Verification

About Custom Blinds

Custom Blinds Shutters & Awnings — established 2010, based in Knysna on the Garden Route, South Africa. Founded by Duncan Kane, 20+ years industry experience. National online ordering with free delivery; professional installation across the Garden Route.

License

MIT

来源:README.md,提交 bd539bd

工具

26

search_products

Legacy discovery, retained for backward compatibility. Prefer search_catalog / lookup_catalog, then get_product. Filters by blind type, colour or maximum dimensions. Returns products with id (not product_id), name, description, features and in-stock colour count. Pass that id as product_id to get_price or configure_product.

输入参数typecolourprovincemax_width_mmmax_height_mm

get_price

Get an exact ZAR price using product_id from search_catalog or lookup_catalog, width_mm and height_mm. Prices include VAT and delivery. Colour selects the bamboo price tier where applicable. A price is not a stock reservation: validate the exact colour and mount with configure_product before creating a cart. Failure can return success:false or a JSON-RPC validation error.

输入参数colourfinishprovincequantitywidth_mm必填height_mm必填product_id必填

configure_product

Lock in a full blind specification: product, dimensions, colour, and mount type (inside recess or outside face-fix). Validates that the colour exists and is in stock, then prices the blind. Returns a configuration summary to pass directly into create_cart. Call check_colour_stock first if availability is uncertain.

输入参数colour必填finishprovincequantitywidth_mm必填height_mm必填mount_type必填product_id必填

submit_enquiry

Legacy auth-required tool, prefer the open UCP flow (create_cart → create_checkout → complete_checkout) for credentialless checkout. Use submit_enquiry only when the customer wants a sales team follow-up by email rather than paying online. Requires Bearer token. Pass a configure_product output plus customer name, email, and phone. Team responds within 24 hours.

输入参数message必填customer_name必填customer_email必填customer_phone必填product_config必填

create_order

Legacy auth-required tool, prefer the open UCP flow (create_cart → create_checkout → complete_checkout) which needs no credentials. Use create_order only if you hold a Bearer token and want a single-call path to a payment link. All item prices are re-verified server-side against the live pricing engine, agent-supplied prices are ignored. Returns a Yoco or Ozow payment_url.

输入参数items必填customer_citycustomer_name必填customer_email必填customer_phone必填payment_methodcustomer_address

search_catalog

Preferred free-text discovery. Returns results containing product_id, name, category, description, product_url and colour_count_in_stock, plus total and currency. For structured filters use lookup_catalog. Pass product_id to get_product or get_price.

输入参数query

lookup_catalog

Preferred structured discovery. Filter by category, partial colour name or required supported width/drop in mm. Returns results containing product_id, name, category and product_url, plus total. Width/drop filters check separate maximums, not every combination; confirm the exact pair with get_price.

输入参数colourcategorymax_width_mmmax_height_mm

get_product

Fetch complete details for one product by id (e.g. roller-blockout, venetian-25mm-aluwood). Returns all available colours with in-stock status, materials, features, and maximum supported dimensions. Use before configure_product to confirm a colour exists and is in stock before committing.

输入参数product_id必填

create_cart

Start the open UCP purchase flow, no auth needed. Creates a cart session and returns a cart_id (24-hour TTL). Optionally seed with pre-configured blind items and customer details. Next step: update_cart to add items, then create_checkout → complete_checkout to mint the payment link.

输入参数itemscustomer

get_cart

Retrieve live cart state by cart_id: full item list, calculated totals in ZAR, and any customer details stored so far. Call after update_cart to confirm changes are correct before proceeding to create_checkout. Cart expires after 24 hours of inactivity.

输入参数cart_id必填

update_cart

Modify an open cart before checkout. op: 'add' appends items, 'remove' drops items by 0-based index, 'set' replaces the full item list, 'clear' empties the cart. Merges customer details (name, email, phone) via the customer field. Call get_cart afterwards to confirm. Cannot modify a cart that already has a checkout in progress.

输入参数opitemscart_id必填indicescustomer

cancel_cart

Permanently delete a cart by cart_id. Use when the customer abandons the session or wants to start over. Has no effect on any checkout or paid order already created from this cart. Irreversible, create a new cart to restart.

输入参数cart_id必填

create_checkout

Phase 1 of 2 in the purchase flow. Convert a cart (or inline items + customer) into a checkout. The customer's real name, email, mobile number and delivery address are required; placeholder or test details are refused. Returns checkout_id. No payment link is minted yet, call complete_checkout for that. Use update_checkout to correct customer details before finalising.

输入参数itemscart_idcustomerpayment_method

get_checkout

Read checkout by checkout_id. Returns persisted order status, payment_status, payment_method, items, customer, total_zar and currency. Initial order status is started, not pending. This tool does not return a previously generated payment_url: retain the complete_checkout response in caller context.

输入参数checkout_id必填

update_checkout

Update customer details or payment_method only before payment-link generation. Paid, cancelled and payment-in-progress checkouts are rejected. Concurrent state changes are detected; retrieve the latest status before retrying.

输入参数customercheckout_id必填payment_method

complete_checkout

Generate a Yoco card or Ozow instant-EFT payment link; this does NOT complete payment. Rejects cancelled checkouts and rechecks stock and totals first. An atomic claim prevents competing gateway calls. Returns payment_url or null plus status and message; cloud callers may be held. Retain a successful URL: repeat calls return payment_pending with no URL. Gateway failures raise an error, send no payment-link email and require team review rather than an automatic retry. Poll get_order with customer_email for payment status.

输入参数checkout_id必填payment_method

cancel_checkout

Abort an unpaid checkout and release its checkout_id. Use if the customer changes their mind after create_checkout but before completing payment. Has no effect on orders already confirmed by webhook. To restart, create a new cart and checkout from scratch.

输入参数checkout_id必填

get_order

Retrieve a confirmed order's status, items, and payment details by order_id. customer_email is required as soft-auth and must exactly match the order record, prevents arbitrary order lookups. Returns payment status (paid | pending | failed), production status, and dispatch date once available.

输入参数order_id必填customer_email必填

check_colour_stock

Verify whether a specific colour is available before configure_product. Returns in_stock boolean, expected_restock_date if out of stock, and up to 5 alternative in-stock colours ordered by similarity. Call this when a customer requests a named colour or when you want to prevent a configure_product failure due to an out-of-stock selection.

输入参数product_id必填colour_name必填

request_swatch

Log up to 5 colour codes against an EXISTING order for the team (order_ref required; without it the tool returns status order_required and logs nothing). Custom Blinds does not post individual swatches or off-cuts. For orders over R8,000 the customer can ask for the full sample book via WhatsApp; if nothing suits, full refund with no fees. Never quote a sample-book price or courier cost.

输入参数suburborder_ref必填swatch_codescustomer_name必填customer_email必填customer_phone必填product_interest必填

get_payment_methods

List available payment processors and their capabilities. Returns Yoco (card, immediate) and Ozow (instant EFT via South African bank account). Call when the customer asks 'how can I pay?' or before presenting options. The result informs the payment_method field in create_checkout and complete_checkout.

输入参数order_total_zar

get_whatsapp_handoff

Generate a pre-filled WhatsApp deep link to hand the customer off to the right contact. Garden Route locations (Knysna, Plett, George, Sedgefield, etc.) route to Duncan Kane for a free in-home consultation, booked on the same WhatsApp line (+27760228410); all other South African locations route to that line too (+27760228410). It is WhatsApp only, no voice calls. Use when the customer prefers human assistance or when self-serve checkout isn't appropriate.

输入参数messagelocationcustomer_nameproduct_context

get_product_recommendation

Translate a customer's primary concern into a product recommendation. primary_concern must be one of: blockout, heat, glare, moisture, privacy, security, automation. Optionally narrow by room (bedroom, lounge, etc.), location, budget, and aesthetic. Returns a recommended product_id with rationale, pass it to get_price or configure_product next. Security concern routes to brochure MCP (Garden Route customers only).

输入参数roomlocationaestheticmax_budget_zarprimary_concern必填

get_ar_visualizer_url

Returns the link to the Custom Blinds measuring guide when a customer is unsure how to measure. There is no AR tool: the guide shows how to measure for an inside (recess) or outside (face fix) fit in two minutes, and a customer who is still unsure can order with best guess sizes, receive a free tape measure and confirm before production starts.

输入参数modeproduct_id

get_delivery_estimate

Explain the production lead time for a new order. Production takes 5 to 7 working days, excluding transit times and outside peak seasons. Returns dispatch_date, production_days, and a plain-language summary safe to share with the customer. Never quote a final delivery date. Call this when a customer asks 'when will it arrive?' to give an honest production timeline.

输入参数order_date

request_price_match

Submit a price match claim when the customer has found the same blind at a lower price elsewhere. Custom Blinds matches verified South African retailer prices for identical product, dimensions, and specs. Returns a pre-filled WhatsApp link to the claims team. Not applicable to: clearance or flash-sale prices, or out-of-stock items. Requires product_id and competitor_price_zar at minimum.

输入参数width_mmheight_mmproduct_id必填customer_namecompetitor_urlcompetitor_namecustomer_whatsappcompetitor_price_zar必填

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。