Runwaystock

io.github.GillMacedo由 GitHub 帳號 GillMacedo 發布v0.2.0更新於 Nov 3, 2026

Find what to reorder, stockout dates and dead stock from sales and stock CSVs, on your machine.

已驗證STDIO僅桌面資料與分析商業與電商

概覽

AI 產生的概覽

本機 MCP 伺服器,讀取銷售與庫存 CSV,依 SKU 計算補貨點、補貨數量、缺貨日期與滯銷庫存。

可以做什麼
  • 以銷售 CSV 和庫存 CSV 執行庫存檢查,依急迫程度回傳每個 SKU 的狀態與建議補貨數量。
  • 檢查不熟悉的 CSV,顯示辨識到的欄位與可讀取的列數,但不回傳列內容。
  • 狀態包含立即補貨、即將補貨、正常、庫存過多與近期無銷售,並提供補貨點、安全庫存與缺貨日期。
  • 兩個工具皆為唯讀,不會下單,也不連線網路。
適用情境
適合以試算表規劃庫存的電商賣家、零售商與小型企業,讓助理回答該補什麼貨、補多少、哪些商品最先售完,以及有多少資金卡在滯銷庫存上。
執行需求
透過 stdio 在本機執行;以 npx 啟動需要 Node.js,或以 Go 1.27 以上版本自行建置執行檔。不需要帳號、API 金鑰或網路連線。需要銷售 CSV 與庫存 CSV,且至少 28 天銷售紀錄才能得到較可靠的結果。
安裝前請注意
檢查工具會把 SKU 與數量回傳給 MCP 用戶端,因此會送到你所使用的 AI 模型;命令列方式則全部留在本機。結果僅為估算:模型不考慮季節性、促銷與缺貨流失的銷量,且只在虛構資料上測試過,採購前請自行確認。僅支援 CSV,上限 50 MB。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Runwaystock,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

runwaystock: inventory reorder points from your sales and stock files

[npm] [CI] [MIT license] [MCP Registry]

Know what to reorder, how much to buy, when each product runs out, and how much money is stuck in dead stock. For e-commerce stores, retailers and small businesses that plan inventory in spreadsheets.

Inventory planning software is expensive, and spreadsheet formulas break. runwaystock reads a sales export and a stock count as CSV files, and applies the standard reorder point and safety stock formulas to every SKU. It's an MCP server and a single Go binary, with no account, no API key and no network access.

What you can ask your agent

  • "What do I need to reorder this week, and how much?"
  • "Which products will run out first?"
  • "How much money is tied up in dead stock?"
  • "Which products am I overstocked on?"

Install

As a Claude Code plugin, which adds the MCP server and a skill that tells Claude when to use it. You need Node, which runs the server through npx:

claude plugin marketplace add GillMacedo/runwaystockclaude plugin install runwaystock@runwaystock-marketplace

For other MCP clients:

json
{  "mcpServers": {    "runwaystock": {      "command": "npx",      "args": ["-y", "runwaystock", "serve"]    }  }}

Or build the binary with Go 1.27 or newer:

go install github.com/GillMacedo/runwaystock@latest

Usage

Without installing anything, run npx runwaystock check sales.csv stock.csv. This example uses the made-up files in examples/:

$ go run . check examples/sales.csv examples/stock.csvAs of 2026-09-30, using 90 days of salesORDER NOW        WIDGET-RED: buy 93  costs 418.50  (40 on hand, 2.83 a day, out by 2026-10-14, reorder at 48)OK               MUG-LARGE  (70 on hand, 35 days left)OK               CAP-DEMO  (300 on hand, 51 days left)OVERSTOCKED      WIDGET-BLUE  (120 on hand, 277 days left)OVERSTOCKED      BAG-CANVAS  (500 on hand, 3462 days left)NO RECENT SALES  POSTER-OLD  (60 on hand, worth 120.00)NO RECENT SALES  TSHIRT-UNSOLD  (35 on hand, worth 420.00)NOT IN STOCK FILE  STICKER-NEW sold recentlySKIPPED sales row 3281 to order now, costing 418.50. 540.00 tied up in stock with no recent sales.

