关于 runwaystock
runwaystock 是面向零售商和小型企业的 MCP 服务及本地命令行工具,可分析销售和库存 CSV,辅助补货。它使用标准公式计算补货点、订购量和库存可售天数。
主要功能
- 01计算补货点和订购量
- 02估算缺货日期
- 03标记库存过多及近期无销量商品
- 04读取并检查销售和库存 CSV
适用场景
- 01规划商品补货品类和时间
- 02查找积压在滞销商品中的资金
MCP 相关
提供只读工具,用于检查 SKU 库存状态以及 CSV 列和行数;不会下单。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | null|integer | 否 | 返回的最多 SKU 数,按紧急程度从高到低排列,默认为 100。0 表示仅返回汇总 |
| lead_days | null|number | 否 | 从下单到收货的天数,默认为 14。库存文件中的提前期会覆盖此值 |
| cover_days | null|number | 否 | 每次订货应覆盖的销售天数,默认为 30 |
| sales_path | string | 是 | 销售或订单 CSV 的路径 |
| stock_path | string | 是 | 库存盘点 CSV 的路径 |
| date_format | string | 否 | dmy 或 mdy,仅在工具报告日期有歧义时需要 |
| window_days | null|integer | 否 | 使用近期销售数据的天数,默认为 90 |
| sales_columns | object | 否 | 检测失败时,按字段指定列名(date、sku、qty) |
| service_level | null|integer | 否 | 提前期内不断货的概率:90、95 或 99,默认为 95 |
| stock_columns | object | 否 | 检测失败时,按字段指定列名(sku、qty、lead、cost、moq) |
详细介绍
runwaystock:根据销售和库存文件计算库存补货点
了解需要补货的商品、采购数量、每种商品的售罄时间,以及滞销库存占用了多少资金。适用于使用电子表格规划库存的电商商店、零售商和小型企业。
库存规划软件价格昂贵,而电子表格公式又容易出错。runwaystock 会读取销售导出文件和库存盘点 CSV 文件,并将标准的补货点和安全库存公式应用于每个 SKU。它既是 MCP 服务,也是一个独立的 Go 二进制文件,无需账户、API 密钥,也无需访问网络。
可以向你的 Agent 提出哪些问题
- “我本周需要补什么货,补多少?”
- “哪些商品会最先售罄?”
- “滞销库存占用了多少资金?”
- “哪些商品库存过多?”
安装
作为 Claude Code 插件安装,可添加 MCP 服务和一项技能,告诉 Claude 何时使用它。你需要安装 Node,以便通过 npx 运行服务:
claude plugin marketplace add GillMacedo/runwaystock
claude plugin install runwaystock@runwaystock-marketplace
对于其他 MCP 客户端:
{
"mcpServers": {
"runwaystock": {
"command": "npx",
"args": ["-y", "runwaystock", "serve"]
}
}
}
或者使用 Go 1.27 或更高版本构建二进制文件:
go install github.com/GillMacedo/runwaystock@latest
用法
无需安装任何内容,即可运行 npx runwaystock check sales.csv stock.csv。此示例使用 examples/ 中的虚构文件:
$ go run . check examples/sales.csv examples/stock.csv
截至 2026-09-30,使用 90 天的销售数据
立即订购 WIDGET-RED:采购 93 件,成本 418.50(现有 40 件,日销量 2.83 件,将于 2026-10-14 售罄,补货点为 48 件)
正常 MUG-LARGE(现有 70 件,剩余 35 天库存)
正常 CAP-DEMO(现有 300 件,剩余 51 天库存)
库存过多 WIDGET-BLUE(现有 120 件,剩余 277 天库存)
库存过多 BAG-CANVAS(现有 500 件,剩余 3462 天库存)
近期无销售 POSTER-OLD(现有 60 件,价值 120.00)
近期无销售 TSHIRT-UNSOLD(现有 35 件,价值 420.00)
不在库存文件中 STICKER-NEW 近期有售出
已跳过销售数据第 328 行
立即订购 1 件商品,成本为 418.50。无近期销售记录的库存占用资金 540.00。
使用 --lead 21、--cover 45、--window 60 和 --service 99 设置自己的参数。库存文件中的交货期会覆盖该 SKU 的 --lead 值。添加 --json 可输出机器可读的数据。
计算方式
安全库存 = z x 日销量标准差 x 交货天数的平方根
补货点 = 日销量 x 交货天数 + 安全库存
订购数量 = 日销量 x(交货天数 + 覆盖天数)+ 安全库存 - 现有库存
日销量按日历日计算平均值,包括没有销售的日期。退货会减少需求。订购数量会向上取整至库存文件中设置的最低订购量(MOQ)。服务水平 90、95 和 99 分别使用 z 值 1.28、1.65 和 2.33。
| 状态 | 含义 |
|---|---|
| 立即订购 | 现有库存小于或等于补货点 |
| 即将订购 | 将在 7 天内达到补货点 |
| 正常 | 当前库存充足 |
| 库存过多 | 库存剩余天数超过 180 天 |
| 近期无销售 | 统计时段内无净销售额 |
MCP 工具
| 工具 | 功能 |
|---|---|
inventory_check | 返回每个 SKU 的状态和订单,并按紧急程度排序 |
inventory_inspect_csv | 显示检测到的列和行数,不包含行内容 |
两者均为只读工具,且都不能下单。inventory_check 会将 SKU 和数量返回给 MCP 客户端,因此这些数据会传至你使用的 AI 模型。CLI 会将所有内容保留在你的设备上。
常见问题
如何计算补货点? 使用上面的公式,或运行 npx runwaystock check sales.csv stock.csv,即可计算所有 SKU 的补货点。
它支持 Shopify、Amazon 或 WooCommerce 吗? 它会读取 CSV,并识别常见列名,例如 Lineitem sku 和 Lineitem quantity;你也可以通过 --sales-columns 指定其他列名。它不会连接这些平台,目前也尚未使用各平台的实际导出文件进行测试。
需要多少销售历史数据? 至少需要 28 天,否则它会提示数据较粗略。默认使用最近 90 天的数据。
限制
- 它假设近期销售情况能够预测近期未来,因此无法识别季节性、促销或增长。
- 缺货期间流失的销售会被视为低需求,导致所需库存量被低估。
- 安全库存公式假设需求相对稳定且交货周期固定,因此请将结果视为起点,并在采购前进行核查。
- 它仅读取 CSV,文件大小上限为 50 MB,且不支持组合商品或单位换算。
- 目前只使用虚构数据进行了测试,尚未使用实际导出文件测试。如果你的文件处理失败,请提交 issue,并附上列标题,而不是数据。
贡献
欢迎大家贡献,包括与 AI Agent 协作的人。请参阅 CONTRIBUTING.md。适合新手的 issue:
- 添加更多电商平台和语言的列名
- 添加
--out,将采购清单写入 CSV - 按供应商对订单列表分组
- 添加季节性选项,与去年同期进行比较
- 添加插件图标
Pull request 的处理流程
- 创建 PR。 Fork 仓库,在分支上进行开发,并且只提交一项更改。编写能说明用户会看到什么变化的标题,因为它会成为变更日志条目:
feat:归入 Added,fix:归入 Fixed。 - 自动检查。 代码更改需要附带测试,且
make test必须通过。超过 30 行的更改需要关联一个已打开的 issue(Closes #<number>),PR 的更改行数最多为 800 行。如果缺少内容,评论会告诉你需要修复什么。 - 审核。 Claude 会自动审核每个 PR。代码 PR 还会接受安全审核,并在沙盒中进行测试。之后,审核流程会合并 PR 或要求修改。涉及 CI、Agent 设置、npm 或 Python 依赖、供应商代码或构建文件的 PR 无法通过此流程合并,评论会说明原因。安全审核未通过的更改也同样无法合并。
- 发布。 会更改用户安装内容的合并操作,将在大约两小时内发布为新版本,并附带 GitHub Release;如果项目有 npm 包,也会一并发布。文档和 CI 更改会等到下一次发布。
AI 使用说明
本项目主要由 Claude Code 生成,并由维护者审核。
关于我
我是 Giulliano Macedo,在 GoTech Solutions 开发开发者工具。欢迎关注或联系我:
- GitHub:GillMacedo
- LinkedIn:giulliano
- X:@giumacedo
如果 runwaystock 帮你避免了缺货,点个星有助于其他人发现它。
采用 MIT 许可证。
由 Giulliano Macedo、GoTech Solutions 构建 · LinkedIn · X
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。