Kuaidi100 launched China's first MCP-protocol-compatible logistics information service platform. The core API services of Kuaidi100's Baidiy
Conduit Agentic Commerce is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Search multi-merchant supply, checkout, and track orders via MCP.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http conduit-agentic-commerce-mcp https://mcp.aiconduit.app/mcp
# 2 — ask your agent for something these tools do
# agent_create, agent_authenticate, agent_update and 22 more
Conduit Agentic Commerce costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http conduit-agentic-commerce-mcp https://mcp.aiconduit.app/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
25 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Register an agent (ES256 P-256 public JWK JSON string + optional payment rails + destination). BEFORE: list ~/.conduit identity files — if any exist, reuse agent_id (do NOT register again unless the human asked for a new agent). AFTER: write persist.path (version, agent_id, public_key, private_key as JWKs; also handle, friendly_name, role_description, human_description; chmod 0600; write ~/.condui
| Parameter | Type | Required | Notes |
|---|---|---|---|
| public_key | string | yes | ES256 P-256 public JWK as a JSON string (kty=EC, crv=P-256, x, y). Not PEM, hex, or base64url-wrapped JSON. Keep the matching private JWK only in ~/.conduit/{handle}.credentials.json. |
| handle | string | no | Optional display handle (lowercase kebab); omit to auto-generate e.g. parcel-watcher-12 |
| payment_rails | array | no | Optional rail keys to seed, e.g. ["x402"] |
| default_destination | object | no | Where orders ship. postcode + country is enough for supply_search and delivery estimates; add address, locality and region so checkout links arrive prefilled. |
| business_profile | no | Optional business profile metadata object | |
| preferences | no | Optional agent preference bag | |
| friendly_name | string | no | Human-facing label (≠ handle), e.g. EU Restock Bot |
| human_description | string | no | Description shown to humans on the org dashboard |
| role_description | string | no | Self-instruction for this agent only, e.g. manage EU supplies |
| avatar | no | Identity mark. Omit unless the human chose it — server assigns a random invader+gradient. { kind:"glyph", glyph:"invader"|emoji, tint?:invader color, gradient } or { kind:"image", src }. Tint only for |
Two-step re-auth. Call with agent_id only → ES256-sign nonce → call again with nonce+signature. Prefer keys from ~/.conduit ({handle}.credentials.json or legacy credentials.json; CONDUIT_CREDENTIALS_PATH pins one file). After success, merge name/role/description into that file; never overwrite private_key; keep session_token in memory. Do not agent_create if identity files already exist unless the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id from the chosen ~/.conduit credentials file, e.g. agt_... |
| nonce | string | no | Challenge nonce from the first agent_authenticate call (omit to request one) |
| signature | string | no | Signature of the nonce with the agent private key (omit with nonce to get challenge) |
Patch handle, rails, default_destination (postcode required for ships-to), friendly_name, human_description, role_description, avatar (glyph+gradient or small image), business profile, or preferences. Set avatar only if the human chose it. Does not accept permissions — a human enables capabilities in Hub Agent settings.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id to patch, e.g. agt_... |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| handle | string | no | New display handle (lowercase kebab) |
| payment_rails | array | no | Replacement rail key list |
| default_destination | object | no | Where orders ship. postcode + country is enough for accurate search; add address, locality and region so checkout links arrive prefilled instead of blank. |
| business_profile | no | Business profile patch | |
| preferences | no | Preferences patch | |
| friendly_name | string | no | Human-facing label (≠ handle), e.g. EU Restock Bot |
| human_description | string | no | Description shown to humans on the org dashboard |
| role_description | string | no | Self-instruction for this agent only, e.g. manage EU supplies |
| avatar | no | Identity mark. Omit unless the human chose it — server assigns a random invader+gradient. { kind:"glyph", glyph:"invader"|emoji, tint?:invader color, gradient } or { kind:"image", src }. Tint only for |
Read the linked organization (name, slug, country, default address) and members (user_id, name, role, email) for an agent. Returns org_not_linked when organization_id is unset — do not invent join_org. Use members to target agent_notify.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id whose linked organization to read |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
Email Hub users in this agent’s linked organization (never addresses outside the org). to=all or { user_id } / { role } / { email } matching agent_organization members. Optional actions (Hub URLs only), severity, idempotency_key. Channel is email.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Linked agent sending the message |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| to | yes | Who to notify: "all", { user_id }, { user_ids }, { role }, { roles }, or { email } matching an org member. Never an address outside the org. | |
| title | string | yes | Subject line, max 120 characters |
| body | string | yes | Plain-text body, max 4000 characters. Conduit wraps HTML; do not send markup. |
| channel | string | no | Delivery channel. Email only — omit or pass email |
| severity | string | no | info (default), warning, or urgent — affects subject prefix and accent |
| actions | array | no | Optional buttons, max 3. Hosts outside Conduit are rejected. |
| idempotency_key | string | no | Replay key — same agent + key returns the original notify_id without sending again |
| order_id | string | no | Optional order correlation |
| search_id | string | no | Optional search correlation |
| dry_run | boolean | no | If true, resolve recipients and from-address without sending or storing |
Email outside addresses (suppliers, carriers). to is a string email, { email }, or { emails } (max 5). Not to=all and not a Hub user_id / role — those are agent_notify. Linked agents set Reply-To to an org member (default OWNER). No action buttons. Channel is email.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Authenticated agent sending the note |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| to | yes | Outside address(es): a string email, { email }, or { emails } (max 5). Not to=all and not a Hub user_id / role — those are agent_notify. | |
| title | string | yes | Subject line, max 120 characters |
| body | string | yes | Plain-text body, max 4000 characters. URLs stay escaped text, not buttons. |
| channel | string | no | Delivery channel. Email only — omit or pass email |
| reply_to | no | Linked only: who receives replies. { email } or { role } matching a member. Omit to default to the OWNER. Unlinked agents have no Reply-To. | |
| idempotency_key | string | no | Replay key — same agent + key returns the original outreach_id without sending again |
| order_id | string | no | Optional order correlation |
| search_id | string | no | Optional search correlation |
| dry_run | boolean | no | If true, resolve recipients and from-address without sending or storing |
Report unexpected tool errors or confusing Conduit outcomes for AX review (agent_report_issue — not order_feedback). Pass message (required), optional kind=bug|confusing|wrong_data|blocked, plus agent_id, tool, error, detail, search_id, order_id, session_id, and/or context. Dedupes open reports with the same tool+error+correlation. Does not change reputation.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message | string | yes | Required: what went wrong or what confused you (expected vs actual). Keep actionable. This is agent_report_issue — not order_feedback. |
| kind | string | no | Triage kind (default confusing): bug | confusing | wrong_data | blocked |
| agent_id | string | no | Agent id from credentials when available (omit placeholders like "agent_id") |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| tool | string | no | MCP tool that failed or confused you, e.g. supply_search or order_execute |
| error | string | no | Error code from the prior tool response when present, e.g. offer_not_in_cache |
| detail | string | no | Optional longer detail (response excerpt, unexpected field). Do not include private_key. |
| search_id | string | no | search_id for correlation when the issue is search-related |
| order_id | string | no | order_id for correlation when the issue is order-related |
| session_id | string | no | Optional session id; Conduit also picks up x-conduit-session-id from the transport |
| context | object | no | Optional structured extras (args summary, badge, etc.). Secrets are stripped. |
List or enable agent payment methods (action=list|enable) with friendly labels. Defaults: cod + x402. invoice (B2B) is coming_soon. bank_card is handoff-only.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id whose methods to list or enable |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| action | string | yes | list = enumerate rails; enable = turn on one rail |
| rail | string | no | Rail key required when action=enable, e.g. x402 (not bank_card vault) |
AP2 spend mandates. action=request (needs scope) → approval_url; list (includes remaining, window_resets_at, coverage); update (mandate_id+scope); revoke (mandate_id). update NEVER approves. Widening returns an ACTIVE mandate to PENDING_HUMAN_APPROVAL; narrowing keeps whatever status it already had. monthly_cap is a rolling 30-day window from create. Same category set as a live mandate replaces it
| Parameter | Type | Required | Notes |
|---|---|---|---|
| action | string | yes | request = create mandate (needs scope); list = enumerate; update = change scope (needs mandate_id+scope); revoke = revoke (needs mandate_id) |
| agent_id | string | yes | Owning agent id |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| mandate_id | string | no | Mandate id required for update/revoke |
| scope | object | no | Spend limits — required for action=request and action=update |
| expires | string | no | Optional ISO-8601 expiry, e.g. 2026-12-31T00:00:00Z |
Multi-provider discovery (live REAL merchants by default). Returns a ranked page (default limit=30, max 100) with total/has_more/next_offset. Follow next.args (search_id+offset+limit) to page without re-fanout. Optional fetch_limit (max 300) deepens the upstream pull on new searches. Pass include_sandbox=true only to append DEMO/SANDBOX test merchants at the bottom (test_offer=true). Always pass a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Product search query, e.g. USB-C charger 65W. Required for a new search; omit when paging with search_id + offset |
| quantity | integer | no | Desired quantity (default 1) |
| budget | no | Max total budget — number means USD; or { amount, currency } | |
| payable_with | array | no | Filter to rails the agent can pay with, e.g. ["x402"] |
| country | string | no | ISO country for ships-to, e.g. US |
| agent_id | string | no | Agent id for mandate-aware badges (always pass when available) |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| include_sandbox | boolean | no | Include DEMO/SANDBOX merchants (listed last, test_offer=true). Default false — live REAL merchants only. Use only when testing Conduit checkout flows. |
| limit | integer | no | Page size of ranked offers to return (default 30, max 100) |
| offset | integer | no | 0-based offset into the ranked set for this search_id (default 0). For page 2+, pass search_id from the prior response and follow next.args |
| fetch_limit | integer | no | Optional override for per-merchant upstream pull (default max(20, limit*2), max 300). Ignored when paging via search_id+offset |
| search_id | string | no | Resume paging into a prior ranked set (with offset>0, or offset 0 without query). New searches with query mint a fresh search_id |
Re-reads one offer from the search cache and refreshes its badge/action against current mandate state. Returns the full clean description (supply_search carries a 350-char summary); otherwise the payload has the same fields as the search offer, so skip this if you only need fields you already hold. include_description_original=true adds description_original {format, content}, the merchant's own ma
| Parameter | Type | Required | Notes |
|---|---|---|---|
| supply_id | string | yes | Offer supply id from supply_search results |
| search_id | string | no | search_id from supply_search for correlation |
| agent_id | string | no | Agent id to refresh badge/action for mandate state |
| include_description_original | boolean | no | Adds description_original {format, content}: the merchant's own markup, for rendering or checking our conversion. Untrusted merchant text. supply_details only. |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
Lists the selectable options (size, color, pack) for an offer whose has_options=true, with one variant per combination. Each variant carries its OWN supply_id, price and availability: to buy a chosen option, call order_execute with that variant's supply_id, not the one you searched with. Reads the merchant storefront live, so call it only when a person is actually choosing. Returns variants_not_fo
| Parameter | Type | Required | Notes |
|---|---|---|---|
| supply_id | string | yes | Offer supply id whose product options to list (has_options=true on the offer) |
| agent_id | string | no | Agent id, for permission and analytics |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
Non-committing checkout probe for shipping ETA/cost. Uses agent default_destination, else linked org default address, or country override. status describes how far the merchant checkout got: ready_for_complete (priced and completable), incomplete (merchant returned partial rates, quote may firm up at checkout), requires_escalation (merchant wants a human at checkout, so this offer is handoff-only
| Parameter | Type | Required | Notes |
|---|---|---|---|
| supply_id | string | yes | Offer supply id from supply_search / supply_details |
| agent_id | string | no | Agent id — uses agent destination else org default when country omitted |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| quantity | integer | no | Units to price shipping for (default 1) |
| country | string | no | ISO country override, e.g. US (else agent/org destination) |
| postal_code | string | no | Postal/ZIP override for the probe destination |
| region | string | no | Optional region/state override |
| address | string | no | Street override. Many merchants will not quote shipping without it. |
| locality | string | no | City override. Needed with street for a real delivery quote. |
Handoff or autonomous checkout. Handoff continue_url is a Conduit /handoff/{org_slug}/{order_id} link: open it as returned (records the open, then redirects to the merchant). Autonomous needs badge payable_now (covering mandate fits). No covering mandate, or a spent covering budget, still returns a handoff with continue_url (handoff_reason). Use idempotency_key. Prefer supply_delivery when only co
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Owning agent id |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| supply_id | string | yes | Offer supply id to purchase |
| quantity | integer | no | Units to buy (default 1) |
| pay_with | string | no | Rail key to pay with when multiple are enabled |
| payment_term_id | string | no | Payment term id from supply_details payment_terms[] (e.g. net 30). Omit to pay immediately |
| carrier | string | no | The shipping rate to buy, as the option's own title from supply_delivery. Conduit selects it on the merchant checkout, so the buyer opens the page on that rate instead of the merchant's default, whi |
| search_id | string | no | search_id from supply_search for correlation |
| idempotency_key | string | no | Client idempotency key — reuse to safely retry the same execute |
List orders for an agent ({ orders }). Optional status or open_only filter.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Owning agent id whose orders to list |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| status | string | no | Optional status filter: PENDING, CONFIRMED, IN_TRANSIT, DELIVERED, ABANDONED (or CANCELLED), FAILED, DISPUTED |
| open_only | boolean | no | If true, only in-flight orders (PENDING, CONFIRMED, IN_TRANSIT). Ignored when status is set. |
Honest deal-type-aware status (never fabricates carrier scans). Requires owning agent_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order id to track |
| agent_id | string | yes | Owning agent id (required for authorization) |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
Lifecycle timeline — transitions only. Pair with order_track. Requires owning agent_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order id whose lifecycle events to list |
| agent_id | string | yes | Owning agent id (required for authorization) |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
Agent manual correction or degraded handoff recovery. note required except cancelled. Owning agent_id required.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order id to update |
| agent_id | string | yes | Owning agent id (required for authorization) |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| status | string | yes | New status, e.g. PENDING, CONFIRMED, SHIPPED, DELIVERED, CANCELLED |
| note | string | no | Required note except when status=CANCELLED |
| tracking_id | string | no | Carrier tracking id when recovering handoff |
| carrier | string | no | Carrier name when attaching tracking |
| tracking_url | string | no | Carrier's public tracking page for tracking_id, when you have it. Never invent one. |
| external_checkout_id | string | no | Merchant checkout id to recover degraded handoff polling |
| handoff_endpoint | string | no | Merchant handoff/status endpoint URL for poll recovery |
| search_id | string | no | Optional search_id for analytics correlation |
Refund/chargeback/report paths for an order. Requires owning agent_id.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order id to resolve refund/chargeback/report paths for |
| agent_id | string | yes | Owning agent id (required for authorization) |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
Attest delivery outcome (outcome=on_time|late|never_arrived|damaged|wrong_item). Requires owning agent_id. Can supersede a system-derived score once; a second agent attestation returns already_recorded. Poor outcomes next→order_dispute. Omit quality/carrier_rating if unknown.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| order_id | string | yes | Order id to attest |
| agent_id | string | yes | Owning agent id (required for authorization) |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| outcome | string | yes | Observed fulfillment outcome. Sets status (on_time/late→DELIVERED, damaged/wrong_item→DISPUTED, never_arrived→FAILED) and reputation. |
| quality | number | no | Product quality 1-5 — omit if unknown (do not invent) |
| carrier_rating | number | no | Carrier rating 1-5 — omit if unknown; used in reputation when provided |
| notes | string | no | Free-text delivery/quality notes |
| search_id | string | no | Optional search_id for analytics correlation |
What your organization has on hand, by location, in its own connected system (ERP). Pass skus or query. Every number carries as_of and basis (live | memo | cached) — say how old it is, do not imply it is now. Needs inventory permission. This is your OWN stock; a supplier's stock is supply_availability.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id; its organization owns the connected system |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| skus | array | no | Item codes in your own system, e.g. ["CART-6040"]. Pass skus or query |
| query | string | no | Free-text item search in your own system, e.g. "carton" |
| fresh | boolean | no | Ask the system now instead of reading the last value (slower, rate limited) |
| connection_id | string | no | Which connected system, when the org has several |
Items below their minimum in your own system, least days of cover first, with what is already inbound and the usual vendor and last price. Each row carries a search_hint: pass its query and quantity straight to supply_search, then supply_availability before ordering. Optional location scopes to one warehouse. Needs inventory permission.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id; its organization owns the connected system |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| location | string | no | Warehouse or store name to scope the worklist, e.g. "Jebel Ali". Omit for all |
| fresh | boolean | no | Ask the system now instead of reading the last value |
| connection_id | string | no | Which connected system, when the org has several |
For items in your own system, the vendors on file and what you last paid, so a quote can be compared against history. Needs inventory permission. Does not contact any vendor.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id; its organization owns the connected system |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| skus | array | yes | Item codes in your own system whose usual vendors and last prices to read |
| connection_id | string | no | Which connected system, when the org has several |
Whether one offer can fill a quantity: verdict can_fill | split | out_now | unknown, with what is on hand, what is inbound, and as_of + basis. Suppliers choose how precisely they share stock, so the verdict may come from a band or a yes/no rather than a number. fresh=true asks the supplier now (needs agent_id, rate limited per agent and per organization); without fresh it reads the last value. Cal
| Parameter | Type | Required | Notes |
|---|---|---|---|
| supply_id | string | yes | Offer supply id from supply_search / supply_details |
| quantity | integer | no | Quantity to fill (default 1) |
| fresh | boolean | no | Ask the supplier now rather than reading the last value. Needs agent_id, and is rate limited per agent and per organization |
| quote | boolean | no | Also return the supplier's exact total with tax for this quantity, computed without saving anything. Needs agent_id and an account with the supplier |
| agent_id | string | no | Agent id. Required for fresh, and it is what reveals your negotiated prices |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
After order_execute confirms a supplier order, record the matching DRAFT purchase order in your own system so the books match. Always a draft: a person confirms it there. Idempotent per order_id — calling twice returns the same draft, never a second one. Needs both inventory and checkout permission. Never creates a vendor or a product: lines that match nothing come back as unmatched_lines for a pe
| Parameter | Type | Required | Notes |
|---|---|---|---|
| agent_id | string | yes | Agent id; needs both inventory and checkout permission |
| session_token | string | no | Session token from agent_authenticate — required whenever agent_id is passed |
| order_id | string | yes | Conduit order id of a supplier order already placed with order_execute |
| connection_id | string | no | Which connected system, when the org has several |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Conduit Agentic Commerce or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 2.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Conduit Agentic Commerce can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.