Set your own assumptions with --lead 21, --cover 45, --window 60 and --service 99. A lead time in the stock file overrides --lead for that SKU. Add --json for machine-readable output.

How it calculates

safety stock  = z x standard deviation of daily sales x square root of lead daysreorder point = daily sales x lead days + safety stockorder qty     = daily sales x (lead days + cover days) + safety stock - on hand

Daily sales are averaged over calendar days, including days with no sales. Returns reduce demand. Orders round up to any minimum order quantity (MOQ) in the stock file. Service levels of 90, 95 and 99 use z values of 1.28, 1.65 and 2.33.

StatusMeaning
Order nowOn hand is at or below the reorder point
Order soonIt will reach the reorder point within 7 days
OkEnough stock for now
OverstockedMore than 180 days of stock left
No recent salesNo net sales in the window

MCP tools

ToolWhat it does
inventory_checkReturns each SKU's status and order, most urgent first
inventory_inspect_csvShows detected columns and row counts, without row contents

Both are read-only, and neither can place orders. inventory_check returns SKUs and quantities to the MCP client, so they reach whichever AI model you use. The CLI keeps everything on your machine.

FAQ

How do I calculate a reorder point? Use the formula above, or run npx runwaystock check sales.csv stock.csv to do it for every SKU.

Does it work with Shopify, Amazon or WooCommerce? It reads CSV and recognizes common column names such as Lineitem sku and Lineitem quantity, and you can name others with --sales-columns. It doesn't connect to those platforms, and it hasn't been tested on each one's real exports yet.

How much sales history do I need? At least 28 days, or it warns that figures are rough. It uses the last 90 days by default.

Limits

  • It assumes recent sales predict the near future, so it doesn't see seasonality, promotions or growth.
  • Sales lost while out of stock look like low demand, which understates what you'd need.
  • The safety stock formula assumes fairly regular demand and a fixed lead time, so treat results as a starting point and check before buying.
  • It reads CSV only, up to 50 MB, and doesn't handle bundles or unit conversions.
  • So far it has been tested on made-up data, not real exports. If yours fails, please open an issue with the column headers, not your data.

Contributing

Contributions are welcome, from people and from people working with AI agents. See CONTRIBUTING.md. Good first issues:

  • Add column names from more e-commerce platforms and languages
  • Add --out to write a purchase list to a CSV
  • Group the order list by supplier
  • Add a seasonality option that compares with the same period last year
  • Add a plugin icon

AI disclosure

This project was largely generated with Claude Code and reviewed by its maintainer.

About me

I'm Giulliano Macedo, and I build developer tools at GoTech Solutions. Follow along or get in touch:

If runwaystock saved you from a stockout, a star helps others find it.


MIT licensed.

Built by Giulliano Macedo, GoTech Solutions · LinkedIn · X

來源:README.md,提交 3e91907

工具

2

inventory_check

Check stock and reorder points

Works out what to reorder and how much from a sales CSV and a stock CSV, with reorder points, safety stock, stockout dates and dead stock. Use for inventory planning, purchase orders, or finding slow-moving stock. Read-only, and never uses the network. Results include SKUs and quantities from the files, so they reach the model. It can't place orders.

輸入參數limitlead_dayscover_dayssales_path必填stock_path必填date_formatwindow_dayssales_columnsservice_levelstock_columns

inventory_inspect_csv

Inspect a sales or stock CSV

Shows which columns runwaystock detects in a CSV and how many rows it can read, without returning row contents. Use if a file is unfamiliar or a check failed.

輸入參數kind必填path必填

版本歷史

2
  1. v0.2.0最新Nov 1, 2026
  2. v0.1.0Oct 31, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分