{"server":"io.forthclear/liquidation","count":17,"tools":[{"name":"bulk_export_orders","title":"Export orders as CSV","description":"Export the calling seller's orders as CSV (Order ID, Product, Buyer, Quantity, Total, Status, Date). Thin adapter over POST /api/seller/orders/bulk-export — orders not owned by the caller are silently skipped. Returns the CSV body as a string plus the suggested filename.","input_schema":{"type":"object","required":["order_ids"],"properties":{"order_ids":{"type":"array","items":{"type":"integer","minimum":1},"maxItems":200,"minItems":1,"description":"Order ids belonging to the calling seller (max 200/request). Orders owned by anyone else are skipped."}}},"output_schema":null,"annotations":{"title":"Export orders as CSV","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"bulk_mark_shipped","title":"Bulk mark orders shipped","description":"Mark up to 200 of the calling seller's orders as shipped, optionally writing a shared tracking number / URL / carrier to every order. Thin adapter over POST /api/seller/orders/bulk-mark-shipped — same per-order ownership filter, auto-detected carrier when only a tracking number is supplied. Supplying tracking overwrites any tracking already on the order, and each updated order sends the buyer a shipment message. Returns per-order success/failure buckets.","input_schema":{"type":"object","required":["order_ids"],"properties":{"order_ids":{"type":"array","items":{"type":"integer","minimum":1},"maxItems":200,"minItems":1,"description":"Order ids belonging to the calling seller (max 200/request). Orders owned by anyone else are skipped."},"carrier_name":{"type":"string","maxLength":255,"description":"Carrier for the shipment. Omit to infer it from tracking_number."},"tracking_url":{"type":"string","maxLength":2000,"description":"Tracking URL written to every listed order."},"tracking_number":{"type":"string","maxLength":255,"description":"Tracking number written to every listed order. Supplying this without carrier_name auto-detects the carrier."}}},"output_schema":null,"annotations":{"title":"Bulk mark orders shipped","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"bulk_update_listings","title":"Bulk update listing prices or MOQ","description":"Bulk update prices or minimum order quantities across up to 200 of the calling seller's product listings. Thin adapter over POST /api/products/bulk-update-price and /bulk-update-moq — same seller-ownership filter and per-product validation. Choose mode='price_set' (value=USD), 'price_percent_increase' / 'price_percent_decrease' (value=percent), or 'moq_set' (value=integer units).","input_schema":{"type":"object","required":["product_ids","mode","value"],"properties":{"mode":{"enum":["price_set","price_percent_increase","price_percent_decrease","moq_set"],"type":"string","description":"What to change and how: price_set writes an absolute USD price, price_percent_increase / price_percent_decrease adjust the current price by a percentage, moq_set writes a minimum order quantity."},"value":{"type":"number","description":"USD price for price_set, percent (0-1000) for percent modes, integer units (1-999999) for moq_set."},"product_ids":{"type":"array","items":{"type":"integer","minimum":1},"maxItems":200,"minItems":1,"description":"ForthClear product ids to update (max 200/request)."}}},"output_schema":null,"annotations":{"title":"Bulk update listing prices or MOQ","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"create_listing","title":"Create a listing","description":"Create a new product listing (seller tool)","input_schema":{"type":"object","required":["name","category","condition","quantity","price_per_unit"],"properties":{"sku":{"type":"string","description":"Seller's own stock-keeping unit, shown to buyers and used for reconciliation."},"name":{"type":"string","description":"Listing title shown to buyers and matched by catalogue search."},"category":{"enum":["electronics","apparel","home_goods","beauty","sports","kitchenware","office_supplies","toys","food_beverage","tools","other"],"type":"string","description":"Catalogue category. One of: electronics, apparel, home_goods, beauty, sports, kitchenware, office_supplies, toys, food_beverage, tools, other."},"quantity":{"type":"integer","minimum":1,"description":"Units available in this lot."},"condition":{"enum":["salvage","customer_returns","shelf_pulls","overstock","new_or_refurbished"],"type":"string","description":"Standard liquidation condition grade (Task #72)"},"description":{"type":"string","description":"Listing body copy: condition detail, packaging, lot composition. Buyers filter on its presence and agents summarise it."},"price_per_unit":{"type":"integer","description":"Price in cents"},"original_retail_price":{"type":"integer","description":"Original retail price in cents"}}},"output_schema":{"type":"object","required":["success","message","listing"],"properties":{"listing":{"type":"object","required":["id","name","category","quantity","price","status","view_url"],"properties":{"id":{"type":"string"},"sku":{"type":["string","null"]},"name":{"type":"string"},"price":{"type":"integer","description":"Unit price in cents."},"status":{"type":"string"},"category":{"type":"string"},"quantity":{"type":"integer"},"view_url":{"type":"string","description":"Buyer-facing listing page."},"condition":{"type":["string","null"]},"image_url":{"type":["string","null"]},"original_retail":{"type":["integer","null"]}}},"message":{"type":"string"},"success":{"type":"boolean"}}},"annotations":{"title":"Create a listing","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"get_order_status","title":"Get order status","description":"Status, tracking and inspection deadline for an order owned by the authenticated buyer (X-MCP-API-Key of the order's buyer, or a buyer X-Agent-Token).","input_schema":{"type":"object","required":["order_id"],"properties":{"order_id":{"type":"integer","description":"ForthClear order id"}}},"output_schema":null,"annotations":{"title":"Get order status","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"get_pricing_recommendation","title":"Get pricing recommendation","description":"Get AI-powered pricing recommendation for inventory (seller tool)","input_schema":{"type":"object","required":["category","condition","original_retail"],"properties":{"category":{"enum":["electronics","apparel","home_goods","beauty","sports","kitchenware","office_supplies","toys","food_beverage","tools","other"],"type":"string","description":"Catalogue category. One of: electronics, apparel, home_goods, beauty, sports, kitchenware, office_supplies, toys, food_beverage, tools, other."},"quantity":{"type":"integer","description":"Lot size being priced; recommendations scale with volume."},"condition":{"enum":["salvage","customer_returns","shelf_pulls","overstock","new_or_refurbished"],"type":"string","description":"Standard liquidation condition grade (Task #72)"},"original_retail":{"type":"integer","description":"Original retail price in cents"}}},"output_schema":{"type":"object","required":["recommended_price","price_range","discount_from_retail","factors","tips"],"properties":{"tips":{"type":"array","items":{"type":"string"}},"factors":{"type":"array","items":{"type":"string"}},"price_range":{"type":"object","required":["low","high"],"properties":{"low":{"type":"number"},"high":{"type":"number"}}},"recommended_price":{"type":"number"},"discount_from_retail":{"type":"number","description":"Percent below original retail."}}},"annotations":{"title":"Get pricing recommendation","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"get_product_details","title":"Get product details","description":"Get detailed information about a specific product","input_schema":{"type":"object","required":["product_id"],"properties":{"product_id":{"type":"string","description":"Product ID (format: product_123)"}}},"output_schema":{"type":"object","required":["id","name","category","quantity_available","price","quote_required"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"price":{"type":"integer","description":"Unit price in minor units of currency."},"seller":{"type":"object","required":["company","verified"],"properties":{"company":{"type":"string"},"verified":{"type":"boolean","description":"True once the seller has a Stripe account."}}},"category":{"type":"string"},"currency":{"type":"string"},"condition":{"type":["string","null"]},"description":{"type":["string","null"]},"next_action":{"type":"string"},"quote_required":{"type":"boolean"},"original_retail":{"type":["integer","null"]},"instant_checkout":{"type":"boolean"},"payment_readiness":{"type":"string"},"quantity_available":{"type":"integer"},"quote_quantity_threshold":{"type":"integer"}}},"annotations":{"title":"Get product details","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"get_quote_requests","title":"Get incoming quote requests","description":"Get pending quote requests for seller's products (seller tool)","input_schema":{"type":"object","properties":{"status":{"enum":["pending","responded","all"],"type":"string","default":"pending","description":"Which of the calling seller's quote requests to return: pending (awaiting a reply), responded, or all."}}},"output_schema":{"type":"object","required":["quotes","total","message"],"properties":{"total":{"type":"integer"},"quotes":{"type":"array","items":{"type":"object","required":["id","product_id","quantity","status","created_at"],"properties":{"id":{"type":"integer"},"status":{"type":"string"},"message":{"type":["string","null"]},"quantity":{"type":"integer"},"created_at":{"type":"string","description":"ISO-8601 timestamp."},"product_id":{"type":"string"},"product_name":{"type":"string"},"target_price":{"type":["integer","null"],"description":"Buyer target in cents."},"buyer_company":{"type":"string"}}}},"message":{"type":"string"}}},"annotations":{"title":"Get incoming quote requests","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"get_quote_status","title":"Get quote status","description":"Read back a quote you filed: status (pending, responded, accepted, rejected, completed), the seller's price and shipping once they reply, and what to do next. Pass the status_token request_quote returned; a buyer X-Agent-Token or account key can read its own quotes without one.","input_schema":{"type":"object","required":["quote_id"],"properties":{"quote_id":{"type":"integer","description":"Quote id from request_quote"},"status_token":{"type":"string","description":"status_token from the request_quote response"}}},"output_schema":null,"annotations":{"title":"Get quote status","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"open_dispute","title":"Open a dispute","description":"Open a dispute on a delivered order awaiting the buyer's confirmation. Moves the order to 'issue_reported', records the issue and notifies admins. Requires the order's buyer (X-MCP-API-Key or buyer X-Agent-Token).","input_schema":{"type":"object","required":["order_id","reason","description"],"properties":{"reason":{"enum":["missing_units","quality_issue","damaged","wrong_item","other"],"type":"string","description":"Dispute reason"},"order_id":{"type":"integer","description":"ForthClear order id"},"photo_urls":{"type":"array","items":{"type":"string","format":"uri"},"maxItems":10,"description":"Optional evidence URLs"},"description":{"type":"string","maxLength":2000,"description":"Free-text description of the issue"},"requested_action":{"enum":["refund","replacement","partial_refund"],"type":"string","description":"Resolution the buyer is requesting"}}},"output_schema":null,"annotations":{"title":"Open a dispute","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"quick_buy","title":"Quick buy","description":"One-step purchase for products with instant checkout enabled (seller opt-in) and orders under bulk threshold. For products without instant checkout or larger orders, use request_quote instead.","input_schema":{"type":"object","required":["product_id","quantity","buyer_email"],"properties":{"quantity":{"type":"integer","minimum":1,"description":"Number of units to purchase"},"buyer_name":{"type":"string","description":"Buyer's full name"},"product_id":{"type":"string","description":"Product ID (format: product_123)"},"buyer_email":{"type":"string","format":"email","description":"Buyer's email address"},"buyer_company":{"type":"string","description":"Buyer's company name"}}},"output_schema":null,"annotations":{"title":"Quick buy","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"request_quote","title":"Request a bulk quote","description":"Request a bulk quote for a product (buyer tool). Works without credentials: buyer_email is required and is where the seller replies. Anonymous quotes are limited to 5 per hour per IP; a buyer X-Agent-Token binds the quote to the buyer's account instead.","input_schema":{"type":"object","required":["product_id","quantity","buyer_email"],"properties":{"message":{"type":"string","description":"Additional message to seller"},"quantity":{"type":"integer","minimum":1,"description":"Number of units to quote"},"buyer_name":{"type":"string","description":"Buyer's full name"},"product_id":{"type":"string","description":"Product ID (format: product_123)"},"buyer_email":{"type":"string","format":"email","description":"Buyer's email address (required)"},"target_price":{"type":"integer","description":"Target price per unit in cents (optional)"},"buyer_company":{"type":"string","description":"Buyer's company name"}}},"output_schema":{"type":"object","required":["success","message","quote"],"properties":{"quote":{"type":"object","required":["id","product_id","product_name","quantity","status","expected_response"],"properties":{"id":{"type":"integer"},"status":{"type":"string"},"quantity":{"type":"integer"},"product_id":{"type":"string"},"product_name":{"type":"string"},"target_price":{"type":["number","null"],"description":"Buyer target per unit, as supplied."},"seller_company":{"type":"string"},"expected_response":{"type":"string","description":"Human-readable SLA, e.g. \"24-48 hours\"."}}},"message":{"type":"string"},"success":{"type":"boolean"},"status_token":{"type":"string","description":"Pass to get_quote_status to read this quote back. Keep it: an anonymous caller has no other way in."}}},"annotations":{"title":"Request a bulk quote","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"respond_to_quote","title":"Respond to a quote request","description":"Respond to a buyer's quote request (seller tool)","input_schema":{"type":"object","required":["quote_request_id","action"],"properties":{"action":{"enum":["accept","counter","decline"],"type":"string","description":"accept the buyer's terms as asked, counter with a different price (requires counter_price), or decline the request."},"message":{"type":"string","description":"Optional note sent to the buyer alongside the decision."},"counter_price":{"type":"integer","description":"Counter offer price in cents (for counter action)"},"quote_request_id":{"type":"integer","description":"Id of the quote request to answer, as returned by get_quote_requests."}}},"output_schema":null,"annotations":{"title":"Respond to a quote request","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"search_inventory","title":"Search inventory","description":"Search available liquidation inventory with filters","input_schema":{"type":"object","properties":{"limit":{"type":"integer","default":20,"maximum":100,"description":"Maximum listings to return (default 20, max 100)."},"query":{"type":"string","description":"Search query"},"category":{"type":"string","description":"Product category"},"condition":{"enum":["salvage","customer_returns","shelf_pulls","overstock","new_or_refurbished"],"type":"string","description":"Standard liquidation condition grade (Task #72)"},"max_price":{"type":"integer","description":"Maximum price in cents"}}},"output_schema":{"type":"object","required":["products","total","message"],"properties":{"total":{"type":"integer","description":"Catalogue matches before the limit is applied."},"message":{"type":"string"},"products":{"type":"array","items":{"type":"object","required":["id","name","category","quantity","price"],"properties":{"id":{"type":"string","description":"Opaque listing id, `product_<n>`."},"name":{"type":"string"},"price":{"type":"integer","description":"Unit price in cents."},"category":{"type":"string"},"quantity":{"type":"integer"},"condition":{"type":["string","null"]},"discount_percent":{"type":["integer","null"],"description":"Null when the listing has no original retail price on file."}}}}}},"annotations":{"title":"Search inventory","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"search_inventory_semantic","title":"Semantic inventory search","description":"Semantic catalog search: ranks listings by similarity to a natural-language description (e.g. 'something like AirPods but cheaper'). Returns the search_inventory product shape plus a similarity score in [0, 1]. No credentials needed.","input_schema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":10,"maximum":50,"description":"Number of ranked results to return"},"query":{"type":"string","description":"Natural-language description of what the buyer wants"},"category":{"type":"string","description":"Restrict candidates to a single category"},"condition":{"enum":["salvage","customer_returns","shelf_pulls","overstock","new_or_refurbished"],"type":"string","description":"Restrict candidates to one condition grade"},"max_price":{"type":"integer","description":"Maximum price per unit in cents"}}},"output_schema":null,"annotations":{"title":"Semantic inventory search","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"seller_inbox_summarise","title":"Summarise seller inbox","description":"Read-only digest of the calling seller's inbox: pending quote requests, orders at risk of missing their ship-by deadline, and orders with reported issues. Useful for a daily standup or cron-driven agent that decides which bulk action to run next.","input_schema":{"type":"object","properties":{"limit":{"type":"integer","default":10,"maximum":50,"minimum":1,"description":"Max items to surface in each bucket."},"window_hours":{"type":"integer","default":24,"maximum":168,"minimum":1,"description":"Look-ahead window for ship-by-date risk detection (default 24h)."}}},"output_schema":null,"annotations":{"title":"Summarise seller inbox","readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"},{"name":"subscribe_to_query","title":"Subscribe to a saved search","description":"Save a search for the calling agent principal. New matching listings are sent to each channel: webhook (HMAC-signed POST), email, or a pollable resource at /api/mcp/resources/subscriptions/{id}. Requires credentials.","input_schema":{"type":"object","required":["query","channels"],"properties":{"query":{"type":"object","description":"Marketplace filter object (category, minPrice, maxPrice, minQuantity, search, sellerCountry, condition, moqRange, bulkDealsOnly).","additionalProperties":true},"channels":{"type":"array","items":{"oneOf":[{"type":"object","required":["type","url"],"properties":{"url":{"type":"string","format":"uri"},"type":{"const":"webhook"}}},{"type":"object","required":["type","email"],"properties":{"type":{"const":"email"},"email":{"type":"string","format":"email"}}},{"type":"object","required":["type"],"properties":{"type":{"const":"mcp_resource"}}}]},"maxItems":5,"minItems":1,"description":"Where to send new matches: 1-5 of webhook (public https URL), email, or mcp_resource (poll)."}}},"output_schema":null,"annotations":{"title":"Subscribe to a saved search","readOnlyHint":false,"openWorldHint":true,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T19:38:03.369Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/io.forthclear%2Fliquidation/connection?target=mcpServers","arguments":{"name":"io.forthclear/liquidation","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/io.forthclear%2Fliquidation","arguments":{"name":"io.forthclear/liquidation"}}]}