Forthcast Inventory
REMOTE · APP.FORTHCAST.IO
Demand forecasts, reorder points, order quantities and inventory health for Shopify stores.
Available components
Last scanned (18 hours ago)
Scores higher than 81% of remote servers
Reachable. Last reached 4 Nov 2026.
Category E-commerce
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 Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- 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
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability72
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1564 tokens (~142/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management7
- Stability observed for 2 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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 (100% 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 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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.
- 4 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 3 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- 2 Nov 26 79
First indexed and scored.
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 4 Nov 2026 · Probed https://app.forthcast.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.forthcast.io | CN=YE1,O=Let's Encrypt,C=US | 26 Aug 2026 | 24 Nov 2026 | ECDSA 256 | ECDSA-SHA384 | 54587a6d5da7f861f782d9c6b446a3b1877 |
| SANs: app.forthcast.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.forthcast.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 38690 | 8 | Verified |
| forthcast.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer error="invalid_token", error_description="Authentication required", resource_metadata="https://app.forthcast.io/.well-known/oauth-protected-resource/mcp"
Bearer error="invalid_token", error_description="Authentication required", resource_metadata="https://app.forthcast.io/.well-known/oauth-protected-resource/mcp" | Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains |
Protected resource metadata
| Document | https://app.forthcast.io/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://app.forthcast.io/mcp |
| Authorisation server | https://app.forthcast.io |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.forthcast.io/mcp | Verified | 200 | |
| http (plaintext) | http://app.forthcast.io/mcp | HTTPS enforced | 301 | https://app.forthcast.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 →
calculate_order_quantity Calculate order quantity ~270
Use this when someone asks how many units to order, given demand, lead time, stock on hand and on order, and supplier rules such as MOQ, case pack or a minimum order value. Sizes the line the way Forthcast sizes a purchase-order line and lists every rule that changed the quantity. Works without a connected store.
| Name | Type | Req | Description |
|---|---|---|---|
| average_daily_demand | – | – | Average units sold per day, if no daily history. |
| case_pack | – | – | Units per case; quantity is rounded up to whole cases. |
| cover_days_target | – | – | Optional explicit days of cover to buy instead of the default weeks-of-supply target. |
| daily_demand | – | – | Daily units sold, oldest first, 14 to 365 values. |
| demand_std_daily | – | – | Standard deviation of daily demand, if known. |
| lead_time_days | integer | yes | Supplier lead time in days. |
| min_order_value | – | – | Supplier minimum order value in currency; needs unit_cost. |
| moq | – | – | Supplier minimum order quantity for this item. |
| on_hand | number | yes | Units available now. |
| on_order | number | – | Units already on open purchase orders. |
| service_level | number | – | Target in-stock probability, 0.50 to 0.99. |
| unit_cost | – | – | Purchase cost per unit. |
| Name | Type | Req | Description |
|---|---|---|---|
| assumptions | array | yes | – |
| connect_hint | string | – | How to get this done automatically on live store data. |
| days_of_cover_after_delivery | – | – | – |
| demand_category | string | yes | – |
| estimated_cost | – | – | – |
| lead_time_category | string | yes | – |
| position | number | yes | – |
| raw_quantity | integer | yes | – |
| reorder_point | number | yes | – |
| rules_applied | array | yes | – |
| safety_stock | number | yes | – |
| shortfall | number | yes | – |
| suggested_quantity | integer | yes | – |
| value_category | string | yes | – |
| weeks_of_supply_target | number | yes | – |
No examples provided.
calculate_reorder_point Calculate reorder point ~182
Use this when someone asks how much safety stock to hold or at what stock level to reorder a product. Give a daily demand history (best) or an average daily demand with its variability, plus the supplier lead time and a service level. Returns safety stock, lead-time demand and the reorder point with Forthcast's formula and assumptions. Works without a connected store.
| Name | Type | Req | Description |
|---|---|---|---|
| average_daily_demand | – | – | Average units sold per day, if no daily history. |
| daily_demand | – | – | Daily units sold, oldest first, 14 to 365 values. |
| demand_std_daily | – | – | Standard deviation of daily demand; assumed sqrt(average) when omitted. |
| lead_time_days | integer | yes | Supplier lead time in days. |
| service_level | number | – | Target in-stock probability, 0.50 to 0.99 (95 also accepted). |
| Name | Type | Req | Description |
|---|---|---|---|
| assumptions | array | yes | – |
| average_daily_demand | number | yes | – |
| basis | string | yes | – |
| connect_hint | string | – | How to get this done automatically on live store data. |
| demand_std_daily | number | yes | – |
| intermittent_demand | boolean | yes | – |
| lead_time_days | integer | yes | – |
| lead_time_demand | number | yes | – |
| reorder_point | number | yes | – |
| safety_stock | number | yes | – |
| service_level | number | yes | – |
| z_score | number | yes | – |
No examples provided.
explain_inventory_metric Explain inventory metric ~94
Use this when someone asks what an inventory planning term means or how Forthcast calculates it: safety stock, reorder point, days of cover, urgency bands, service level, ABC class, EOQ, order quantity, fill rate, on-time rate, lead time, intermittent demand. Works without a connected store.
| Name | Type | Req | Description |
|---|---|---|---|
| metric | string | yes | Metric name, for example 'reorder point' or 'days of cover'. |
| Name | Type | Req | Description |
|---|---|---|---|
| available_metrics | array | – | – |
| connect_hint | string | – | How to get this done automatically on live store data. |
| definition | – | – | – |
| formula | – | – | – |
| found | boolean | yes | – |
| how_forthcast_computes_it | – | – | – |
| metric | – | – | – |
| name | – | – | – |
| related | array | – | – |
| typical_targets | – | – | – |
No examples provided.
find_inventory_items Find inventory items ~108
Use this when the merchant wants a bounded list of their items filtered by urgency, assigned supplier, or Shopify vendor, such as all excess items or a supplier's critical SKUs. Requires a connected Forthcast store; the assistant will prompt to sign in.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum items to return. |
| supplier | – | – | Optional case-insensitive assigned supplier name. |
| urgency | – | – | Optional Forthcast urgency bucket. |
| vendor | – | – | Optional case-insensitive Shopify vendor or brand. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_filters | object | – | – |
| count | integer | yes | – |
| items | array | yes | – |
| truncated | boolean | – | – |
No examples provided.
forecast_demand_series Forecast demand series ~149
Use this when someone pastes past sales numbers and asks what to expect next month, next quarter or next season. Takes 3 to 365 monthly, weekly or daily totals (oldest first) and returns the next periods with an 80 percent range, the model used (Holt-Winters seasonal, damped trend, Croston for intermittent demand, or moving average) and why. Works without a connected store.
| Name | Type | Req | Description |
|---|---|---|---|
| horizon | integer | – | Periods to forecast: up to 12 monthly, 26 weekly, 90 daily. |
| period | string | – | Granularity of the sales list. |
| sales | array | yes | Past sales totals per period, oldest first. |
| Name | Type | Req | Description |
|---|---|---|---|
| confidence | string | yes | – |
| connect_hint | string | – | How to get this done automatically on live store data. |
| forecast | array | yes | – |
| history_average | number | yes | – |
| history_points | integer | yes | – |
| lower | array | yes | – |
| method | string | yes | – |
| method_label | string | yes | – |
| notes | array | yes | – |
| period | string | yes | – |
| seasonality | string | yes | – |
| trend | string | yes | – |
| upper | array | yes | – |
No examples provided.
get_inventory_item Get inventory item ~72
Use this when the merchant names an exact SKU and needs its live stock, forecast demand, days of supply, reorder point, suggested quantity, supplier, or open-PO coverage. Requires a connected Forthcast store; the assistant will prompt to sign in.
| Name | Type | Req | Description |
|---|---|---|---|
| sku | string | yes | Exact merchant SKU code. |
| Name | Type | Req | Description |
|---|---|---|---|
| found | boolean | yes | – |
| item | – | – | – |
| message | – | – | – |
No examples provided.
get_inventory_overview Get inventory overview ~59
Use this when the merchant asks for a broad inventory health check, an executive summary, their urgent/excess/no-demand counts, inventory valuation, or current PO workload. Requires a connected Forthcast store; the assistant will prompt to sign in.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| active_purchase_orders | integer | yes | – |
| draft_purchase_orders | integer | yes | – |
| inventory_url | string | yes | – |
| top_priorities | array | yes | – |
| total_skus | integer | yes | – |
| urgency_counts | – | yes | – |
| valuation | – | – | – |
No examples provided.
get_reorder_recommendations Get reorder recommendations ~131
Use this when the merchant asks what to reorder, how much to buy, or which critical/warning items need action. Quantities reuse Forthcast's live lead-time, MOQ, case-pack, open-PO, location, and supplier minimum-order-value logic; this tool does not create a PO. Requires a connected Forthcast store; the assistant will prompt to sign in.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum recommendations to return. |
| priority | string | – | Return order-now items, plan-ahead items, or both. |
| supplier | – | – | Optional case-insensitive supplier name filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | yes | – |
| items | array | yes | – |
| omitted_covered_items | integer | – | – |
| omitted_non_orderable_items | integer | – | – |
| priority | string | yes | – |
| purchase_order_url | string | yes | – |
| truncated | boolean | yes | – |
No examples provided.
get_supplier_performance Get supplier performance ~94
Use this when the merchant asks how suppliers are performing or wants rolling 24-month on-time rate, fill rate, actual versus promised lead time, spend, or invoice price accuracy, plus current open and overdue purchase-order counts. Requires a connected Forthcast store; the assistant will prompt to sign in.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum suppliers to return. |
| supplier | – | – | Optional case-insensitive supplier name filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| analysis_period_months | integer | – | – |
| count | integer | yes | – |
| supplier_performance_url | string | yes | – |
| suppliers | array | yes | – |
| total_matching | integer | yes | – |
| truncated | boolean | yes | – |
No examples provided.
list_purchase_orders List purchase orders ~114
Use this when the merchant asks what is ordered, drafted, open, partially received, received, cancelled, overdue, expected, or associated with a named supplier. Results are grouped by PO; this tool does not approve, receive, cancel, or otherwise modify an order. Requires a connected Forthcast store; the assistant will prompt to sign in.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum grouped purchase orders to return. |
| status | – | – | Optional exact purchase-order status. |
| supplier | – | – | Optional case-insensitive supplier name filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| applied_filters | object | – | – |
| count | integer | yes | – |
| orders | array | yes | – |
| purchase_order_url | string | yes | – |
| total_matching | integer | yes | – |
| truncated | boolean | yes | – |
No examples provided.
score_inventory_health Score inventory health ~138
Use this when someone shares a list or CSV of products with stock and sales rates and asks which need reordering, which are overstocked, or how healthy the inventory is. Up to 500 rows. Applies Forthcast's urgency bands (Order now, Plan ahead, On track, Excess, No demand), reorder points, suggested quantities and inventory value. Works without a connected store.
| Name | Type | Req | Description |
|---|---|---|---|
| default_lead_time_days | integer | – | Lead time for rows that give none. |
| items | array | yes | Products to score. |
| service_level | number | – | Target in-stock probability, 0.50 to 0.99. |
| Name | Type | Req | Description |
|---|---|---|---|
| assumptions | array | yes | – |
| connect_hint | string | – | How to get this done automatically on live store data. |
| counts | object | yes | – |
| excess_value | – | – | – |
| items | array | yes | – |
| rows_scored | integer | yes | – |
| rows_skipped | array | yes | – |
| total_inventory_value | – | – | – |
| value_at_risk | – | – | – |
No examples provided.
How do I install the Forthcast Inventory MCP server?
Forthcast Inventory is a hosted endpoint at https://app.forthcast.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.forthcast.io
claude mcp add --transport http io-forthcast-inventory 'https://app.forthcast.io/mcp'
What is the Forthcast Inventory MCP server?
Forthcast Inventory is an MCP server listed in the public MCP registry as io.forthcast/inventory. Demand forecasts, reorder points, order quantities and inventory health for Shopify stores. This page covers its hosted endpoint (https://app.forthcast.io/mcp).
Is the Forthcast Inventory MCP server safe to use?
Forthcast Inventory 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 Forthcast Inventory MCP server expose?
Forthcast Inventory exposes 11 tools: get_inventory_overview, get_reorder_recommendations, find_inventory_items, get_inventory_item, list_purchase_orders, and 6 more. Their descriptions and schemas cost roughly 1,411 tokens of context every time the server is loaded.
Does the Forthcast Inventory MCP server require authentication?
Yes. Forthcast Inventory asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the Forthcast Inventory MCP server still maintained?
Forthcast Inventory is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.