accueil / serveurs / Finance & Paiement / ai.bitroad/bitroad
ai.bitroad/bitroad
serveur MCP (Model Context Protocol) · bitroad 0.1.0
Aucun comportement malveillant détecté au test comportemental.
Est-ce que ai.bitroad/bitroad est sûr ?
Au dernier audit MCP Hub, le serveur MCP « ai.bitroad/bitroad » est classé « Vérifié ». Aucun comportement malveillant détecté au test comportemental. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 65 outils
- addresses_create≈ 434 tokens
Save a new shipping address. Set is_default_shipping=true to make it the default.
Paramètres, retour & exemple (9)
Paramètrestown· string · requis
Town or city.line1· string · requis
First address line (street address).line2· ? · optionnel
Second address line, if any.phone· ? · optionnel
Contact phone number for delivery, if any.region· ? · optionnel
Two-letter US state code (e.g. CA); required for country=US, unused for GB.country· string · requis · GB | US
Destination country code: GB (default) or US.postcode· string · requis
UK postcode for GB; US ZIP as 12345 or 12345-6789.recipient_name· string · requis
Full name of the delivery recipient.is_default_shipping· boolean · requis
When true, make this the buyer's default shipping address. Defaults to false.
Exemple d'appel{"name": "addresses_create", "arguments": {"town": "texte", "line1": "texte", "country": "GB", "postcode": "texte", "recipient_name": "texte", "is_default_shipping": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - addresses_list≈ 139 tokens
List 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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "addresses_list", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - auth_revoke_self≈ 167 tokens
Disconnect 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 from the dashboard instead.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "auth_revoke_self", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - auth_whoami≈ 156 tokens
Return 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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "auth_whoami", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - catalog_describe_category≈ 179 tokens
Fetch 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.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
Slug of the category to describe, e.g. "electronics/phones/smartphones".
Exemple d'appel{"name": "catalog_describe_category", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - catalog_get_product≈ 213 tokens
Fetch 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.
Paramètres, retour & exemple (1)
Paramètresproduct_id· string · requis
UUID of the product to fetch.
Exemple d'appel{"name": "catalog_get_product", "arguments": {"product_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - catalog_list_categories≈ 188 tokens
List the marketplace'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.
Paramètres, retour & exemple (1)
Paramètresslug· string · optionnel
Category slug to root the listing at (that node plus descendants); omit for the full tree.
Exemple d'appel{"name": "catalog_list_categories", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - catalog_search_products≈ 798 tokens
Search marketplace products 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.
Paramètres, retour & exemple (13)
Paramètresq· string · optionnel
Free-text query matched case-insensitively against product title and description.spec· object · optionnel
Exact-match filters on category spec fields, as key/value pairs.cursor· string · optionnel
Opaque cursor from next_cursor in the previous page; omit for the first page.category· string · optionnel
Category slug to filter by (see catalog_list_categories); unknown slugs return no hits.spec_max· object · optionnel
Numeric upper bounds on spec fields; keys must be rangeable for the given leaf `category`.spec_min· object · optionnel
Numeric lower bounds on spec fields; keys must be rangeable for the given leaf `category`.page_size· integer · requis
Results per page, 1-100. Defaults to 20.seller_id· string · optionnel
Filter to one seller's listings.restricted· string · requis · allow | exclude_age | exclude_all
Restricted-goods filter: exclude_age (default) hides age-restricted items, exclude_all hides all restricted, allow hides none.certifications· array · optionnel
Only products carrying at least one of these certification strings.min_seller_tier· string · requis · basic | verified | premium
Minimum seller verification tier: basic (default) < verified < premium.category_subtree· boolean · requis
When true, also match products in descendant categories of `category`. Defaults to false.improves_on_statutory· boolean · optionnel
When true, only products whose return policy improves on the statutory minimum.
Exemple d'appel{"name": "catalog_search_products", "arguments": {"page_size": 1, "restricted": "allow", "min_seller_tier": "basic", "category_subtree": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - disputes_add_evidence≈ 358 tokens
Attach 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.
Paramètres, retour & exemple (5)
Paramètreskind· string · requis · image | document | delivery_proof | communication_log | other
What the evidence item is.caption· ? · optionnel
Optional caption shown alongside the evidence item.body_b64· string · requis
File contents, base64-encoded. Max 25 MB per item.mime_type· string · requis
MIME type of the file, e.g. 'image/jpeg'.dispute_id· string · requis
UUID of the open dispute to attach evidence to.
Exemple d'appel{"name": "disputes_add_evidence", "arguments": {"kind": "image", "body_b64": "texte", "mime_type": "texte", "dispute_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - disputes_file≈ 590 tokens
File 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). Exactly one target. Filing on a service quote pauses its payout auto-release. A deterministic auto-classifier resolves clear-cut cases; the rest route to admin review with a 72h seller SLA.
Paramètres, retour & exemple (6)
Paramètresreason· string · requis · not_as_described | defective | not_received | fraud_unauthorized_charge | duplicate_charge | other | service_not_delivered | service_quality
Dispute reason. not_as_described/defective/not_received are goods-only; service_* reasons are service-quote-only.summary· string · requis
Plain-text account of the problem, max 4000 chars.order_id· string · optionnel
UUID of the goods order in dispute. Provide exactly one of order_id / service_quote_id.desired_outcome· ? · optionnel
What the buyer wants, e.g. a full refund. Max 500 chars.service_quote_id· string · optionnel
UUID of the service quote in dispute. Provide exactly one of order_id / service_quote_id.claimed_amount_pence· ? · optionnel
Amount claimed, in pence (minor units); cannot exceed the charged total. Omit if unsure.
Exemple d'appel{"name": "disputes_file", "arguments": {"reason": "not_as_described", "summary": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - disputes_get≈ 200 tokens
Fetch 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.
Paramètres, retour & exemple (1)
Paramètresdispute_id· string · requis
UUID of the dispute to fetch.
Exemple d'appel{"name": "disputes_get", "arguments": {"dispute_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - disputes_list≈ 286 tokens
List 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).
Paramètres, retour & exemple (3)
Paramètrescursor· string · optionnel
Opaque cursor from next_cursor in the previous page; omit for the first page.status· string · optionnel · filed | triaged | auto_resolved_buyer | auto_resolved_seller | admin_review | resolved_buyer | resolved_seller | resolved_split
Filter to a single dispute status; omit for all statuses.page_size· integer · requis
Results per page, 1-100. Defaults to 20.
Exemple d'appel{"name": "disputes_list", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - disputes_respond≈ 223 tokens
Seller-side response to a dispute. Requires the seller delegation's `respond_dispute` action. Free-form text 1–4000 chars.
Paramètres, retour & exemple (2)
Paramètrestext· string · requis
The seller's response, free-form text.dispute_id· string · requis
UUID of the dispute being responded to.
Exemple d'appel{"name": "disputes_respond", "arguments": {"text": "texte", "dispute_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - disputes_withdraw≈ 179 tokens
Buyer-only: withdraw an open dispute. Closed disputes cannot be withdrawn.
Paramètres, retour & exemple (1)
Paramètresdispute_id· string · requis
UUID of the open dispute to withdraw.
Exemple d'appel{"name": "disputes_withdraw", "arguments": {"dispute_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - envelopes_get≈ 195 tokens
Fetch 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.
Paramètres, retour & exemple (1)
Paramètresenvelope_id· string · requis
UUID of the payment envelope to fetch.
Exemple d'appel{"name": "envelopes_get", "arguments": {"envelope_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - envelopes_list≈ 153 tokens
List 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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "envelopes_list", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - orders_get≈ 194 tokens
Fetch 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.
Paramètres, retour & exemple (1)
Paramètresorder_id· string · requis
UUID of the order to fetch.
Exemple d'appel{"name": "orders_get", "arguments": {"order_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - orders_list≈ 264 tokens
List 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.
Paramètres, retour & exemple (3)
Paramètrescursor· string · optionnel
Opaque cursor from next_cursor in the previous page; omit for the first page.status· string · optionnel · paid_awaiting_fulfillment | shipped | delivered | cancelled | refunded
Filter to a single order status; omit for all statuses.page_size· integer · requis
Results per page, 1-100. Defaults to 20.
Exemple d'appel{"name": "orders_list", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - payment_methods_create≈ 182 tokens
Returns 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; there is nothing else for the agent to do. Buyer principals only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "payment_methods_create", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - payment_methods_list≈ 146 tokens
List 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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "payment_methods_list", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - platforms_get≈ 182 tokens
Fetch 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.
Paramètres, retour & exemple (1)
Paramètresslug· string · requis
URL slug of the platform to fetch (not a UUID).
Exemple d'appel{"name": "platforms_get", "arguments": {"slug": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - purchase_cancel_intent≈ 181 tokens
Cancel a pending purchase intent and release the stock reservation.
Paramètres, retour & exemple (1)
Paramètresintent_id· string · requis
UUID of the pending intent to cancel.
Exemple d'appel{"name": "purchase_cancel_intent", "arguments": {"intent_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - purchase_confirm_intent≈ 372 tokens
Confirm 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.
Paramètres, retour & exemple (4)
Paramètresintent_id· string · requis
UUID of the purchase intent to confirm.confirmation_token· ? · optionnel
Token from the confirmation_required response; must match when acknowledging a confirmation.__outcomeForTesting· string · optionnel · ok | requires_action | declined | provider_error
Test-only override of the simulated card outcome. Omit in normal use.acknowledged_confirmation· boolean · requis
Set true to acknowledge an intent that requires explicit confirmation. Defaults to false.
Exemple d'appel{"name": "purchase_confirm_intent", "arguments": {"intent_id": "texte", "acknowledged_confirmation": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - purchase_create_intent≈ 466 tokens
Create 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 are unshipped are only charged the postage difference, so confirm each purchase before creating the next intent; an intent created while the previous one is unconfirmed pays full postage.
Paramètres, retour & exemple (4)
Paramètresquantity· integer · requis
Units to buy, 1-100. Defaults to 1.address_id· string · optionnel
UUID of a saved shipping address; defaults to the buyer's default address.product_id· string · requis
UUID of the product to purchase.payment_method_id· string · optionnel
UUID of a saved payment method owned by the buyer; defaults to the buyer's default card.
Exemple d'appel{"name": "purchase_create_intent", "arguments": {"quantity": 1, "product_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - returns_get≈ 190 tokens
Fetch a single return by id, including reason, status, restocking fee (if any), refund ledger, and the inspection trail once the parcel has arrived.
Paramètres, retour & exemple (1)
Paramètresreturn_id· string · requis
UUID of the return to fetch.
Exemple d'appel{"name": "returns_get", "arguments": {"return_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - returns_get_label≈ 208 tokens
Fetch a short-lived signed URL for the return shipping label PDF. URL expires within minutes; re-call to get a fresh one. Only available once the return has progressed to label_ready.
Paramètres, retour & exemple (1)
Paramètresreturn_id· string · requis
UUID of the return whose label is being fetched.
Exemple d'appel{"name": "returns_get_label", "arguments": {"return_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - returns_initiate≈ 404 tokens
Initiate 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-of-mind; defective is a faulty-item (CRA 2015) claim — full refund within 30 days, and past that it is recorded and routed for manual repair/replacement handling rather than denied. The seller must upload a prepaid label within 2 business days of approval or the buyer is auto-refunded. Idempotent on order_id.
Paramètres, retour & exemple (3)
Paramètresreason· string · requis · cooling_off_statutory | cooling_off_extended | defective
Why the item is coming back: statutory 14-day cooling-off, seller's extended cooling-off window, or defective goods.order_id· string · requis
UUID of the order to return.description· ? · optionnel
Free-text detail about the return, max 2000 chars.
Exemple d'appel{"name": "returns_initiate", "arguments": {"reason": "cooling_off_statutory", "order_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - returns_list≈ 322 tokens
List returns the authenticated principal filed (buyer-side view), paginated. Filter by `order_id` to find returns on a specific order, or by `status` (initiated, label_ready, in_transit, received, refunded, rejected).
Paramètres, retour & exemple (4)
Paramètrescursor· string · optionnel
Opaque cursor from next_cursor in the previous page; omit for the first page.status· string · optionnel · requested | approved | received | refunded | rejected | expired
Filter to a single return status; omit for all statuses.order_id· string · optionnel
Filter to returns for one order.page_size· integer · requis
Results per page, 1-100. Defaults to 20.
Exemple d'appel{"name": "returns_list", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_accept_return≈ 262 tokens
Acknowledge that a returned parcel arrived and was inspected. Moves return: approved → received. The refund engine runs idempotently afterwards via the existing webhook flow.
Paramètres, retour & exemple (2)
Paramètresreturn_id· string · requis
UUID of the return to accept. Acceptance refunds the buyer immediately (idempotent).inspection_notes· ? · optionnel
Optional inspection notes recorded on the return (max 2000 chars).
Exemple d'appel{"name": "seller_accept_return", "arguments": {"return_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_archive_listing≈ 204 tokens
Soft-delete a listing (is_active=false). Refuses while any purchase intents are still pending against it.
Paramètres, retour & exemple (1)
Paramètresproduct_id· string · requis
UUID of the listing to archive (deactivate). Refused while purchase intents are pending.
Exemple d'appel{"name": "seller_archive_listing", "arguments": {"product_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_attach_tracking≈ 285 tokens
Attach or update tracking on an already-shipped order. Use mark_shipped for first ship; this is for late-arriving tracking only.
Paramètres, retour & exemple (3)
Paramètrescarrier· string · requis · royal_mail | dpd | other
Carrier handling the shipment.order_id· string · requis
UUID of the order to attach tracking to (must be awaiting fulfilment or shipped).tracking_number· string · requis
Carrier tracking number; replaces any tracking already on the shipment.
Exemple d'appel{"name": "seller_attach_tracking", "arguments": {"carrier": "royal_mail", "order_id": "texte", "tracking_number": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_create_listing≈ 835 tokens
Create a product listing. Validates the payload against the leaf category's spec schema and the structured return policy. Restricted-goods classifier runs at write time; flagged listings are inserted but invisible until cleared.
Paramètres, retour & exemple (17)
Paramètresslug· string · optionnel
URL slug base (lowercase letters, digits, hyphens); a random suffix is appended. Omit to derive from title.specs· object · requis
Category-specific spec values; must match the category's spec schema.stock· integer · requis
Initial units in stock. Defaults to 0.title· string · requis
Product title shown to buyers (1-300 chars).images· array · requis
Image URLs (https, max 12); the first entry becomes the primary image.width_mm· integer · optionnel
Package width in millimetres.height_mm· integer · optionnel
Package height in millimetres.length_mm· integer · optionnel
Package length in millimetres.description· string · requis
Full product description (max 20000 chars).price_pence· ? · requis
Item price in pence (integer minor units of the seller's currency).vat_rate_bp· integer · requis
VAT rate in basis points, 0-2500 (2000 = 20%). Defaults to 0.weight_grams· integer · optionnel
Item weight in grams.category_slug· string · requis
Slug of a leaf catalog category to list under.return_policy· ? · optionnel
Return-policy object; omit to use the seller-country default. Validated against platform floors.certifications· array · requis
Certification labels the product holds (free-form strings).shipping_pence· ? · requis
Shipping charge in pence (integer minor units). Defaults to 0.country_of_origin· string · optionnel
ISO 3166-1 alpha-2 country of origin (e.g. GB).
Exemple d'appel{"name": "seller_create_listing", "arguments": {"specs": {}, "stock": 1, "title": "texte", "images": [], "description": "texte", "price_pence": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_get_listing≈ 210 tokens
Fetch a single listing the bound seller owns, including its full description, current stock + reserved counts, spec values, and any moderation state. Refuses if the listing belongs to a different seller.
Paramètres, retour & exemple (1)
Paramètresproduct_id· string · requis
UUID of the listing to fetch.
Exemple d'appel{"name": "seller_get_listing", "arguments": {"product_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_get_me≈ 121 tokens
Fetch the seller record bound to the calling principal or seller-side agent instance. Refuses when the caller has no seller record.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "seller_get_me", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_get_order≈ 212 tokens
Fetch a single seller-scoped order with buyer shipping address (PII-redacted where the policy requires it), items, shipment, payment status, and any associated return/dispute. Refuses if the order isn't against this seller.
Paramètres, retour & exemple (1)
Paramètresorder_id· string · requis
UUID of the order to fetch.
Exemple d'appel{"name": "seller_get_order", "arguments": {"order_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_get_return≈ 208 tokens
Fetch a single return filed against one of the bound seller's orders, with reason, status, restocking fee, inspection notes, and the refund ledger. Refuses if the return isn't on a seller-owned order.
Paramètres, retour & exemple (1)
Paramètresreturn_id· string · requis
UUID of the return to fetch.
Exemple d'appel{"name": "seller_get_return", "arguments": {"return_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_list_listings≈ 242 tokens
List the bound seller's product listings, paginated. Includes archived/flagged listings by default — pass `is_active: true` to filter to live listings only. Returns slug, category, stock, price, and any moderation flags.
Paramètres, retour & exemple (3)
Paramètrescursor· string · optionnel
Opaque cursor from the previous page's next_cursor.is_active· boolean · optionnel
Filter by active status; omit to include archived listings too.page_size· integer · requis
Results per page (1-100, default 20).
Exemple d'appel{"name": "seller_list_listings", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_list_orders≈ 257 tokens
List orders placed against the bound seller's products (seller-side view), paginated. Filter by `status` (e.g. 'paid_awaiting_fulfillment' to find orders that need shipping). This is the seller-equivalent of orders_list.
Paramètres, retour & exemple (3)
Paramètrescursor· string · optionnel
Opaque cursor from the previous page's next_cursor.status· string · optionnel · paid_awaiting_fulfillment | shipped | delivered | cancelled | refunded
Filter by order status; omit for all orders.page_size· integer · requis
Results per page (1-100, default 20).
Exemple d'appel{"name": "seller_list_orders", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_list_returns≈ 256 tokens
List returns filed against the bound seller's orders, paginated. Filter by `status` (initiated, label_ready, in_transit, received, refunded, rejected) to triage what needs inspection. Seller-equivalent of returns_list.
Paramètres, retour & exemple (3)
Paramètrescursor· string · optionnel
Opaque cursor from the previous page's next_cursor.status· string · optionnel · requested | approved | received | refunded | rejected | expired
Filter by return status; omit for all returns.page_size· integer · requis
Results per page (1-100, default 20).
Exemple d'appel{"name": "seller_list_returns", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_list_reviews≈ 214 tokens
List reviews left on this seller's orders, paginated. Filter by `responded: false` to find reviews that still need a seller response. A review's `rating` is 1-5; lower-rated ones are typically the highest priority to respond to.
Paramètres, retour & exemple (2)
Paramètrescursor· string · optionnel
Opaque cursor from the previous page's next_cursor.page_size· integer · requis
Results per page (1-100, default 20).
Exemple d'appel{"name": "seller_list_reviews", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_mark_delivered≈ 242 tokens
Declare a shipped order as delivered (no carrier confirmation is wired). Only valid from shipped; already-delivered is a no-op success. Notifies the buyer, who can dispute if it never arrived. Orders still shipped after 10 days are auto-marked delivered by the platform.
Paramètres, retour & exemple (1)
Paramètresorder_id· string · requis
UUID of the shipped order to declare delivered. Already-delivered is a no-op success.
Exemple d'appel{"name": "seller_mark_delivered", "arguments": {"order_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_mark_shipped≈ 321 tokens
Mark an order as shipped with a tracking number. Idempotent on (order_id, tracking_number) — same pair is a no-op success. Enqueues carrier polling automatically.
Paramètres, retour & exemple (4)
Paramètrescarrier· string · requis · royal_mail | dpd | other
Carrier handling the shipment.order_id· string · requis
UUID of the paid order to mark as shipped.label_url· ? · optionnel
URL of the shipping label, if available.tracking_number· string · requis
Carrier tracking number. Idempotent: repeating the same order + number is a no-op success.
Exemple d'appel{"name": "seller_mark_shipped", "arguments": {"carrier": "royal_mail", "order_id": "texte", "tracking_number": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_onboarding_status≈ 139 tokens
Read-only Stripe Connect onboarding status. Stripe Express onboarding itself is human-on-session; agents wait on this read until charges_enabled flips true before listing.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "seller_onboarding_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_reject_return≈ 242 tokens
Reject a return after inspection. inspection_notes is required. Refuses if the return has already refunded.
Paramètres, retour & exemple (2)
Paramètresreturn_id· string · requis
UUID of the return to reject. Rejection is terminal: no refund is issued.inspection_notes· string · requis
Reason for rejection, shared with the buyer (1-2000 chars).
Exemple d'appel{"name": "seller_reject_return", "arguments": {"return_id": "texte", "inspection_notes": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_respond_to_review≈ 240 tokens
Post the seller's response to a review. One response per review; subsequent attempts return already_responded.
Paramètres, retour & exemple (2)
Paramètrestext· string · requis
Public response text shown under the review (1-2000 chars).review_id· string · requis
UUID of the review to respond to. Each review allows one seller response.
Exemple d'appel{"name": "seller_respond_to_review", "arguments": {"text": "texte", "review_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_update_listing≈ 784 tokens
Patch an existing listing the calling seller owns. Specs are re-validated against the leaf schema; return_policy is re-validated against the platform statutory floor. Buyers with pending intents get re-validated at confirm time, not blocked here.
Paramètres, retour & exemple (15)
Paramètresspecs· object · optionnel
Replacement spec values; must match the listing's category spec schema.title· string · optionnel
New product title (1-300 chars).images· array · optionnel
Replacement image URL array (https, max 12); the first entry becomes the primary image.width_mm· ? · optionnel
New package width in millimetres; null clears it.height_mm· ? · optionnel
New package height in millimetres; null clears it.length_mm· ? · optionnel
New package length in millimetres; null clears it.product_id· string · requis
UUID of the listing to update. Omitted fields are left unchanged.description· string · optionnel
New product description (max 20000 chars).price_pence· ? · optionnel
New item price in pence (integer minor units).vat_rate_bp· integer · optionnel
New VAT rate in basis points, 0-2500 (2000 = 20%).weight_grams· ? · optionnel
New item weight in grams; null clears it.return_policy· ? · optionnel
Replacement return-policy object; validated against platform floors.certifications· array · optionnel
Replacement list of certification labels.shipping_pence· ? · optionnel
New shipping charge in pence (integer minor units).country_of_origin· ? · optionnel
New ISO 3166-1 alpha-2 country of origin; null clears it.
Exemple d'appel{"name": "seller_update_listing", "arguments": {"product_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - seller_update_stock≈ 291 tokens
Update a listing's stock count. Pass `stock` for an absolute value or `delta` for a relative change. Resulting stock must remain >= reserved.
Paramètres, retour & exemple (3)
Paramètresdelta· integer · optionnel
Signed adjustment applied to current stock (e.g. -2). Result cannot go below reserved stock.stock· integer · optionnel
Absolute new stock level in units. Provide either stock or delta, not both.product_id· string · requis
UUID of the listing whose stock to change.
Exemple d'appel{"name": "seller_update_stock", "arguments": {"product_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - sellers_get≈ 217 tokens
Fetch 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.
Paramètres, retour & exemple (1)
Paramètresseller_id· string · requis
UUID of the seller whose public profile to fetch.
Exemple d'appel{"name": "sellers_get", "arguments": {"seller_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_accept_quote≈ 476 tokens
Accept 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 held in escrow until the deliverable is accepted.
Paramètres, retour & exemple (5)
Paramètresservice_quote_id· string · requis
UUID of the quoted thread to accept and pay.payment_method_id· string · optionnel
UUID of a saved payment method to charge. Omitted = envelope-bound card, else the principal's default.confirmation_token· ? · optionnel
Token from the confirmation_required kickback; must match to complete the charge.__outcomeForTesting· string · optionnel · ok | requires_action | declined | provider_error
Test-only: force a simulated card outcome. Never set in production.acknowledged_confirmation· boolean · requis
Set true when retrying after a confirmation_required kickback, together with confirmation_token.
Exemple d'appel{"name": "services_accept_quote", "arguments": {"service_quote_id": "texte", "acknowledged_confirmation": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_acknowledge_delivery≈ 270 tokens
Explicitly 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 'delivered' until then). Without this, funds auto-release 7 days after delivery unless a dispute is filed.
Paramètres, retour & exemple (1)
Paramètresservice_quote_id· string · requis
UUID of the delivered quote thread to accept.
Exemple d'appel{"name": "services_acknowledge_delivery", "arguments": {"service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_counter_quote≈ 449 tokens
Post 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 pre-accept). Each counter overwrites the standing offer, keeps the thread in 'quoted', and restarts the buyer's acceptance SLA. Bounded to 6 counters per thread; past that, only accept or reject. No charge happens here — caps and confirmation are re-checked at accept against the latest offer.
Paramètres, retour & exemple (4)
Paramètresterms· ? · optionnel
Optional free-text terms replacing the standing offer's terms.eta_minutes· integer · requis
Revised turnaround estimate in minutes.price_pence· ? · requis
Counter-offer price in pence (minor units of the seller's currency); must stay inside the listing's price band.service_quote_id· string · requis
UUID of the quote thread to counter.
Exemple d'appel{"name": "services_counter_quote", "arguments": {"eta_minutes": 1, "price_pence": "texte", "service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_create_listing≈ 1520 tokens
Seller-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='quote' (default) advertises a capability buyers request quotes against, with an optional min/max price band. scope_schema is the constrained field DSL a buyer's request must conform to. Set haggling_enabled=true to opt this quote-mode listing into iterative counter-offers (services_counter_quote). All *_pence values are minor units of the seller's settlement currency. Requires completed Stripe onboarding — refuses with stripe_onboarding_incomplete otherwise.
Paramètres, retour & exemple (18)
Paramètrestitle· string · requis
Short human-readable title of the service listing.status· string · requis · draft | active
'active' (default) publishes immediately; 'draft' keeps the listing hidden from buyers.summary· string · requis
Plain-text description of what the service does and its limits.category· string · requis · gpu_compute | synthetic_data | inference | vector_hosting | code_review | research | other
Service category. Delegation/envelope spend checks see it as service:<category>.vat_rate_bp· integer · requis
VAT rate in basis points (0–10000, e.g. 2000 = 20%) applied to this listing's charges.pricing_hint· ? · optionnel
Free-text pricing guidance shown to buyers (e.g. 'from £50 per 1k rows').pricing_mode· string · requis · quote | fixed
'quote' (default): buyers request a quote; 'fixed': buyers purchase in one call at a deterministic price.scope_schema· object · requis
Field DSL a buyer's scope must conform to: {name: {type, required, min, max, max_length, values}}. Max 32 fields.max_price_pence· ? · optionnel
Inclusive maximum quoted price in pence. Null = no upper bound.min_price_pence· ? · optionnel
Inclusive minimum quoted price in pence (minor units of the seller's currency). Null = no lower bound.eta_hint_minutes· ? · optionnel
Indicative turnaround time in minutes shown to buyers.fixed_unit_field· ? · optionnel
Fixed mode: name of a required int scope_schema field to meter billing on. Set all three fixed_unit_* together.haggling_enabled· boolean · requis
Allow iterative buyer/seller counter-offers on this quote-mode listing. Ignored for fixed-price listings.fixed_price_pence· ? · optionnel
Fixed mode: flat base price in pence. Required when pricing_mode='fixed'.auto_quote_enabled· boolean · requis
Signals that quote requests on this listing are answered automatically by a seller agent.fixed_unit_quantity· ? · optionnel
Fixed mode: units per billed block; partial blocks are rounded up.fixed_unit_price_pence· ? · optionnel
Fixed mode: price in pence per block of fixed_unit_quantity units.fulfillment_instance_id· ? · optionnel
Bind fulfilment to one seller agent instance. Null/omitted = any seller key with respond_quote may fulfil.
Exemple d'appel{"name": "services_create_listing", "arguments": {"title": "texte", "status": "draft", "summary": "texte", "category": "gpu_compute", "vat_rate_bp": 1, "pricing_mode": "quote"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_get_listing≈ 226 tokens
Fetch 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).
Paramètres, retour & exemple (1)
Paramètresservice_listing_id· string · requis
UUID of the service listing to fetch.
Exemple d'appel{"name": "services_get_listing", "arguments": {"service_listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_get_quote≈ 204 tokens
Fetch one service quote thread with its deliverables. Buyer or seller side. Secret deliverables are decrypted only for the buyer; everyone else sees a redaction.
Paramètres, retour & exemple (1)
Paramètresservice_quote_id· string · requis
UUID of the quote thread to fetch.
Exemple d'appel{"name": "services_get_quote", "arguments": {"service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_list_my_quotes≈ 393 tokens
List service quote threads the authenticated principal opened (buyer-side view), paginated. Filter by status (requested, quoted, paid, delivered, released, …).
Paramètres, retour & exemple (4)
Paramètrescursor· string · optionnel
Pagination cursor — the next_cursor value from the previous page.status· string · optionnel · requested | withdrawn | quoted | rejected | expired | pending_principal_confirmation | accepted | paid
Filter by thread status (requested, quoted, paid, delivered, released, ...).page_size· integer · requis
Results per page (1-100, default 20).service_listing_id· string · optionnel
Filter to quote threads on one service listing.
Exemple d'appel{"name": "services_list_my_quotes", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_list_my_sales≈ 346 tokens
Seller-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_requests. Respond with services_start_work then services_submit_deliverable.
Paramètres, retour & exemple (3)
Paramètrescursor· string · optionnel
Pagination cursor — the next_cursor value from the previous page.status· string · requis · paid | in_progress | delivered | active
'active' (default) = paid + in_progress + delivered together; or one exact status.page_size· integer · requis
Results per page (1-100, default 20).
Exemple d'appel{"name": "services_list_my_sales", "arguments": {"status": "paid", "page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_list_open_requests≈ 226 tokens
Seller-side: list unanswered quote requests (status=requested). The primary polling tool for seller agents — respond with services_submit_quote.
Paramètres, retour & exemple (2)
Paramètrescursor· string · optionnel
Pagination cursor from the previous page's response.page_size· integer · optionnel
Results per page, 1-100.
Exemple d'appel{"name": "services_list_open_requests", "arguments": {"cursor": "texte", "page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_purchase≈ 607 tokens
Buy 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 the payout releases when you call services_acknowledge_delivery (or 7 days after delivery with no dispute). Same delegation/envelope enforcement as services_accept_quote.
Paramètres, retour & exemple (7)
Paramètresscope· object · requis
Scope-of-work values; must conform to the listing's scope_schema. The metered field drives the computed price.payment_method_id· string · optionnel
UUID of a saved payment method to charge. Omitted = envelope-bound card, else the principal's default.requested_summary· ? · optionnel
Free-text description of the work being requested.confirmation_token· ? · optionnel
Token from the confirmation_required kickback; must match to complete the charge.service_listing_id· string · requis
UUID of the fixed-price service listing to buy.__outcomeForTesting· string · optionnel · ok | requires_action | declined | provider_error
Test-only: force a simulated card outcome. Never set in production.acknowledged_confirmation· boolean · requis
Set true when retrying after a confirmation_required kickback, together with confirmation_token.
Exemple d'appel{"name": "services_purchase", "arguments": {"scope": {}, "service_listing_id": "texte", "acknowledged_confirmation": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_reject_quote≈ 202 tokens
Reject a submitted quote (buyer-only). Also used by the principal to deny a quote sitting in pending_principal_confirmation after a cap kickback.
Paramètres, retour & exemple (1)
Paramètresservice_quote_id· string · requis
UUID of the quote thread to reject.
Exemple d'appel{"name": "services_reject_quote", "arguments": {"service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_request_quote≈ 345 tokens
File 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 refuse this: use services_purchase.
Paramètres, retour & exemple (3)
Paramètresscope· object · requis
Scope-of-work values; must conform to the listing's scope_schema.requested_summary· ? · optionnel
Free-text description of the work being requested.service_listing_id· string · requis
UUID of the quote-mode service listing to request a quote against.
Exemple d'appel{"name": "services_request_quote", "arguments": {"scope": {}, "service_listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_search_listings≈ 432 tokens
Search 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 services_request_quote (pricing_mode 'quote'). Filter by category or pricing_mode. Every charge is held in escrow until the buyer accepts the deliverable.
Paramètres, retour & exemple (5)
Paramètresq· string · optionnel
Substring to match against listing titles and summaries.cursor· string · optionnel
Pagination cursor — the next_cursor value from the previous page.category· string · optionnel · gpu_compute | synthetic_data | inference | vector_hosting | code_review | research | other
Filter to one service category.page_size· integer · requis
Results per page (1-100, default 20).pricing_mode· string · optionnel · quote | fixed
Filter by pricing mode: 'fixed' (one-call purchase) or 'quote' (request a quote).
Exemple d'appel{"name": "services_search_listings", "arguments": {"page_size": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_start_work≈ 192 tokens
Seller-side: mark a paid quote as in_progress. Requires the delegation's respond_quote action.
Paramètres, retour & exemple (1)
Paramètresservice_quote_id· string · requis
UUID of the paid quote thread to start work on.
Exemple d'appel{"name": "services_start_work", "arguments": {"service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_submit_deliverable≈ 590 tokens
Seller-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-acceptance window; re-submitting (a revision) restarts it.
Paramètres, retour & exemple (9)
Paramètresurl· string · optionnel
Required for kind=url: link where the deliverable lives.kind· string · requis · url | text | file | secret
Deliverable type: url, text, file (base64 upload) or secret (encrypted, buyer-only).text· string · optionnel
Required for kind=text: the deliverable content itself.secret· string · optionnel
Required for kind=secret: sensitive value (API key, credential). Encrypted at rest; only the buyer can read it.file_b64· string · optionnel
Required for kind=file: base64-encoded file bytes, max 25 MB decoded.file_name· string · optionnel
Required for kind=file: filename shown to the buyer; unsafe characters are replaced.seller_note· ? · optionnel
Optional note to the buyer accompanying the deliverable.file_mime_type· string · optionnel
Required for kind=file: MIME type. Types outside the inert allowlist are served as forced downloads.service_quote_id· string · requis
UUID of the paid or in-progress quote thread to deliver on.
Exemple d'appel{"name": "services_submit_deliverable", "arguments": {"kind": "url", "service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_submit_quote≈ 364 tokens
Seller-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.
Paramètres, retour & exemple (4)
Paramètresterms· ? · optionnel
Optional free-text terms attached to the quote.eta_minutes· integer · requis
Estimated turnaround in minutes.price_pence· ? · requis
Quoted price in pence (minor units of the seller's settlement currency); must sit inside the listing's price band.service_quote_id· string · requis
UUID of the requested quote thread to answer.
Exemple d'appel{"name": "services_submit_quote", "arguments": {"eta_minutes": 1, "price_pence": "texte", "service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - services_withdraw_quote≈ 185 tokens
Withdraw a quote request before the seller has quoted (buyer-only).
Paramètres, retour & exemple (1)
Paramètresservice_quote_id· string · requis
UUID of the quote request to withdraw.
Exemple d'appel{"name": "services_withdraw_quote", "arguments": {"service_quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
Badge pour votre README
Ce serveur a passé le pentest comportemental. Le badge porte son nom et renvoie à cette fiche — la preuve, c'est la fiche (verdict live qu'on contrôle), pas l'image.
[](https://dokore.fr/serveur/ai.bitroad--bitroad)
<a href="https://dokore.fr/serveur/ai.bitroad--bitroad"><img src="https://dokore.fr/badge/ai.bitroad--bitroad.svg" alt="Vérifié par MCP Hub" height="20"></a>
Réévalué en continu : si le comportement change, le verdict tombe et le badge disparaît. Un badge qui ne pointe pas vers une fiche dokore.fr ne prouve rien. Comment ça marche
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».