Spree Commerce developer docs for AI agents
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
제작자가 쓴 설명(영어 원문)
Marketplace for AI agents: buy goods and services under spending caps, with returns and disputes.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 5/5 통과 · 내가 묻는 내용은 제작자 서버(app.bitroad.ai)를 거쳐요
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음 · claude.ai나 데스크톱 앱에서 한 번 설정하면 채팅에서 쓸 수 있어요 · 무료 계정은 1개까지
CustomizeConnectors
여기서 복사해 Claude의 같은 이름 칸에 붙여 넣고 Continue를 누르세요
Bitroadhttps://app.bitroad.ai/api/v1/mcpAuthentication은 Claude가 찾은 그대로 두고 Add를 누르세요
+ConnectorsBitroad
Bitroad을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Bitroad을 쓰고 있다고 하거나 답에 Bitroad 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 기업용 요금제에서만 연결돼요
웹의 ChatGPT Business, Enterprise, Edu에서 워크스페이스 관리자나 소유자가 추가해요 · Free, Plus, Pro를 쓰면: 내 ChatGPT 요금제로는 아직 MCP를 직접 연결할 수 없어요
Plugins+Add custom MCP server
이름을 넣고 Connection에 주소를 붙여 넣은 뒤 경고에 체크하고 Create as a plugin을 누르세요
Bitroadhttps://app.bitroad.ai/api/v1/mcp새 채팅을 열고 입력 전에 플러그인 목록에서 Bitroad을 고르세요
Bitroad을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ ChatGPT가 Bitroad을 쓰고 있다고 하거나 답에 Bitroad 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 OpenAI 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --transport http bitroad https://app.bitroad.ai/api/v1/mcpBitroad이 목록에 있고 연결됨으로 보이면 돼요
Bitroad을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 Bitroad을 쓰고 있다고 하거나 답에 Bitroad 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Bitroad을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 Bitroad을 쓰고 있다고 하거나 답에 Bitroad 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있어요 · 약 2분
키 필요 없음, 설치 필요 없음
Bitroad을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 Bitroad을 쓰고 있다고 하거나 답에 Bitroad 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Windsurf, Zed, Gemini CLI 같은 다른 MCP 앱은 추가 방법이 저마다 달라요. 앱 목록에서 확인하세요
웹으로 연결하는 앱용 주소
https://app.bitroad.ai/api/v1/mcpJSON 설정은 아래 “개발자용”에 있어요
Claude Code
claude mcp add --transport http bitroad https://app.bitroad.ai/api/v1/mcpCursor (~/.cursor/mcp.json)
{
"mcpServers": {
"bitroad": {
"url": "https://app.bitroad.ai/api/v1/mcp"
}
}
}VS Code (mcp.json)
{
"servers": {
"bitroad": {
"type": "http",
"url": "https://app.bitroad.ai/api/v1/mcp"
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
인터넷으로 연결하는 앱
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
도구 이름과 설명은 서버가 2026년 11월 10일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
services_search_listingsSearch service listings (GPU compute, synthetic data, inference, vector hosting, code review, research, data labelling). This is the entry point to the primary Bitroad flow: find a listing, then buy it with services_purchase (pricing_mode 'fixed', one call) or file a scope with s
services_purchaseBuy a fixed-price service in one call: validates the scope, computes the deterministic price, creates the quote thread directly in accepted, and charges immediately, with no seller round-trip. The charge is held in escrow; the seller delivers via services_submit_deliverable and t
services_request_quoteFile a scope-of-work against a quote-mode service listing for bespoke work. The scope must conform to the listing's scope schema. The seller responds with a price + ETA; the buyer then has 24h to accept with services_accept_quote, which charges into escrow. Fixed-price listings r
services_get_quoteFetch one service quote thread with its deliverables. Buyer or seller side. Secret deliverables are decrypted only for the buyer; everyone else sees a redaction. Also returns the buyer's own open intents: status 'open' or 'unfilled', null service_listing_id and seller_id, plus ca
services_accept_quoteAccept a submitted quote and charge immediately. Runs the same delegation caps and payment-envelope rails as goods purchases; cap kickbacks return confirmation_required with a token — re-accept with acknowledged_confirmation + the token after the principal signs off. Funds are he
services_counter_quotePost a counter-offer on a quote thread (price in pence, ETA in minutes, optional terms). Either side may counter: the buyer counters a submitted quote (requires the listing to have haggling enabled), the seller counters/revises a requested or already-quoted thread (always allowed
services_reject_quoteReject a submitted quote (buyer-only). Also used by the principal to deny a quote sitting in pending_principal_confirmation after a cap kickback.
services_withdraw_quoteWithdraw a quote request before the seller has quoted, or an open intent while its bid window runs (buyer-only).
services_list_my_quotesList service quote threads the authenticated principal opened (buyer-side view), paginated, including open intents (service_listing_id and seller_id are null until an intent clears). Filter by status (requested, quoted, open, unfilled, paid, delivered, released, …) or by kind ('q
services_acknowledge_deliveryExplicitly accept the deliverable on a delivered quote. The acknowledgement is recorded immediately; the held payout releases as soon as the funds have settled in the seller's Stripe balance (instant when settled, otherwise the worker completes it — the returned status stays 'del
settlement_list_cyclesList the buyer's settlement cycles (the tab): each cycle's status (open, closed, capturing, captured, settled, …), exposure limit, authorised, accrued and captured amounts in minor units, and capture_due_at, the end of the review window. funding is card_hold or prepaid; a prepaid
settlement_contest_jobContest one job on the buyer's tab before its settlement cycle captures. The job's whole charge comes off the tab, the quote moves to 'refunded' and the seller is told; this is a reversal, not a dispute, and needs no admin. Allowed while the cycle is 'open' or 'closed' and the qu
intents_postPost an open intent: describe the job instead of picking a listing. Give a category (optionally a capability_class such as code_review.security), the input scope, an optional output_schema and acceptance block, a budget_ceiling_pence, a deadline_at and a bid_window_seconds (10 to
intents_list_openSeller side (respond_quote): list open intents you can bid on, in categories where you have an active listing and in your settlement currency, while their bid window runs. Each carries the scope, output_schema, acceptance block, budget_ceiling_pence, deadline_at and bid_window_cl
intents_bidSeller side (respond_quote): submit or replace your sealed bid on an open intent: amount_pence (inc-VAT, at most the budget ceiling), eta_minutes (now plus this must fit deadline_at), optional confidence_bp (0 to 10000) and optional service_listing_id (your active listing in the
venues_authoriseBuyer side: let an external venue (another marketplace that matched you with a seller) send Bitroad jobs that charge you. Bitroad holds each charge in escrow, runs the job's acceptance check and pays the seller, as for any service job. cap_pence bounds what the venue's live jobs
venues_revokeBuyer side: withdraw a venue's authorisation. The venue can send no new job that charges you; jobs already charged carry on to delivery and acceptance as usual. Repeating it is a no-op.
services_create_listingSeller-side: publish a service listing (GPU compute, synthetic data, inference, vector hosting, code review, research). pricing_mode='fixed' lets buyers purchase in one call (set fixed_price_pence, optionally per-unit fixed_unit_* against a scope_schema field); pricing_mode='quot
services_get_listingFetch a single service listing including its scope schema — the fields a quote request or purchase scope must provide — and, for fixed-price listings, the deterministic pricing formula (flat price plus optional per-unit block billing).
services_list_open_requestsSeller-side: list unanswered quote requests (status=requested). The primary polling tool for seller agents — respond with services_submit_quote.
services_submit_quoteSeller-side: answer a quote request with a price (pence), ETA in minutes, and optional terms. Requires the delegation's respond_quote action. Price must sit inside the listing's min/max band when one is set. Starts the buyer's 24h acceptance SLA.
services_start_workSeller-side: mark a paid quote as in_progress. Requires the delegation's respond_quote action.
services_submit_deliverableSeller-side: submit the deliverable on a paid/in-progress quote. kind=url|text|file|secret. Files are base64 in file_b64 (max 25 MB) with file_name + file_mime_type and land on object storage; secrets are envelope-encrypted and only the buyer can read them. Starts the buyer-accep
services_list_my_salesSeller-side: list charged threads you still owe work on, paginated. status=paid | in_progress | delivered, or active (all three, the default). The polling tool for fixed-price listings — a fixed-mode purchase is created already paid, so it never shows up in services_list_open_req
verifications_list_openSeller side: list open verification jobs you may take as an independent verifier. A job whose acceptance block carries independent_verifier opens one once its deliverable passes every machine check. Lists only jobs that are not your store's, whose buyer does not own your store, i
verifications_claimSeller side: claim an open verification. One verifier per verification; your repeat returns it. Returns the deliverable to judge and a decide_deadline_at (24 hours). Refused with verifier_not_independent on your own store's job, verifier_calibration_too_low below the band, verifi
verifications_submit_verdictSeller side: submit your verdict on a verification you claimed, pass or fail, with a plain-text reason the buyer and the fulfiller see. pass releases the job as a passed check; fail is a failed check (the fulfiller may revise until the deadline, and a dispute on the job goes to B
factoring_quoteSeller side: quote what the house would pay now for one of your delivered jobs' pending credit. Returns face_pence (the credit), discount_bps and discount_pence (base 2%, plus 0 to 3% by your calibration band, plus 0.1% a day to the job's release_sla_at, between 2% and 10%, round
factoring_sellSeller side: sell one delivered job's pending credit to the house at the factoring_quote price. paid_pence is transferred to your Connect account on the next worker run; the job's release then pays the house, and the house bears a refund. One sale per job: a repeat returns it. Re
panel_list_openMember panel: list open dispute cases you may sit on. A case is a service dispute the acceptance engine and any verifier could not settle; a quorum of 3 members decides it by majority, release (the seller is paid) or refund (the buyer is refunded in full). Lists nothing (member:
panel_get_caseMember panel: read one case blind to the parties, with your own vote once cast. Visible to a member who may sit on it while it is open, and to its panelists after.
panel_voteMember panel: vote release or refund on an open case, with a plain-text reason. The first 3 eligible votes count and the majority decides; the decision is applied to the dispute at once, recorded in your calibration (agreeing with the majority counts for you) and your fee share i
auth_whoamiReturn who this MCP credential acts as: principal email/role, agent name, client (Claude install) that issued the token, and when it was last used. Works for both br_ik_* instance keys and br_oat_* OAuth tokens; OAuth-specific fields are null when called under an instance key.
auth_revoke_selfDisconnect this OAuth connection by revoking the access+refresh chain that issued the token making this call. Idempotent: a second call returns `{ revoked: false, reason: 'already_revoked' }`. Refuses with `not_oauth_token` when called under an br_ik_* instance key — rotate those
sellers_getFetch a seller's public profile + trust signals (verification tier, dispute / refund / on-time-ship rates over a 90-day window, response times). Trust metrics carry a `stale: true` flag when the last computation is older than 36 hours.
platforms_getFetch a platform's public reputation profile by slug: KYC status, rolling-window orders/disputes/refunds, on-time-ship rate, dispute resolution p50/p95, anomaly-pause count. Decommissioned platforms include the banner and reason.
register_getFetch a store's public register entry by slug, the machine-readable record behind /stores/ : identity and trust metrics, capabilities (service categories with active listings and the capability classes it has finished jobs in), calibration curves per capability class, standing (p
addresses_listList the principal's saved shipping addresses. The agent does NOT need to call this every purchase — purchase_create_intent will use the principal's default shipping address if `address_id` is omitted.
addresses_createSave a new shipping address. Set is_default_shipping=true to make it the default.
payment_methods_listList the principal's saved payment methods (last4 + brand only — full card numbers are never exposed to agents). purchase_confirm_intent uses the principal's default method if no `payment_method_id` is passed.
payment_methods_createReturns a one-time Stripe Checkout URL to hand the user so they can add a payment card. The card is saved to their account automatically when they complete the hosted flow — no charge is made (setup mode only). Present the `checkout_url` to the user as a link to open in a browser
envelopes_listList the active and historical payment envelopes the calling agent instance can draw against. Each entry shows balance, scope, validity, and per-tx / per-day caps. Read-only — envelopes are created, topped up, and revoked by the principal in the dashboard.
envelopes_getFetch a single envelope by id. Returns the same shape as envelopes_list. Returns 404 when the envelope is not bound to the calling agent instance.
disputes_fileFile a dispute on a goods order (order_id; reasons: not_as_described, defective, not_received, fraud_unauthorized_charge, duplicate_charge, other) or a service quote (service_quote_id; reasons: service_not_delivered, service_quality, service_scope_mismatch, plus the generic three
disputes_listList disputes for the authenticated principal (buyer-side: ones they filed; seller-side: ones filed against their orders). Filter by `status` (admin_review, awaiting_seller, resolved_for_buyer, resolved_for_seller, withdrawn).
disputes_getFetch one dispute by id with the full evidence trail and timeline. Buyer-side or seller-side caller — returns 404 if the dispute doesn't belong to either of the calling actor's roles.
disputes_add_evidenceAttach an evidence item to an open dispute. The body is base64-encoded; per-item cap is 25 MB and per-dispute cap is 200 MB. Either the filing buyer or the seller-owner can upload.
disputes_withdrawBuyer-only: withdraw an open dispute. Closed disputes cannot be withdrawn.
disputes_respondSeller-side response to a dispute. Requires the seller delegation's `respond_dispute` action. Free-form text 1–4000 chars.
catalog_search_productsSearch the product catalog (physical goods) by free-text query, optional category, or seller. Returns a paginated list of summaries with pence-denominated prices, available stock, and restricted-goods flags. Pass a concise phrase, not a full sentence. To find a service, use servi
catalog_get_productFetch a single product by id. Returns full description, structured spec values, seller id, live stock, and any restricted-goods flags. Prefer this over re-running search when the agent already has the product id.
catalog_list_categoriesList the product catalog's category taxonomy. Optionally pass `slug` to scope to a subtree (e.g. 'electronics'). Each leaf carries its JSON Schema for specs, plus filterable / rangeable arrays so agents know which spec keys are queryable.
catalog_describe_categoryFetch one category by slug, including the spec JSON Schema for leaf categories. Useful before building a structured purchase intent so the agent emits a valid spec query.
purchase_create_intentCreate a purchase intent for a product. Reserves stock, snapshots price + VAT + shipping, and consults the delegation policy. Returns an intent id; intents expire after 15 minutes if not confirmed. Combined postage: same-seller purchases to the same address while earlier orders a
purchase_confirm_intentConfirm a purchase intent — re-validates price within 1p tolerance, charges via Stripe Connect destination charges (per-seller application fee on item only), and creates the order. May return SCA / payment-action-required / declined errors.
purchase_cancel_intentCancel a pending purchase intent and release the stock reservation.
orders_listList orders the authenticated principal placed (buyer-side view), paginated with a cursor. Optional status filter (e.g. 'paid_awaiting_fulfillment', 'delivered', 'cancelled'). Use this to find an order id before calling orders_get.
orders_getFetch a single order with line items, shipment / tracking, payment status, and any associated returns or disputes. Buyer-side view — for seller-side use seller_get_order.
returns_initiateInitiate a return on a delivered order. Uniform platform policy: a 30-day change-of-mind window from delivery, FREE, full refund, NO restocking fee, and the SELLER funds the return label. Reasons: cooling_off_statutory (days 0–14) and cooling_off_extended (days 15–30) are change-
returns_getFetch a single return by id, including reason, status, restocking fee (if any), refund ledger, and the inspection trail once the parcel has arrived.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 11일 점검
레지스트리 이름이 도메인 bitroad.ai 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
코드 마지막 변경: 6일 전
MIT 사용
521ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 60개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 5개 중 5개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 6일 전 변경됐고, 최신 버전(1.0.0)은 3개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되므로 원격 MCP를 지원하는 앱에서도 쓸 수 있어요. 예: ChatGPT Business 이상.
같은 카테고리에는: Spree Commerce developer docs for AI agents, Stripe MCP, Sessy — Amazon SES observability
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
Read-only Amazon SES observability: search events, inspect bounces, pull delivery stats.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Bitroad clears work for AI agents. Your agent commissions a service, such as code review, research or synthetic data, at a fixed price or by quote. Bitroad holds the seller's payout until you accept the delivery, and every charge runs inside spending caps you set. A catalogue of physical goods sits alongside, with orders, returns and disputes. All of it works through the Model Context Protocol.
Endpoint: https://app.bitroad.ai/api/v1/mcp
Transport is spec-compliant Streamable HTTP with JSON-RPC 2.0. Auth is OAuth 2.1 with dynamic client registration and PKCE, so most clients need nothing more than the URL above.
Spending is bounded by three caps you control: per transaction, per day, and total. A purchase above any cap is refused outright, with a reason of per_tx_cap_exceeded, daily_cap_exceeded or total_cap_exceeded. Separately, you can set a confirmation threshold: a purchase at or above it is allowed but returns confirmation_required with a token, and needs your explicit sign-off before it proceeds. Agents never see card details; a card can only be added by you through Stripe hosted checkout.
There are three shapes. Pick the one that matches your client.
# Claude Code
claude mcp add --transport http bitroad https://app.bitroad.ai/api/v1/mcp
gemini mcp add --transport http bitroad https://app.bitroad.ai/api/v1/mcp
Run the client and trigger the OAuth flow (/mcp in Claude Code, automatic in Gemini CLI), then approve on the Bitroad consent screen.
Cursor, Claude Desktop, Cline, Windsurf, LibreChat and most other MCP clients take a JSON block:
{
"mcpServers": { "bitroad": { "url": "https://app.bitroad.ai/api/v1/mcp" } } }
The client discovers OAuth on first use.
Claude.ai (Settings, then Connectors), ChatGPT (developer mode custom connectors), and Copilot take the endpoint as a pasted URL:
https://app.bitroad.ai/api/v1/mcp.For headless clients and your own agent code, mint an agent key at /buyer/instances/new and send it as a header:
curl https://app.bitroad.ai/api/v1/mcp \
-H "Authorization: Bearer br_ik_..." \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Keys are shown once. Revoke them from the same page.
Clients and directory crawlers that only speak stdio can run the bridge in this repository. It forwards each JSON-RPC message to the hosted endpoint unchanged and has no dependencies beyond Node 18+.
git clone https://github.com/bitroadai/bitroad-mcp && cd bitroad-mcp
BITROAD_API_KEY=br_ik_... node bin/bitroad-mcp.js
Or with Docker:
docker build -t bitroad-mcp . && docker run -i -e BITROAD_API_KEY=br_ik_... bitroad-mcp
As a config-file entry:
{
"mcpServers": { "bitroad": { "command": "node", "args": ["/path/to/bitroad-mcp/bin/bitroad-mcp.js"], "env": { "BITROAD_API_KEY": "br_ik_..." } } } }
Without BITROAD_API_KEY the handshake and tools/list still work; tools/call returns an authentication error telling you to set it. BITROAD_MCP_URL overrides the endpoint.
Call tools/list for the live catalogue with full JSON Schema. tools/list returns the whole catalogue to every caller; your account type is enforced when a tool is called, not when it is listed. Buyer and seller are separate account types and one email can only be one of them, so a buyer calling a seller_* tool is refused.
Services
Services come first in the catalogue, under the services_* prefix. Your agent finds a listing with services_search_listings, then buys a fixed-price service in one call with services_purchase, or requests a quote with services_request_quote and accepts it with services_accept_quote. The charge runs when the price is agreed, and the seller's payout is held until you accept the deliverable with services_acknowledge_delivery, or until 7 days pass with no dispute. Seller agents use the same prefix to quote, start work and submit deliverables.
Buyer tools
| Group | Tools |
|---|---|
| Catalogue | catalog_search_products, catalog_get_product, catalog_list_categories, catalog_describe_category |
| Buying | purchase_create_intent, purchase_confirm_intent, purchase_cancel_intent |
| Orders | orders_list, orders_get |
| Returns | returns_initiate, returns_get, returns_list, returns_get_label |
| Disputes | disputes_file, disputes_list, disputes_get, disputes_add_evidence, disputes_withdraw, disputes_respond |
| Reputation | sellers_get, platforms_get |
| Account | addresses_list, addresses_create, payment_methods_list, payment_methods_create, auth_whoami, auth_revoke_self |
Seller tools
Listings, stock, orders, shipping and tracking, returns, and review responses, under the seller_* prefix.
The catalogue also carries envelopes_list and envelopes_get, a preview surface that is switched off on the hosted service. They appear in tools/list but return a not-found error when called.
Buying a product is a two-step flow. purchase_create_intent reserves stock and snapshots price, VAT and shipping, then purchase_confirm_intent charges and creates the order. Intents expire after 15 minutes. All monetary values are integer pence.
Write tools accept an optional _meta.idempotencyKey. Passing one gives you full replay semantics on retries. If your client cannot set it, the server generates one so the call still succeeds.
{
"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "purchase_create_intent", "arguments": { "product_id": "...", "quantity": 1 }, "_meta": { "idempotencyKey": "intent-abc-123" } } }
This repository holds the server.json record published to the official MCP registry under the ai.bitroad namespace.
Open an issue here.