{"schema_version":"mcp-manifest/1.0","name":"trusteed","display_name":"Trusteed","description":"Multi-merchant MCP commerce network. Search products across connected Shopify, WooCommerce, PrestaShop and Odoo stores, manage carts, and initiate checkout flows autonomously.","version":"1.4.0","updated_at":"2026-04-19","mcp_version":"2025-11-25","sdk_version":"1.29.0","server_card":"/.well-known/mcp.json","public_endpoints":{"note":"All endpoints below are rate-limited by IP (120 req/min) but require NO authentication.","store_directory":{"method":"GET","path":"/api/v1/stores/directory","description":"Paginated list of all active stores. Returns slug, name, platform, product_count, top_categories, trust_score, freshness_tier (fresh|recent|stale|unknown), mcp_endpoint.","params":"?page=1&limit=50&platform=SHOPIFY|WOOCOMMERCE|PRESTASHOP|ODOO&q=name","example":"GET https://www.trusteed.xyz/api/v1/stores/directory?limit=10"},"cross_store_search":{"method":"POST","path":"/api/v1/search","description":"Cross-store product search with trust-weighted ranking (text_relevance×0.55 + trust_score×0.25 + freshness×0.10 + in_stock×0.10). Returns products from all connected merchants.","body":"{ query: string, filters?: { category, inStock, minPrice, maxPrice }, sort?: 'relevance|price_asc|price_desc|trust_score', limit?: number (max 50), page?: number }","headers":"X-Agent-Session-ID: optional session ID for funnel tracking across search→view→cart","example":"POST /api/v1/search { \"query\": \"waterproof jacket\", \"filters\": { \"inStock\": true }, \"limit\": 10 }"},"deals_feed":{"method":"GET","path":"/api/v1/deals","description":"Products with genuine discounts (compareAtPrice > price) from verified merchants. Sorted by discount% descending, then by merchant trust_score.","params":"?minDiscount=10&category=jackets&inStock=false&limit=20&page=1","example":"GET https://www.trusteed.xyz/api/v1/deals?minDiscount=15&inStock=true"},"per_store_mcp":{"method":"POST","path":"/{storeSlug}/mcp","description":"Direct MCP tool call on any store. Discovery tools (search_products, get_product_details, browse_categories, get_merchant_profile, compare_products) require NO auth. Checkout tools (create_cart, complete_checkout) require OAuth Bearer.","body":"{ jsonrpc: '2.0', method: 'tools/call', params: { name: 'search_products', arguments: { query: string, limit: number } } }","headers":"Accept: application/json, text/event-stream","example":"POST /demo-store/mcp { \"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"tools/call\", \"params\": { \"name\": \"search_products\", \"arguments\": { \"query\": \"jacket\", \"limit\": 5 } } }"}},"agent_workflow_no_auth":["Step 1 — Discover stores: GET /api/v1/stores/directory → get slugs, top_categories, freshness_tier","Step 2 — Cross-store search: POST /api/v1/search { query } → ranked results from all merchants","Step 3 — Browse deals: GET /api/v1/deals?minDiscount=10 → discounted products cross-store","Step 4 — Product detail: POST /{slug}/mcp → get_product_details (returns GTIN, Schema.org, variants)","Step 5 — Merchant trust: POST /{slug}/mcp → get_merchant_profile (trust_score, protocols, policies)","Step 6 — Checkout: POST /{slug}/mcp → create_cart (requires OAuth Bearer token)"],"session":{"sandbox_key_ttl_seconds":86400,"sandbox_key_max_per_ip_per_day":3},"stores_directory":{"description":"Paginated directory of all active stores on the platform. Returns store metadata only (slug, name, platform, product_count, mcp_endpoint). Use to discover stores before calling their MCP endpoint.","endpoint":"https://www.trusteed.xyz/api/v1/stores/directory","pagination":"?page=1&limit=50 (max 100 per page)","filters":"?platform=SHOPIFY|WOOCOMMERCE|PRESTASHOP|ODOO&q=store+name+search","auth_required":false,"cache_ttl_seconds":300,"agent_workflow":["1. GET /api/v1/stores/directory → discover store slugs, top_categories, freshness_tier (no auth)","2. POST /api/v1/search { query } → cross-store search with trust ranking (no auth)","3. GET /api/v1/deals?minDiscount=10 → discounted products across all stores (no auth)","4. POST /{storeSlug}/mcp → search_products, get_product_details, get_merchant_profile (no auth)","5. POST /{storeSlug}/mcp → create_cart, complete_checkout (OAuth Bearer required)"]},"platform_discovery":{"description":"The platform indexes itself using NLWeb. Query in natural language to discover protocols, pricing, integrations, and partner programs without reading documentation.","nlweb_endpoint":"https://www.trusteed.xyz/mcpwebstore-platform/ask","browser_proxy":"https://www.trusteed.xyz/api/nlweb-proxy","browser_proxy_usage":"POST { storeSlug: 'mcpwebstore-platform', query: string, mode: 'list'|'summarize', streaming: boolean }","interactive_discover_page":"https://www.trusteed.xyz/en/discover","indexed_content":"27 items: protocols, beta access status, rollout plans, features, integrations, partner programs, developer guides, FAQs","schema_org_types":["SoftwareApplication","WebPage","FAQPage","Offer"],"example_queries":["what payment protocols do you support?","is public pricing in free beta or are paid plans already live?","does the platform integrate with Shopify?","what is the white-label program?"]},"supported_platforms":[{"id":"shopify","name":"Shopify","description":"Hosted e-commerce platform. Supports products, variants, inventory, Storefront API checkout.","version_supported":["2023-07","2024-01","2024-07"],"auth_method":"oauth2"},{"id":"woocommerce","name":"WooCommerce","description":"WordPress-based e-commerce plugin. Supports products, orders, coupons via WooCommerce REST API.","version_supported":["7.x","8.x","9.x"],"auth_method":"api_key"},{"id":"prestashop","name":"PrestaShop","description":"Open-source e-commerce platform. Supports products, categories, stock via PrestaShop Web Services API.","version_supported":["1.7","8.x"],"auth_method":"api_key"},{"id":"odoo","name":"Odoo ERP","description":"Open-source ERP with e-commerce integration. Supports products, variants, stock from warehouse, pricelist pricing.","version_supported":["16","17","18"],"auth_method":"api_key"}],"servers":[{"transport":"streamable-http","url":"https://www.trusteed.xyz/demo-store/mcp","label":"Production MCP Server (public demo — no auth)","note":"Authenticated per-merchant MCP: POST /{storeSlug}/mcp with X-Agent-Api-Key"}],"auth":{"type":"oauth2","resource_metadata_url":"https://www.trusteed.xyz/.well-known/oauth-protected-resource","authorization_url":"https://dev-y3nsiapm7vo5mi7p.us.auth0.com/authorize","token_url":"https://dev-y3nsiapm7vo5mi7p.us.auth0.com/oauth/token","scopes":["mcp:read","mcp:write","mcp:search","mcp:checkout","mcp:admin"],"pkce_required":true},"capabilities":{"tools":true,"resources":true,"prompts":false,"sampling":false,"a2ui":true},"acp_feed":{"status":"active","description":"OpenAI ACP-compatible product feed (15-minute refresh). Use for ChatGPT product discovery visual surface.","feed_url":"https://www.trusteed.xyz/api/v1/public/{slug}/acp-feed","promotions_url":"https://www.trusteed.xyz/api/v1/public/{slug}/acp-promotions","formats":["tsv","json"],"refresh_rate_minutes":15,"schema_version":"2026-01-30","required_fields":["id","title","description","price","availability","image_url"]},"ucp_identity":{"status":"active","description":"UCP Identity Linking — OAuth 2.0 for shopper identity across platforms. Enables loyalty pricing and member benefits.","authorize_url":"https://www.trusteed.xyz/api/v1/ucp/identity/authorize","token_url":"https://www.trusteed.xyz/api/v1/ucp/identity/token","profile_url":"https://www.trusteed.xyz/api/v1/ucp/identity/profile","revoke_url":"https://www.trusteed.xyz/api/v1/ucp/identity/revoke","supported_scopes":["loyalty:read","identity:link","checkout:discount"],"tier_required":"PRO"},"ui_protocols":{"a2ui":{"version":"0.8","status":"coming_soon","spec_url":"https://github.com/google/A2UI","description":"Tools that support A2UI accept an optional 'a2ui: true' parameter and return a declarative JSON UI surface instead of plain JSON. Renderers: Angular, Flutter, Lit (React planned). Fallback to plain JSON when 'a2ui' is omitted or false.","planned_components":["ProductGrid","CheckoutWidget","OrderTracker","ShippingSelector"],"compatible_tools":["search_products","complete_checkout"],"renderers_url":"https://github.com/google/A2UI/tree/main/renderers"},"webmcp":{"status":"active","spec_version":"2026-03-27","spec_url":"https://webmachinelearning.github.io/webmcp/","revision_hash":"90daeee7b123f0fc421d76bbba5d5b1353f328a2","description":"WebMCP (W3C CG Draft) support at two levels: (1) server-side tools fully compatible with browser agents via standard MCP transport — no snippet required; (2) browser-native bridge snippet for stores that need client-side session, cart and DOM access.","server_side_tools":{"description":"Available on all stores without any frontend installation. Discovery tools are public (no auth). Checkout tools require OAuth Bearer token.","discovery_tools":["search_products","get_product_details","browse_categories","get_merchant_profile","preview_checkout","compare_products","check_availability","apply_discount","nlweb_ask","scp_discover","scp_get_context"],"checkout_tools":["create_cart","select_shipping_option","complete_checkout","ucp_create_checkout","ucp_complete_checkout"],"auth_required_for_checkout":true,"endpoint_pattern":"https://www.trusteed.xyz/{storeSlug}/mcp"},"browser_bridge":{"status":"in_development","description":"JS snippet that registers navigator.modelContext tools bridging browser-side state (session, local cart, DOM) to the platform backend. Install once per store.","snippet_capabilities":["authenticated_session_read","local_cart_sync","wishlist_read","user_preferences_read","dom_product_highlight"],"install_methods":[{"platform":"shopify","method":"Theme App Extension (App Embed Block)","merchant_action":"Activate from Shopify Theme Editor — no code changes required","distribution":"Shopify App Store"},{"platform":"woocommerce","method":"WordPress plugin via wp_enqueue_scripts()","merchant_action":"Install plugin from wp-admin → Plugins → Add New","distribution":"WordPress Plugin Directory"},{"platform":"prestashop","method":"PrestaShop module via displayHeader hook","merchant_action":"Install module from backoffice → Modules → Module Manager","distribution":"PrestaShop Marketplace"},{"platform":"odoo","method":"Odoo app module via ir.http hook","merchant_action":"Install module from Apps menu → activate WebMCP bridge","distribution":"Odoo Apps Marketplace"},{"platform":"custom","method":"Manual script tag","merchant_action":"Add <script src=\"https://cdn.trusteed.xyz/webmcp-bridge.js\" data-store=\"{storeSlug}\"></script> before </body>","distribution":"CDN"}],"compatible_browsers":["Chrome Canary (flag: #model-context-protocol)","Opera Comet"],"sandbox_url":"https://www.trusteed.xyz/en/demo-store/playground"},"features":["registerTool","requestUserInteraction","callTool","listTools","AbortSignal"]},"payment_request_api":{"status":"production","version":"W3C CR Draft (27 Jan 2026)","spec_url":"https://www.w3.org/TR/payment-request/","author":"W3C Web Payments Working Group","layer":"L5 — Human-Confirmed Payment Execution","description":"W3C Payment Request API — browser-native payment sheet (Apple Pay, Google Pay, saved cards). Agent initiates checkout via MCP; browser shows native payment UI; human confirms; Stripe PaymentMethod token sent to /api/v1/browser-pay. No agent can bypass this step.","human_confirmation":"always_required","agentic_bypass":false,"endpoint":"https://www.trusteed.xyz/api/v1/browser-pay","supported_methods":["apple_pay","google_pay","basic_card"],"supported_currencies":["USD","EUR","GBP"],"fallback":"Manual card form (PaymentFallbackForm) for browsers without Payment Request API support","security_model":"Client-side tokenization via Stripe.js — no card data reaches the server. paymentMethodId excluded from logs and DB.","browser_support":["Chrome 60+","Safari 11.1+","Firefox 55+","Edge 16+"],"spec":"026-browser-payment-api","testing_status":"27 tests (unit + integration), production"}},"ag_ui":{"endpoint":"/{storeSlug}/ag-ui","transport":"sse","version":"0.0.48","status":"production","spec":"https://www.trusteed.xyz/en/for-agents","testing":{"phases_complete":6,"unit_tests":146,"integration_tests":24,"e2e_tests":14,"performance_tests":4,"total_tests":188,"pass_rate":"100%","coverage":"80%+"},"supported_events":["RunStarted","RunFinished","RunError","TextMessageStart","TextMessageContent","TextMessageEnd","ToolCallStart","ToolCallArgs","ToolCallEnd","StateSnapshot","StateDelta","Custom"],"confirmation_endpoint":"/{storeSlug}/ag-ui/confirm","human_in_the_loop":true,"state_sync":"RFC 6902 JSON Patch","confirmation_token":"HMAC-SHA256","confirmation_window_minutes":5,"description":"AG-UI (Agent-User Interaction Protocol) — Real-time agentic commerce with Server-Sent Events (SSE) streaming, bidirectional state synchronization via RFC 6902 JSON Patch, and human-in-the-loop cryptographic token confirmation. 188 tests passing (6 phases complete)."},"protocols":{"acp":{"status":"sandbox","provider":"stripe","description":"Stripe-based fiat checkout (test mode)"},"ap2":{"status":"sandbox","provider":"mock","description":"Google Agent Payment Protocol — mandate-based confirmations (mock mode)"},"x402":{"status":"sandbox","provider":"mock","description":"USDC stablecoin payments via HTTP 402 (simulated settlement)"},"ucp":{"status":"active","version":"2026-01-15","discovery_url":"https://www.trusteed.xyz/.well-known/ucp","description":"Universal Commerce Protocol — standardized commerce operations. 5 checkout tools active: create, get, update, complete, cancel. Full capability negotiation.","spec_url":"https://github.com/universal-commerce-protocol/ucp","tools":["ucp_create_checkout","ucp_get_checkout","ucp_update_checkout","ucp_complete_checkout","ucp_cancel_checkout","ucp_get_catalog"]},"kyapay":{"version":"0.1","settlement":"skyfire","tokenTypes":["pay","kya+pay"],"identity":true,"auth_required":true,"description":"KYApay identity-linked payments via Skyfire (JWT-based, no gas fees)"},"paypal":{"status":"sandbox","version":"1.0","adapter":"paypal-inbound-v1","provider":"paypal","api":"Orders API v2","sandbox_url":"https://api-m.sandbox.paypal.com","supported_currencies":["USD","EUR","GBP","CAD","AUD","JPY"],"auth_required":true,"refunds_require_approval":true,"description":"PayPal Orders API v2 — card and PayPal wallet payments. Buyer approval flow. Refunds require merchant approval."},"mcap":{"status":"sandbox","version":"1.0","adapter":"mcap-inbound-v1","provider":"stripe","auth_required":true,"description":"Mastercard Agent Pay — Ed25519 HTTP Message Signatures (RFC 9421) with Agentic Token pass-through via Stripe. Zero-code for merchants with existing Stripe setup.","tools":["process_agent_payment","check_agent_consent"]},"ag_ui":{"status":"production","version":"0.0.48","type":"UI/Communication Protocol","transport":"Server-Sent Events (SSE)","auth_required":true,"description":"AG-UI (Agent-User Interaction Protocol) — Real-time agentic commerce with SSE streaming, RFC 6902 state sync, and human-in-the-loop confirmation. 188 tests passing (6 phases).","endpoint":"/{storeSlug}/ag-ui","confirmation_endpoint":"/{storeSlug}/ag-ui/confirm","supported_events":12,"testing_complete":true},"payment_request_api":{"status":"production","version":"W3C CR Draft (27 Jan 2026)","type":"Browser-Native Human-Confirmed Payment (W3C)","layer":"L5 — Human-Confirmed Payment Execution","spec_url":"https://www.w3.org/TR/payment-request/","human_confirmation":"always_required","agentic_bypass":false,"endpoint":"https://www.trusteed.xyz/api/v1/browser-pay","supported_methods":["apple_pay","google_pay","basic_card"],"supported_currencies":["USD","EUR","GBP"],"security":"Client-side Stripe.js tokenization — card data never reaches server","description":"W3C Payment Request API — browser-native payment sheet. Agents initiate checkout via MCP; human confirms in browser; Stripe token returned to backend. Mandatory human-in-the-loop for all payment finalization. spec: 026-browser-payment-api."},"ixopay":{"status":"sandbox","version":"1.0","type":"Multi-PSP Risk Orchestration","spec":"031-ixopay-unified-trust-layer","opt_in":true,"opt_in_note":"Requires MerchantPspConfig.enabled=true. Inactive for merchants without explicit configuration.","supported_psps":["stripe","adyen","paypal","braintree"],"routing_signal":"agent_trust_score","routing_logic":"If riskScore >= merchant threshold (default 0.7) → route to fallbackPsp. If primary PSP declines with a retryable code → automatic fallback attempt.","risk_signals":["IXOPAY normalized risk score (0-1, cross-PSP average)","Zip BNPL default rate (0-1, geographic guard: US/UK/AU)"],"token_vault":{"description":"PSP-agnostic token vault. Maps a single opaque vault token to PSP-issued tokens for Stripe, Adyen, PayPal, Braintree. No raw card data (PAN/CVV) ever stored.","pci_note":"PCI scope unchanged — vaultToken is an opaque reference, not card data.","migration":"Existing Stripe tokens are migrated on next checkout (idempotent upsert). The migration vault token is derived via HMAC-SHA256 — the raw Stripe token is never embedded in identifiers."},"agent_weight":0.08,"zip_bnpl_weight":0.06,"description":"IXOPAY multi-PSP risk orchestration with smart routing and PSP-agnostic token vault. Merchants opt-in via MerchantPspConfig. Risk signals (ixopayRisk + zipBnplRisk) are added to agent trust score when active. spec: 031-ixopay-unified-trust-layer."}},"rate_limits":{"demo_unauthenticated":"20 req/min per IP (no API key required — demo-store only)","starter":"20 req/min per key","growth":"500 req/min per key","pro":"1000 req/min per key","sandbox_key":"50 req/hour (temporary keys from /api/v1/sandbox/key, valid 24h)","note":"Rate limits apply to the MCP endpoint. The /api/v1/agentfinder/search endpoint has a separate 100 req/min limit."},"trust":{"min_trust_score":0.3,"verification_levels":["UNVERIFIED","BASIC","STANDARD","PREMIUM"],"trust_info_url":"https://www.trusteed.xyz/en/trust","ranking_formula":"relevanceScore = (text_relevance × 0.55) + (store_trust_score × 0.25) + (freshness × 0.10) + (in_stock × 0.10)","agent_risk_signals":10,"agent_risk_signal_weights":{"checkoutVelocity":0.08,"promoProbing":0.1,"categoryDrift":0.08,"amountAnomaly":0.11,"returnRatio":0.18,"cancelPostShip":0.13,"disputeRate":0.14,"stripeRadar":0.04,"ixopayRisk":0.08,"zipBnplRisk":0.06},"smart_psp_routing":"Merchants with IXOPAY integration active receive smart PSP selection at checkout. Risk score is computed from 10 signals (including ixopayRisk + zipBnplRisk) and compared against merchant threshold (default 0.7) to select primary or fallback PSP."},"eu_ai_act_transparency":{"regulation":"EU AI Act Art. 50 (Reg. 2024/1689)","headers":{"X-Agent-Commerce":{"value":"1","scope":"all agent API and MCP gateway responses","description":"Identifies that the HTTP request was initiated by an AI agent acting on behalf of a human user."},"X-AI-Act-Transparency":{"value":"agent-initiated-transaction","scope":"transactional routes only — /checkout, /payment, /cart, /order","description":"Signals a financial or cart-mutation action performed by an AI agent. Triggers Art. 50 disclosure obligations for merchants and PSPs."}},"body_field":{"name":"agent_transaction","type":"boolean","value":true,"scope":"POST /api/v1/agent/checkout response body","description":"Indicates that the checkout was initiated by an AI agent. Available for consumers that process the response body but not HTTP headers."}},"legal":{"terms_url":"https://www.trusteed.xyz/en/terms","privacy_url":"https://www.trusteed.xyz/en/privacy","compliance_url":"https://www.trusteed.xyz/en/compliance"},"contact":{"email":"developers@trusteed.xyz","docs_url":"https://www.trusteed.xyz/api/v1/openapi.json","developer_portal":"https://www.trusteed.xyz/en/developers"},"demo":{"endpoint":"/demo-store/mcp","playground_url":"https://www.trusteed.xyz/en/demo-store/playground","agent_rules_playground":"https://www.trusteed.xyz/en/demo-store","agent_rules_tab":"agent-rules","agent_rules_description":"Interactive simulator: test all 10 merchant configurable rules and the KYAI policy engine against predefined agent profiles (conservative, aggressive, corporate, luxury, budget). No authentication required.","auth_required":false,"note":"Read-only tools available without authentication. Rate limit: 20 req/min per IP (demo-store only). Authenticated requests use per-key limits: STARTER 20 req/min, GROWTH 500 req/min.","tools":["search_products","get_product_details","browse_categories","get_merchant_profile"],"sandbox_key":"POST /api/v1/sandbox/key"},"i18n":{"default_locale":"en","supported_locales":["en","es"]},"tools_preview":[{"name":"search_products","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Search products across all verified merchants. Supports filters by category, price, stock and trust score. Pass 'a2ui: true' to receive a rich declarative UI grid instead of plain JSON. Eligibility requires BASIC+ verification and trustScore ≥ 0.3.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language product query"},"category":{"type":"string"},"price_min":{"type":"number"},"price_max":{"type":"number"},"in_stock_only":{"type":"boolean","default":true},"min_trust_score":{"type":"number","default":0.3},"limit":{"type":"integer","default":10,"maximum":100},"page":{"type":"integer","default":1},"a2ui":{"type":"boolean","default":false,"description":"Return an A2UI declarative UI surface (ProductGrid) instead of plain JSON array. Requires A2UI-compatible renderer."}},"required":[]},"examples":[{"description":"Search sneakers under $100","input":{"query":"sneakers","max_price":10000,"max_results":3},"output":{"products":[{"id":"prod-001","title":"Nike Air Max 90","price":9900,"currency":"USD","trustScore":0.85,"inStock":true}],"total":1}}],"auth_required":true,"a2ui_support":true,"a2ui_component":"ProductGrid"},{"name":"get_product_details","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Get full product info: price, variants, policies, merchant trust score, stock status.","input_schema":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"]},"examples":[{"description":"Get full details for a product by ID","input":{"product_id":"prod-001"},"output":{"id":"prod-001","title":"Nike Air Max 90","price":9900,"currency":"USD","description":"Classic running shoe with Air cushioning.","variants":[{"size":"42","inStock":true}],"trustScore":0.85,"returnPolicy":"30-day free returns"}}],"auth_required":true},{"name":"search_products_enriched","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Search products with enriched data: structured attributes (color, material, size), variants, GTIN, and multiple images. Ideal for side-by-side comparison and detailed product discovery. Backward-compatible with search_products filters.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language product query"},"category":{"type":"string"},"min_price":{"type":"number"},"max_price":{"type":"number"},"limit":{"type":"integer","default":10,"maximum":20}},"required":["query"]},"auth_required":true},{"name":"compare_products","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Side-by-side comparison of 2-5 products with normalized attribute table, availability, ratings, and a bestValue recommendation based on price/rating ratio.","input_schema":{"type":"object","properties":{"product_ids":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":5}},"required":["product_ids"]},"auth_required":true},{"name":"create_sandbox_key","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Generate a temporary sandbox API key for testing without registering. Valid 24 hours, max 3 keys per IP per 24h. No authentication required.","input_schema":{"type":"object","properties":{}},"auth_required":false},{"name":"check_availability","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Real-time stock status with freshness tier: fresh (<1h), stale (>24h). Returns in_stock, low_stock or out_of_stock.","input_schema":{"type":"object","properties":{"product_id":{"type":"string"}},"required":["product_id"]},"auth_required":true},{"name":"get_merchant_profile","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Merchant trust score, verification level (BASIC/STANDARD/PREMIUM), return policies and shipping SLA.","input_schema":{"type":"object","properties":{"merchant_slug":{"type":"string"}},"required":["merchant_slug"]},"auth_required":true},{"name":"browse_categories","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"List available product categories for a merchant. Returns category tree with product counts.","input_schema":{"type":"object","properties":{"merchant_slug":{"type":"string"}},"required":["merchant_slug"]},"auth_required":true},{"name":"create_cart","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Create a shopping cart for a merchant. Returns a cart_id UUID. Validates stock and applies fraud detection rules.","input_schema":{"type":"object","properties":{"merchant_id":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"quantity":{"type":"integer","minimum":1}},"required":["product_id","quantity"]},"minItems":1}},"required":["merchant_id","items"]},"examples":[{"description":"Create a cart with one item","input":{"merchant_id":"demo-store","items":[{"product_id":"prod-001","quantity":1}]},"output":{"cart_id":"cart_abc123","status":"NOT_READY_FOR_PAYMENT","items":[{"product_id":"prod-001","quantity":1,"price":9900}],"subtotal":9900,"currency":"USD"}}],"auth_required":true},{"name":"complete_checkout","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Complete checkout via Shopify ACP or platform adapter. Pass 'a2ui: true' to receive a CheckoutWidget surface with cart summary, shipping selector and payment CTA instead of plain JSON. Requires explicit human confirmation before execution. Idempotent — safe to retry.","input_schema":{"type":"object","properties":{"checkout_session_id":{"type":"string","description":"Checkout session ID (UUID) from preview_checkout"},"idempotency_key":{"type":"string","description":"Unique key to prevent duplicate charges on retry. Generate once per purchase attempt."},"a2ui":{"type":"boolean","default":false,"description":"Return an A2UI declarative CheckoutWidget instead of plain JSON. Requires A2UI-compatible renderer."}},"required":["checkout_session_id","idempotency_key"]},"examples":[{"description":"Complete checkout after preview (requires human confirmation for orders > $100)","input":{"checkout_session_id":"session_xyz789","idempotency_key":"idem_unique_key_001"},"output":{"status":"COMPLETED","order_id":"order_123","total":9900,"currency":"USD","confirmation_required":false}}],"auth_required":true,"human_confirmation_required":true,"a2ui_support":true,"a2ui_component":"CheckoutWidget"},{"name":"nlweb_ask","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Search products using natural language via NLWeb Discovery Layer. Returns Schema.org Product objects ranked by semantic relevance. Use when the user describes what they want in conversational language. Results include product_id for direct use in create_cart.","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Natural language product query (max 1000 chars)"},"mode":{"type":"string","enum":["list","summarize","generate"],"default":"list","description":"list=ranked items, summarize=summary+items, generate=RAG answer"},"prev":{"type":"string","description":"Comma-separated previous queries for follow-up context"},"limit":{"type":"integer","default":10,"minimum":1,"maximum":20,"description":"Maximum results to return"}},"required":["query"]},"examples":[{"description":"Find noise-cancelling headphones under $200","input":{"query":"noise cancelling headphones under $200","mode":"list","limit":5},"output":{"query_id":"abc-123","mode":"list","results":[{"product_id":"prod-001","name":"Sony WH-1000XM5","score":0.92,"price":349.99,"currency":"USD","availability":"InStock"}],"total":1,"latency_ms":45}}],"auth_required":true,"tier_required":"GROWTH","requires_nlweb_enabled":true},{"name":"ucp_create_checkout","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Create a UCP checkout session from line items. Returns checkout ID and session URL.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"line_items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"quantity":{"type":"integer","minimum":1}},"required":["product_id","quantity"]},"minItems":1},"currency":{"type":"string","default":"USD"}},"required":["store_slug","line_items"]},"auth_required":true,"human_confirmation_required":true},{"name":"ucp_get_checkout","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Retrieve a UCP checkout session by ID. Returns status, line items and totals.","input_schema":{"type":"object","properties":{"checkout_id":{"type":"string","description":"UCP checkout session ID"}},"required":["checkout_id"]},"auth_required":true},{"name":"ucp_update_checkout","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Replace all line items in a UCP checkout session (full replace). Recalculates totals.","input_schema":{"type":"object","properties":{"checkout_id":{"type":"string"},"line_items":{"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string"},"quantity":{"type":"integer","minimum":1}},"required":["product_id","quantity"]},"minItems":1}},"required":["checkout_id","line_items"]},"auth_required":true,"human_confirmation_required":true},{"name":"ucp_complete_checkout","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Complete a UCP checkout session. Idempotent — safe to retry. Requires explicit user confirmation.","input_schema":{"type":"object","properties":{"checkout_id":{"type":"string"},"payment_token":{"type":"string","description":"Payment authorization token"}},"required":["checkout_id"]},"auth_required":true,"human_confirmation_required":true},{"name":"ucp_cancel_checkout","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Cancel a UCP checkout session. Releases any held inventory.","input_schema":{"type":"object","properties":{"checkout_id":{"type":"string"},"reason":{"type":"string","description":"Optional cancellation reason"}},"required":["checkout_id"]},"auth_required":true,"human_confirmation_required":true},{"name":"ucp_get_catalog","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Get real-time product prices and inventory (UCP catalog capability)","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"product_ids":{"type":"array","items":{"type":"string"},"description":"Optional list of product IDs to filter (max 50)"},"cursor":{"type":"string","description":"Pagination cursor for next page"},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20,"description":"Number of products to return (1-100, default 20)"}},"required":["store_slug"]},"auth_required":true,"confirm":false,"capability":"dev.ucp.catalog.realtime"},{"name":"scp_discover","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Discover Shopper Context Protocol (SCP) endpoints from external merchants","input_schema":{"type":"object","properties":{"merchant_domain":{"type":"string","description":"External merchant domain to discover SCP endpoints"}},"required":["merchant_domain"]},"auth_required":false,"human_confirmation_required":false},{"name":"scp_authorize","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Authorize with an external merchant via SCP OAuth 2.0 + PKCE","input_schema":{"type":"object","properties":{"merchant_domain":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"},"description":"OAuth scopes requested (e.g., profile, orders, loyalty)"}},"required":["merchant_domain"]},"auth_required":true,"human_confirmation_required":true},{"name":"scp_get_context","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Fetch shopper context (orders, loyalty, preferences, offers) from authorized merchant","input_schema":{"type":"object","properties":{"merchant_domain":{"type":"string"},"context_types":{"type":"array","items":{"type":"string","enum":["orders","loyalty","preferences","offers"]},"description":"Types of context to fetch"}},"required":["merchant_domain"]},"auth_required":true,"human_confirmation_required":false},{"name":"scp_create_intent","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Create a shopping intent for cross-merchant journey tracking","input_schema":{"type":"object","properties":{"intent_type":{"type":"string","description":"Type of shopping intent (search, browse, purchase, loyalty)"},"merchants":{"type":"array","items":{"type":"string"},"description":"Merchant domains involved in the journey"},"metadata":{"type":"object","description":"Custom metadata for the intent"}},"required":["intent_type"]},"auth_required":true,"human_confirmation_required":true},{"name":"scp_get_intents","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"List shopping intents for current shopper","input_schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","completed","abandoned"],"description":"Filter by intent status"},"limit":{"type":"integer","default":10,"description":"Maximum intents to return"}}},"auth_required":true,"human_confirmation_required":false},{"name":"scp_update_intent","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Update shopping intent (add milestones, fulfill, abandon)","input_schema":{"type":"object","properties":{"intent_id":{"type":"string"},"status":{"type":"string","enum":["active","completed","abandoned"]},"milestones":{"type":"array","items":{"type":"string"},"description":"Milestones achieved in the intent journey"}},"required":["intent_id"]},"auth_required":true,"human_confirmation_required":true},{"name":"get_orders","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Retrieve orders for a merchant store. Supports filtering by status, date range, and customer. Returns order details including line items, totals, fulfillment status, and tracking info.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"status":{"type":"string","enum":["pending","confirmed","fulfilled","cancelled","refunded"],"description":"Filter by order status"},"since":{"type":"string","description":"ISO 8601 date — return orders after this date"},"limit":{"type":"integer","default":20,"maximum":100,"description":"Maximum orders to return"},"cursor":{"type":"string","description":"Pagination cursor from previous response"}},"required":["store_slug"]},"auth_required":true,"confirm_required":false},{"name":"get_fulfillments","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Retrieve fulfillment records for an order. Returns shipment tracking numbers, carrier info, line items included in each fulfillment, and delivery status.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"order_id":{"type":"string","description":"Order ID to get fulfillments for"}},"required":["store_slug","order_id"]},"auth_required":true,"confirm_required":false},{"name":"get_inventory","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Retrieve current inventory levels for products. Returns stock quantities per location, reserved units, and restock dates when available.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"product_ids":{"type":"array","items":{"type":"string"},"description":"Product IDs to check inventory for (max 50)","maxItems":50},"location_id":{"type":"string","description":"Optional location filter"}},"required":["store_slug","product_ids"]},"auth_required":true,"confirm_required":false},{"name":"get_customers","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Retrieve customer records for a merchant store. Returns customer profile, order history summary, and loyalty status. Requires GROWTH+ tier.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"email":{"type":"string","description":"Filter by customer email"},"limit":{"type":"integer","default":20,"maximum":100,"description":"Maximum customers to return"},"cursor":{"type":"string","description":"Pagination cursor from previous response"}},"required":["store_slug"]},"auth_required":true,"confirm_required":false,"tier_required":"GROWTH"},{"name":"create_return","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Initiate a return request for one or more items in an order. Validates return eligibility against merchant return policy window. Requires explicit human confirmation before execution.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"order_id":{"type":"string","description":"Order ID to return"},"line_items":{"type":"array","items":{"type":"object","properties":{"line_item_id":{"type":"string"},"quantity":{"type":"integer","minimum":1},"reason":{"type":"string","enum":["defective","wrong_item","not_as_described","changed_mind","other"]}},"required":["line_item_id","quantity","reason"]},"minItems":1}},"required":["store_slug","order_id","line_items"]},"auth_required":true,"confirm_required":true,"human_confirmation_required":true},{"name":"get_returns","version":"1.0","idempotent":true,"schema_version":"2026-01-30","description":"Retrieve return requests for an order or store. Returns return status, refund amount, return shipping label URL, and processing timeline.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"order_id":{"type":"string","description":"Filter returns by order ID"},"status":{"type":"string","enum":["requested","approved","shipped","received","refunded","rejected"],"description":"Filter by return status"}},"required":["store_slug"]},"auth_required":true,"confirm_required":false},{"name":"cancel_order","version":"1.0","idempotent":false,"schema_version":"2026-01-30","description":"Cancel an order that has not yet been fulfilled. Validates cancellation eligibility. Triggers refund if payment was captured. Requires explicit human confirmation before execution.","input_schema":{"type":"object","properties":{"store_slug":{"type":"string","description":"Merchant store slug"},"order_id":{"type":"string","description":"Order ID to cancel"},"reason":{"type":"string","description":"Cancellation reason"}},"required":["store_slug","order_id"]},"auth_required":true,"confirm_required":true,"human_confirmation_required":true}]}