runwaystock について
runwaystockは、小売業者や小規模事業者向けに販売・在庫CSVを分析し、補充計画を支援するMCPサーバー兼ローカルCLIです。標準的な計算式で発注点、数量、在庫日数を算出します。
主な機能
- 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:販売データと在庫ファイルから再発注点を計算
何をいつ再発注すべきか、どれだけ仕入れるべきか、各商品の在庫がいつ切れるか、売れ残り在庫にどれだけ資金が滞留しているかを把握できます。スプレッドシートで在庫を管理するECストア、小売業者、小規模事業者向けです。
在庫計画ソフトウェアは高額で、スプレッドシートの数式は壊れがちです。runwaystock は販売データのエクスポートと在庫数をCSVファイルとして読み込み、すべてのSKUに標準的な再発注点と安全在庫の計算式を適用します。MCP サーバーであり、単一のGoバイナリとして動作します。アカウントもAPIキーもネットワーク接続も必要ありません。
エージェントに依頼できること
- 「今週、何をどれだけ再発注する必要がありますか?」
- 「どの商品から先に在庫切れになりますか?」
- 「売れ残り在庫にどれだけ資金が滞留していますか?」
- 「どの商品を過剰に在庫していますか?」
インストール
Claude Codeプラグインとしてインストールすると、MCP サーバーと、いつ使うべきかをClaudeに伝えるスキルが追加されます。npx でサーバーを実行するため、Nodeが必要です。
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個、1日あたり2.83個、2026-10-14に在庫切れ、再発注点48個)
OK MUG-LARGE (在庫70個、残り35日分)
OK 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 × 日次販売数の標準偏差 × リード日数の平方根
再発注点 = 日次販売数 × リード日数 + 安全在庫
発注数量 = 日次販売数 ×(リード日数 + 補充日数)+ 安全在庫 − 手持ち在庫
日次販売数は、販売のない日も含む暦日で平均します。返品は需要を減らします。発注数量は、在庫ファイルにある最小発注数量(MOQ)単位で切り上げます。サービスレベル90、95、99には、それぞれz値1.28、1.65、2.33を使用します。
| ステータス | 意味 |
|---|---|
| 今すぐ発注 | 手持ち在庫が再発注点以下です |
| まもなく発注 | 7日以内に再発注点に達します |
| OK | 現時点では十分な在庫があります |
| 過剰在庫 | 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 エージェントと協働する方も、貢献を歓迎します。CONTRIBUTING.md をご覧ください。初めての貢献におすすめの issue:
- ほかの E コマースプラットフォームや言語の列名を追加する
- CSV に購入リストを書き出す
--outを追加する - 発注リストを仕入先ごとにグループ化する
- 前年の同じ期間と比較する季節性オプションを追加する
- プラグインアイコンを追加する
プルリクエストの流れ
- PR を作成します。 リポジトリをフォークし、ブランチで作業して、変更は1つに絞ってください。変更内容がユーザーにどう影響するかを示すタイトルを付けてください。タイトルは変更履歴の項目になるため、
feat:は Added に、fix:は Fixed に分類されます。 - 自動チェック。 コード変更にはテストが必要で、
make testが成功しなければなりません。30行を超える変更には、関連する未クローズの issue(Closes #<number>)が必要です。また、PR の変更行数は最大800行です。不足がある場合は、修正箇所を示すコメントが付きます。 - レビュー。 Claude が各 PR を自動でレビューします。コードの PR にはセキュリティレビューも行われ、サンドボックスでテストされます。その後、レビュー担当者が PR をマージするか、修正を依頼します。CI、エージェントの設定、npm または Python の依存関係、ベンダーコード、ビルドファイルを変更する PR は、この方法ではマージできません。その旨を伝えるコメントが付きます。セキュリティレビューで承認されなかったものも同様です。
- リリース。 ユーザーがインストールするものに変更を加えるマージは、約2時間以内に新しいバージョンとしてリリースされ、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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。