ForthClear Liquidation Marketplace
REMOTE · APP.FORTHCLEAR.IO · SCANNED SEP 22
Search surplus and overstock inventory, request bulk quotes, and check out.
Available components
Recent critical change
Authorization (11 Sept 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (bulk_update_listings). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability85
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1429 tokens (~102/item across 14 items; 12 tools + 2 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (50% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities40
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
How do I install the ForthClear Liquidation Marketplace MCP server?
ForthClear Liquidation Marketplace is a hosted endpoint at https://app.forthclear.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · app.forthclear.io
claude mcp add --transport http io-forthclear-liquidation 'https://app.forthclear.io/mcp'
{
"mcpServers": {
"io-forthclear-liquidation": {
"url": "https://app.forthclear.io/mcp"
}
}
} {
"servers": {
"io-forthclear-liquidation": {
"type": "http",
"url": "https://app.forthclear.io/mcp"
}
}
} [mcp_servers.io-forthclear-liquidation] url = "https://app.forthclear.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-forthclear-liquidation": {
"type": "remote",
"url": "https://app.forthclear.io/mcp",
"enabled": true
}
}
} openclaw mcp add io-forthclear-liquidation --url 'https://app.forthclear.io/mcp' --transport streamable-http
mcp_servers:
io-forthclear-liquidation:
url: "https://app.forthclear.io/mcp" {
"McpServers": {
"io-forthclear-liquidation": {
"Transport": "http",
"Url": "https://app.forthclear.io/mcp"
}
}
} assistant mcp add io-forthclear-liquidation -t streamable-http -u 'https://app.forthclear.io/mcp'
{
"mcpServers": {
"io-forthclear-liquidation": {
"type": "http",
"url": "https://app.forthclear.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 0
- Stability: 0.97 → pass security
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
- Authorization: unverified → fail ▼ critical
- 10 Sept 26 0
- Authorization: fail → unverified ▼ security
- 8 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 22 Sept 2026 · Probed https://app.forthclear.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=app.forthclear.io | CN=YE1,O=Let's Encrypt,C=US | 3 Aug 2026 | 1 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 6533bfccd0eff53ef0bb422a5e61bf4da4d |
| SANs: app.forthclear.io | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of app.forthclear.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| forthclear.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains |
| content-security-policy | default-src 'self';script-src 'self' 'sha256-Agh1Ftmx58N4YS4z16sL2GCZalt8loLBFaOlryYE8nc=' 'sha256-iLS3OJgW1t4WTYT9wHCwn0dKZ/kzMfIVRNR+4PxTz84=' 'sha256-7MqEbR0KyO4RxQlZhdbDFi1tvBhlgKrpNSmJqvqvZv8=' 'sha256-d0kZue7TcQS5vye9Tq6XBEV0wrpye+yCzwkI2d83lO8=' https://js.stripe.com https://m.stripe.network https://apis.google.com https://www.gstatic.com https://accounts.google.com https://www.googletagmanager.com https://client.crisp.chat;script-src-attr 'none';style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://client.crisp.chat;font-src 'self' data: https://fonts.gstatic.com https://client.crisp.chat;img-src 'self' data: blob: https:;media-src 'self' https:;connect-src 'self' https://api.stripe.com https://m.stripe.network https://r.stripe.com https://*.firebaseio.com https://*.firebaseapp.com https://identitytoolkit.googleapis.com https://securetoken.googleapis.com https://apis.google.com https://www.googleapis.com https://accounts.google.com https://storage.googleapis.com https://www.google-anal |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.forthclear.io/mcp | Verified | 200 | |
| http (plaintext) | http://app.forthclear.io/mcp | HTTPS enforced | 301 | https://app.forthclear.io:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
bulk_export_orders Export orders as CSV ~96
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.
| Name | Type | Req | Description |
|---|---|---|---|
| order_ids | array | yes | Order ids belonging to the calling seller (max 200/request). Orders owned by anyone else are skipped. |
No output schema declared.
No examples provided.
bulk_mark_shipped Bulk mark orders shipped ~178
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, idempotent re-runs, auto-detected carrier when only a tracking number is supplied. Returns per-order success/failure buckets.
| Name | Type | Req | Description |
|---|---|---|---|
| carrier_name | string | – | Carrier for the shipment. Omit to infer it from tracking_number. |
| order_ids | array | yes | 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. |
No output schema declared.
No examples provided.
bulk_update_listings Bulk update listing prices or MOQ ~201
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).
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | yes | 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. |
| product_ids | array | yes | ForthClear product ids to update (max 200/request). |
| value | number | yes | USD price for price_set, percent (0-1000) for percent modes, integer units (1-999999) for moq_set. |
No output schema declared.
No examples provided.
create_listing Create a listing ~179
Create a new product listing (seller tool)
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Catalogue category. One of: electronics, apparel, home_goods, beauty, sports, kitchenware, office_supplies, toys, food_beverage, tools, other. |
| condition | string | yes | Standard liquidation condition grade (Task #72) |
| description | string | – | Listing body copy: condition detail, packaging, lot composition. Buyers filter on its presence and agents summarise it. |
| name | string | yes | Listing title shown to buyers and matched by catalogue search. |
| original_retail_price | integer | – | Original retail price in cents |
| price_per_unit | integer | yes | Price in cents |
| quantity | integer | yes | Units available in this lot. |
| sku | string | – | Seller's own stock-keeping unit, shown to buyers and used for reconciliation. |
| Name | Type | Req | Description |
|---|---|---|---|
| listing | object | yes | – |
| message | string | yes | – |
| success | boolean | yes | – |
No examples provided.
get_pricing_recommendation Get pricing recommendation ~108
Get AI-powered pricing recommendation for inventory (seller tool)
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | Catalogue category. One of: electronics, apparel, home_goods, beauty, sports, kitchenware, office_supplies, toys, food_beverage, tools, other. |
| condition | string | yes | Standard liquidation condition grade (Task #72) |
| original_retail | integer | yes | Original retail price in cents |
| quantity | integer | – | Lot size being priced; recommendations scale with volume. |
| Name | Type | Req | Description |
|---|---|---|---|
| discount_from_retail | number | yes | Percent below original retail. |
| factors | array | yes | – |
| price_range | object | yes | – |
| recommended_price | number | yes | – |
| tips | array | yes | – |
No examples provided.
get_product_details Get product details ~33
Get detailed information about a specific product
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | Product ID (format: product_123) |
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | yes | – |
| condition | string|null | – | – |
| currency | string | – | – |
| description | string|null | – | – |
| id | string | yes | – |
| instant_checkout | boolean | – | – |
| name | string | yes | – |
| next_action | string | – | – |
| original_retail | integer|null | – | – |
| payment_readiness | string | – | – |
| price | integer | yes | Unit price in minor units of currency. |
| quantity_available | integer | yes | – |
| quote_quantity_threshold | integer | – | – |
| quote_required | boolean | yes | – |
| seller | object | – | – |
No examples provided.
get_quote_requests Get incoming quote requests ~50
Get pending quote requests for seller's products (seller tool)
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | – | Which of the calling seller's quote requests to return: pending (awaiting a reply), responded, or all. |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | – |
| quotes | array | yes | – |
| total | integer | yes | – |
No examples provided.
quick_buy Quick buy ~106
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.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_company | string | – | Buyer's company name |
| buyer_email | string | yes | Buyer's email address |
| buyer_name | string | – | Buyer's full name |
| product_id | string | yes | Product ID (format: product_123) |
| quantity | integer | yes | Number of units to purchase |
No output schema declared.
No examples provided.
request_quote Request a bulk quote ~112
Request a bulk quote for a product (buyer tool)
| Name | Type | Req | Description |
|---|---|---|---|
| buyer_company | string | – | Buyer's company name |
| buyer_email | string | yes | Buyer's email address (required) |
| buyer_name | string | – | Buyer's full name |
| message | string | – | Additional message to seller |
| product_id | string | yes | Product ID (format: product_123) |
| quantity | integer | yes | Number of units to quote |
| target_price | integer | – | Target price per unit in cents (optional) |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | – |
| quote | object | yes | – |
| success | boolean | yes | – |
No examples provided.
respond_to_quote Respond to a quote request ~105
Respond to a buyer's quote request (seller tool)
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 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. |
| quote_request_id | integer | yes | Id of the quote request to answer, as returned by get_quote_requests. |
No output schema declared.
No examples provided.
search_inventory Search inventory ~79
Search available liquidation inventory with filters
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Product category |
| condition | string | – | Standard liquidation condition grade (Task #72) |
| limit | integer | – | Maximum listings to return (default 20, max 100). |
| max_price | integer | – | Maximum price in cents |
| query | string | – | Search query |
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | – |
| products | array | yes | – |
| total | integer | yes | Catalogue matches before the limit is applied. |
No examples provided.
seller_inbox_summarise Summarise seller inbox ~98
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max items to surface in each bucket. |
| window_hours | integer | – | Look-ahead window for ship-by-date risk detection (default 24h). |
No output schema declared.
No examples provided.
What is the ForthClear Liquidation Marketplace MCP server?
ForthClear Liquidation Marketplace is an MCP server listed in the public MCP registry as io.forthclear/liquidation. Search surplus and overstock inventory, request bulk quotes, and check out. This page covers its hosted endpoint (https://app.forthclear.io/mcp).
Is the ForthClear Liquidation Marketplace MCP server safe to use?
ForthClear Liquidation Marketplace scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the ForthClear Liquidation Marketplace MCP server expose?
ForthClear Liquidation Marketplace exposes 12 tools: search_inventory, get_product_details, request_quote, create_listing, get_pricing_recommendation, and 7 more. Their descriptions and schemas cost roughly 1,345 tokens of context every time the server is loaded.
Does the ForthClear Liquidation Marketplace MCP server require authentication?
No. We connected to ForthClear Liquidation Marketplace without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the ForthClear Liquidation Marketplace MCP server still maintained?
ForthClear Liquidation Marketplace is still listed as active in the MCP registry. We last reached this channel on 22 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.