ai.bitroad/bitroad
REMOTE · APP.BITROAD.AI
Marketplace for AI agents: buy goods and services under spending caps, with returns and disputes.
Available components
Last scanned (18 hours ago)
Scores higher than 95% of remote servers
Reachable. Last reached 16 Oct 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 401, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 8015 tokens (~123/item across 65 items; 65 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 66 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities40
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 10 Oct 26 +1
- Stability: 0.97 → pass security
- 7 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 97. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 4 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 16 Oct 2026 · Probed https://app.bitroad.ai/api/v1/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=bitroad.ai | CN=WE1,O=Google Trust Services,C=US | 29 Aug 2026 | 27 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | 61eb0d6c8b0e00060e85dedca6e7b009 |
| SANs: bitroad.ai, *.bitroad.ai | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of app.bitroad.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| bitroad.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="bitroad", resource_metadata="https://app.bitroad.ai/.well-known/oauth-protected-resource"
Bearer realm="bitroad", resource_metadata="https://app.bitroad.ai/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=() |
Protected resource metadata
| Document | https://app.bitroad.ai/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://app.bitroad.ai/api/v1/mcp |
| Authorisation server | https://app.bitroad.ai |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.bitroad.ai/api/v1/mcp | Verified | 200 | |
| http (plaintext) | http://app.bitroad.ai/api/v1/mcp | Inconclusive | 401 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
services_counter_quote Services counter quote ~208
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eta_minutes | integer | yes | Revised turnaround estimate in minutes. |
| price_pence | – | yes | Counter-offer price in pence (minor units of the seller's currency); must stay inside the listing's price band. |
| service_quote_id | string | yes | UUID of the quote thread to counter. |
| terms | – | – | Optional free-text terms replacing the standing offer's terms. |
No output schema declared.
No examples provided.
services_create_listing Services create listing ~612
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_quote_enabled | boolean | yes | Signals that quote requests on this listing are answered automatically by a seller agent. |
| category | string | yes | Service category. Delegation/envelope spend checks see it as service:<category>. |
| eta_hint_minutes | – | – | Indicative turnaround time in minutes shown to buyers. |
| fixed_price_pence | – | – | Fixed mode: flat base price in pence. Required when pricing_mode='fixed'. |
| fixed_unit_field | – | – | Fixed mode: name of a required int scope_schema field to meter billing on. Set all three fixed_unit_* together. |
| fixed_unit_price_pence | – | – | Fixed mode: price in pence per block of fixed_unit_quantity units. |
| fixed_unit_quantity | – | – | Fixed mode: units per billed block; partial blocks are rounded up. |
| fulfillment_instance_id | – | – | Bind fulfilment to one seller agent instance. Null/omitted = any seller key with respond_quote may fulfil. |
| haggling_enabled | boolean | yes | Allow iterative buyer/seller counter-offers on this quote-mode listing. Ignored for fixed-price listings. |
| max_price_pence | – | – | Inclusive maximum quoted price in pence. Null = no upper bound. |
| min_price_pence | – | – | Inclusive minimum quoted price in pence (minor units of the seller's currency). Null = no lower bound. |
| pricing_hint | – | – | Free-text pricing guidance shown to buyers (e.g. 'from £50 per 1k rows'). |
| pricing_mode | string | yes | 'quote' (default): buyers request a quote; 'fixed': buyers purchase in one call at a deterministic price. |
| scope_schema | object | yes | Field DSL a buyer's scope must conform to: {name: {type, required, min, max, max_length, values}}. Max 32 fields. |
| status | string | yes | 'active' (default) publishes immediately; 'draft' keeps the listing hidden from buyers. |
| summary | string | yes | Plain-text description of what the service does and its limits. |
| title | string | yes | Short human-readable title of the service listing. |
| vat_rate_bp | integer | yes | VAT rate in basis points (0–10000, e.g. 2000 = 20%) applied to this listing's charges. |
No output schema declared.
No examples provided.
services_get_listing Services get listing ~67
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).
| Name | Type | Req | Description |
|---|---|---|---|
| service_listing_id | string | yes | UUID of the service listing to fetch. |
No output schema declared.
No examples provided.
services_get_quote Services get quote ~57
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.
| Name | Type | Req | Description |
|---|---|---|---|
| service_quote_id | string | yes | UUID of the quote thread to fetch. |
No output schema declared.
No examples provided.
services_list_my_quotes Services list my quotes ~119
List service quote threads the authenticated principal opened (buyer-side view), paginated. Filter by status (requested, quoted, paid, delivered, released, …).
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Pagination cursor — the next_cursor value from the previous page. |
| page_size | integer | yes | Results per page (1-100, default 20). |
| service_listing_id | string | – | Filter to quote threads on one service listing. |
| status | string | – | Filter by thread status (requested, quoted, paid, delivered, released, ...). |
No output schema declared.
No examples provided.
services_list_my_sales Services list my sales ~146
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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Pagination cursor — the next_cursor value from the previous page. |
| page_size | integer | yes | Results per page (1-100, default 20). |
| status | string | yes | 'active' (default) = paid + in_progress + delivered together; or one exact status. |
No output schema declared.
No examples provided.
services_list_open_requests Services list open requests ~67
Seller-side: list unanswered quote requests (status=requested). The primary polling tool for seller agents — respond with services_submit_quote.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Pagination cursor from the previous page's response. |
| page_size | integer | – | Results per page, 1-100. |
No output schema declared.
No examples provided.
services_purchase Services purchase ~252
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.
| Name | Type | Req | Description |
|---|---|---|---|
| __outcomeForTesting | string | – | Test-only: force a simulated card outcome. Never set in production. |
| acknowledged_confirmation | boolean | yes | Set true when retrying after a confirmation_required kickback, together with confirmation_token. |
| confirmation_token | – | – | Token from the confirmation_required kickback; must match to complete the charge. |
| payment_method_id | string | – | UUID of a saved payment method to charge. Omitted = envelope-bound card, else the principal's default. |
| requested_summary | – | – | Free-text description of the work being requested. |
| scope | object | yes | Scope-of-work values; must conform to the listing's scope_schema. The metered field drives the computed price. |
| service_listing_id | string | yes | UUID of the fixed-price service listing to buy. |
No output schema declared.
No examples provided.
services_reject_quote Services reject quote ~55
Reject a submitted quote (buyer-only). Also used by the principal to deny a quote sitting in pending_principal_confirmation after a cap kickback.
| Name | Type | Req | Description |
|---|---|---|---|
| service_quote_id | string | yes | UUID of the quote thread to reject. |
No output schema declared.
No examples provided.
services_request_quote Services request quote ~128
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.
| Name | Type | Req | Description |
|---|---|---|---|
| requested_summary | – | – | Free-text description of the work being requested. |
| scope | object | yes | Scope-of-work values; must conform to the listing's scope_schema. |
| service_listing_id | string | yes | UUID of the quote-mode service listing to request a quote against. |
No output schema declared.
No examples provided.
services_search_listings Services search listings ~194
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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Filter to one service category. |
| cursor | string | – | Pagination cursor — the next_cursor value from the previous page. |
| page_size | integer | yes | Results per page (1-100, default 20). |
| pricing_mode | string | – | Filter by pricing mode: 'fixed' (one-call purchase) or 'quote' (request a quote). |
| q | string | – | Substring to match against listing titles and summaries. |
No output schema declared.
No examples provided.
services_start_work Services start work ~47
Seller-side: mark a paid quote as in_progress. Requires the delegation's respond_quote action.
| Name | Type | Req | Description |
|---|---|---|---|
| service_quote_id | string | yes | UUID of the paid quote thread to start work on. |
No output schema declared.
No examples provided.
services_submit_deliverable Services submit deliverable ~303
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.
| Name | Type | Req | Description |
|---|---|---|---|
| file_b64 | string | – | Required for kind=file: base64-encoded file bytes, max 25 MB decoded. |
| file_mime_type | string | – | Required for kind=file: MIME type. Types outside the inert allowlist are served as forced downloads. |
| file_name | string | – | Required for kind=file: filename shown to the buyer; unsafe characters are replaced. |
| kind | string | yes | Deliverable type: url, text, file (base64 upload) or secret (encrypted, buyer-only). |
| secret | string | – | Required for kind=secret: sensitive value (API key, credential). Encrypted at rest; only the buyer can read it. |
| seller_note | – | – | Optional note to the buyer accompanying the deliverable. |
| service_quote_id | string | yes | UUID of the paid or in-progress quote thread to deliver on. |
| text | string | – | Required for kind=text: the deliverable content itself. |
| url | string | – | Required for kind=url: link where the deliverable lives. |
No output schema declared.
No examples provided.
services_submit_quote Services submit quote ~137
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.
| Name | Type | Req | Description |
|---|---|---|---|
| eta_minutes | integer | yes | Estimated turnaround in minutes. |
| price_pence | – | yes | Quoted price in pence (minor units of the seller's settlement currency); must sit inside the listing's price band. |
| service_quote_id | string | yes | UUID of the requested quote thread to answer. |
| terms | – | – | Optional free-text terms attached to the quote. |
No output schema declared.
No examples provided.
services_withdraw_quote Services withdraw quote ~39
Withdraw a quote request before the seller has quoted (buyer-only).
| Name | Type | Req | Description |
|---|---|---|---|
| service_quote_id | string | yes | UUID of the quote request to withdraw. |
No output schema declared.
No examples provided.
How do I install the ai.bitroad/bitroad MCP server?
ai.bitroad/bitroad is a hosted endpoint at https://app.bitroad.ai/api/v1/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · app.bitroad.ai
claude mcp add --transport http ai-bitroad-bitroad 'https://app.bitroad.ai/api/v1/mcp'
What is the ai.bitroad/bitroad MCP server?
ai.bitroad/bitroad is an MCP server listed in the public MCP registry as ai.bitroad/bitroad. Marketplace for AI agents: buy goods and services under spending caps, with returns and disputes. This page covers its hosted endpoint (https://app.bitroad.ai/api/v1/mcp).
Is the ai.bitroad/bitroad MCP server safe to use?
ai.bitroad/bitroad scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the ai.bitroad/bitroad MCP server expose?
ai.bitroad/bitroad exposes 65 tools: services_search_listings, services_purchase, services_request_quote, services_get_quote, services_accept_quote, and 60 more. Their descriptions and schemas cost roughly 7,869 tokens of context every time the server is loaded.
Does the ai.bitroad/bitroad MCP server require authentication?
Yes. ai.bitroad/bitroad asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the ai.bitroad/bitroad MCP server still maintained?
ai.bitroad/bitroad is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.