Search surplus and overstock inventory, request bulk quotes, and check out.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://app.forthclear.io/mcp17 tools · 292mssearch_inventorySearch available liquidation inventory with filtersSearch available liquidation inventory with filters
| Parameter | Type | Description |
|---|---|---|
| query | string | Search query |
| category | string | Product category |
| condition | string | Standard liquidation condition grade (Task #72) |
| max_price | integer | Maximum price in cents |
| limit | integer | Maximum listings to return (default 20, max 100). |
get_product_detailsGet detailed information about a specific productGet detailed information about a specific product
| Parameter | Type | Description |
|---|---|---|
| product_id* | string | Product ID (format: product_123) |
request_quoteRequest 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.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.
| Parameter | Type | Description |
|---|---|---|
| product_id* | string | Product ID (format: product_123) |
| quantity* | integer | Number of units to quote |
| buyer_email* | string | Buyer's email address (required) |
| buyer_name | string | Buyer's full name |
| buyer_company | string | Buyer's company name |
| target_price | integer | Target price per unit in cents (optional) |
| message | string | Additional message to seller |
get_quote_statusRead 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.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.
| Parameter | Type | Description |
|---|---|---|
| quote_id* | integer | Quote id from request_quote |
| status_token | string | status_token from the request_quote response |
create_listingCreate a new product listing (seller tool)Create a new product listing (seller tool)
| Parameter | Type | Description |
|---|---|---|
| name* | string | Listing title shown to buyers and matched by catalogue search. |
| description | string | Listing body copy: condition detail, packaging, lot composition. Buyers filter on its presence and agents summarise it. |
| category* | string | Catalogue category. One of: electronics, apparel, home_goods, beauty, sports, kitchenware, office_supplies, toys, food_beverage, tools, other. |
| condition* | string | Standard liquidation condition grade (Task #72) |
| quantity* | integer | Units available in this lot. |
| price_per_unit* | integer | Price in cents |
| original_retail_price | integer | Original retail price in cents |
| sku | string | Seller's own stock-keeping unit, shown to buyers and used for reconciliation. |
get_pricing_recommendationGet AI-powered pricing recommendation for inventory (seller tool)Get AI-powered pricing recommendation for inventory (seller tool)
| Parameter | Type | Description |
|---|---|---|
| category* | string | Catalogue category. One of: electronics, apparel, home_goods, beauty, sports, kitchenware, office_supplies, toys, food_beverage, tools, other. |
| condition* | string | Standard liquidation condition grade (Task #72) |
| original_retail* | integer | Original retail price in cents |
| quantity | integer | Lot size being priced; recommendations scale with volume. |
get_quote_requestsGet pending quote requests for seller's products (seller tool)Get pending quote requests for seller's products (seller tool)
| Parameter | Type | Description |
|---|---|---|
| status | string | Which of the calling seller's quote requests to return: pending (awaiting a reply), responded, or all. |
respond_to_quoteRespond to a buyer's quote request (seller tool)Respond to a buyer's quote request (seller tool)
| Parameter | Type | Description |
|---|---|---|
| quote_request_id* | integer | Id of the quote request to answer, as returned by get_quote_requests. |
| action* | string | accept the buyer's terms as asked, counter with a different price (requires counter_price), or decline the request. |
| counter_price | integer | Counter offer price in cents (for counter action) |
| message | string | Optional note sent to the buyer alongside the decision. |
bulk_update_listingsBulk 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_increa…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_increa…
| Parameter | Type | Description |
|---|---|---|
| product_ids* | array | ForthClear product ids to update (max 200/request). |
| mode* | string | 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_s… |
| value* | number | USD price for price_set, percent (0-1000) for percent modes, integer units (1-999999) for moq_set. |
bulk_mark_shippedMark 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. Supplyi…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. Supplyi…
| Parameter | Type | Description |
|---|---|---|
| order_ids* | array | Order ids belonging to the calling seller (max 200/request). Orders owned by anyone else are skipped. |
| tracking_number | string | Tracking number written to every listed order. Supplying this without carrier_name auto-detects the carrier. |
| tracking_url | string | Tracking URL written to every listed order. |
| carrier_name | string | Carrier for the shipment. Omit to infer it from tracking_number. |
bulk_export_ordersExport 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.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.
| Parameter | Type | Description |
|---|---|---|
| order_ids* | array | Order ids belonging to the calling seller (max 200/request). Orders owned by anyone else are skipped. |
seller_inbox_summariseRead-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.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.
| Parameter | Type | Description |
|---|---|---|
| window_hours | integer | Look-ahead window for ship-by-date risk detection (default 24h). |
| limit | integer | Max items to surface in each bucket. |
quick_buyOne-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.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.
| Parameter | Type | Description |
|---|---|---|
| product_id* | string | Product ID (format: product_123) |
| quantity* | integer | Number of units to purchase |
| buyer_email* | string | Buyer's email address |
| buyer_name | string | Buyer's full name |
| buyer_company | string | Buyer's company name |
search_inventory_semanticSemantic 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.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.
| Parameter | Type | Description |
|---|---|---|
| query* | string | Natural-language description of what the buyer wants |
| category | string | Restrict candidates to a single category |
| condition | string | Restrict candidates to one condition grade |
| max_price | integer | Maximum price per unit in cents |
| limit | integer | Number of ranked results to return |
get_order_statusStatus, 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).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).
| Parameter | Type | Description |
|---|---|---|
| order_id* | integer | ForthClear order id |
open_disputeOpen 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).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).
| Parameter | Type | Description |
|---|---|---|
| order_id* | integer | ForthClear order id |
| reason* | string | Dispute reason |
| description* | string | Free-text description of the issue |
| requested_action | string | Resolution the buyer is requesting |
| photo_urls | array | Optional evidence URLs |
subscribe_to_querySave 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.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.
| Parameter | Type | Description |
|---|---|---|
| query* | object | Marketplace filter object (category, minPrice, maxPrice, minQuantity, search, sellerCountry, condition, moqRange, bulkDealsOnly). |
| channels* | array | Where to send new matches: 1-5 of webhook (public https URL), email, or mcp_resource (poll). |
17 of 17 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Search surplus and overstock inventory, request bulk quotes, and check out.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.