Conduit Agentic Commerce
Search multi-merchant supply, checkout, and track orders via MCP.
| Endpoint | https://mcp.aiconduit.app/mcp (streamable-http) |
|---|---|
| Registry version | 2.0.0 |
| Now | 25 tools · grade C (67) · pin ts_3cd9aa1b8b9351085cb239237c77fed5 · protocol 2025-06-18 |
| First / last listed | 2026-10-27 01:35 UTC / 2026-10-27 01:35 UTC |
| Grade over time | 2026-10-27: C (67), 25 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: agent_create agent_authenticate agent_update agent_organization agent_notify agent_outreach agent_report_issue payment_methods payment_mandate supply_search supply_details supply_options supply_delivery order_execute order_list order_track order_events order_update_status order_dispute order_feedback inventory_levels inventory_replenishment inventory_suppliers supply_availability inventory_purchase_order
agent_create | 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 params: public_key*, handle, payment_rails, default_destination, business_profile, preferences, friendly_name, human_description, role_description, avatar |
agent_authenticate | 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 params: agent_id*, nonce, signature |
agent_update | 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. params: agent_id*, session_token, handle, payment_rails, default_destination, business_profile, preferences, friendly_name, human_description, role_description, avatar |
agent_organization | 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. params: agent_id*, session_token |
agent_notify | 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. params: agent_id*, session_token, to*, title*, body*, channel, severity, actions, idempotency_key, order_id, search_id, dry_run |
agent_outreach | 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. params: agent_id*, session_token, to*, title*, body*, channel, reply_to, idempotency_key, order_id, search_id, dry_run |
agent_report_issue | 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. params: message*, kind, agent_id, session_token, tool, error, detail, search_id, order_id, session_id, context |
payment_methods | 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. params: agent_id*, session_token, action*, rail |
payment_mandate | 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 params: action*, agent_id*, session_token, mandate_id, scope, expires |
supply_search | 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 params: query, quantity, budget, payable_with, country, agent_id, session_token, include_sandbox, limit, offset, fetch_limit, search_id |
supply_details | 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 params: supply_id*, search_id, agent_id, include_description_original, session_token |
supply_options | 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 params: supply_id*, agent_id, session_token |
supply_delivery | 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 params: supply_id*, agent_id, session_token, quantity, country, postal_code, region, address, locality |
order_execute | 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 params: agent_id*, session_token, supply_id*, quantity, pay_with, payment_term_id, carrier, search_id, idempotency_key |
order_list | List orders for an agent ({ orders }). Optional status or open_only filter. params: agent_id*, session_token, status, open_only |
order_track | Honest deal-type-aware status (never fabricates carrier scans). Requires owning agent_id. params: order_id*, agent_id*, session_token |
order_events | Lifecycle timeline — transitions only. Pair with order_track. Requires owning agent_id. params: order_id*, agent_id*, session_token |
order_update_status | Agent manual correction or degraded handoff recovery. note required except cancelled. Owning agent_id required. params: order_id*, agent_id*, session_token, status*, note, tracking_id, carrier, tracking_url, external_checkout_id, handoff_endpoint, search_id |
order_dispute | Refund/chargeback/report paths for an order. Requires owning agent_id. params: order_id*, agent_id*, session_token |
order_feedback | 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. params: order_id*, agent_id*, session_token, outcome*, quality, carrier_rating, notes, search_id |
inventory_levels | 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. params: agent_id*, session_token, skus, query, fresh, connection_id |
inventory_replenishment | 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. params: agent_id*, session_token, location, fresh, connection_id |
inventory_suppliers | 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. params: agent_id*, session_token, skus*, connection_id |
supply_availability | 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 params: supply_id*, quantity, fresh, quote, agent_id, session_token |
inventory_purchase_order | 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 params: agent_id*, session_token, order_id*, connection_id |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.