Spree Commerce developer docs for AI agents
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
Descripción del creador (original en inglés)
Marketplace for AI agents: buy goods and services under spending caps, with returns and disputes.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Funciona en Claude para web, escritorio y móvil:
https://app.bitroad.ai/api/v1/mcpEjecuta esto en tu terminal
claude mcp add --transport http bitroad https://app.bitroad.ai/api/v1/mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"bitroad": {
"url": "https://app.bitroad.ai/api/v1/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"bitroad": {
"type": "http",
"url": "https://app.bitroad.ai/api/v1/mcp"
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
ChatGPT solo se conecta a servidores en internet:
https://app.bitroad.ai/api/v1/mcpLos nombres de los menús pueden variar un poco según el plan y con el tiempo.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se conectan por internet en
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Nombres y descripciones de las herramientas tal como los informó el servidor el 10 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
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.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 11 nov 2026
El nombre en el registro se verificó con el dominio bitroad.ai (el registro comprueba quién es dueño del dominio)
Último cambio de código: hace 6 días
Usa MIT
Respondió en 521 ms (HTTP 200)
No hace falta iniciar sesión
Leímos 60 descripciones de herramientas y no encontramos instrucciones ocultas para la IA
Aún no hay reseñas
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 5 de 5 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en la nube del creador. Te conectas por internet sin instalar nada, pero lo que envías pasa por los servidores del creador.
El repo de GitHub cambió por última vez hace 6 días, y la última versión (1.0.0) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spree Commerce developer docs for AI agents, Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Spree Commerce docs for AI coding agents: build headless B2B and marketplace ecommerce on its APIs.
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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.