实战教程:用 Claude Code + 闪仓 MCP 实现自然语言仓库管理
一篇完整的实战教程,展示如何配置闪仓 MCP Server 并通过 Claude Code 用自然语言完成查库存、检查预警、创建采购单、审批单据等日常仓库管理操作。包含 mcp.json 配置、对话示例和安全模型说明。
为什么用自然语言管理仓库
传统的 WMS 操作需要在多个页面之间切换:查库存在一个页面,看预警在另一个页面,创建采购单又要跳转到第三个页面。每一步都需要手动填写表单、选择下拉框、点击按钮。
闪仓提供了一个 MCP(Model Context Protocol)Server,让 AI 编程助手可以直接调用 WMS 的全部功能。配合 Claude Code,你可以用一句话完成原本需要十几次点击的操作。
本文是一个完整的实战教程,从配置开始,到完成一个真实的采购补货流程结束。
第一步:安装和登录 fwh
fwh 是闪仓的命令行工具和 MCP Server,一个静态二进制文件,无需额外运行时依赖。
从源码构建(需要 Go 1.22+):
cd flash_warehouse_cli
go build -o ./bin/fwh ./cmd/fwh
ln -sf $(pwd)/bin/fwh ~/.local/bin/fwh
登录你的闪仓账号:
fwh login --user 13800138000
# Password: ********
# logged in as 13800138000 (user_id=1)
重要:MCP Server 要求先在终端登录。这是安全设计 -- 登录信息不会出现在 AI 的对话记录中。
第二步:配置 Claude Code 的 mcp.json
在 ~/.claude/mcp.json 中添加闪仓 MCP Server:
{
"mcpServers": {
"flash-warehouse": {
"command": "/absolute/path/to/fwh",
"args": ["mcp", "--enable-writes"]
}
}
}
如果只需要查询功能,去掉 --enable-writes 参数即可。不带此参数时,MCP Server 只注册 44 个只读工具;加上后扩展到 106 个工具,涵盖所有写入操作。
每个写入工具的描述都以 WARNING: 开头,Claude Code 在调用前会明确提示你确认。
第三步:实战对话 -- 从查库存到完成采购
以下是一个真实的工作流程,展示如何通过自然语言完成日常仓库管理。
对话 1:查看仓库和库存概况
你:帮我看一下现在仓库里有什么货,库存价值多少
Claude Code 会依次调用 warehouse_list 获取仓库列表,然后调用 goods_list 查询商品,再调用 bi_total_value 获取库存总值。你会看到类似这样的输出:
你有 1 个仓库(西固区厂前仓库,ID: 2),其中有 47 种商品,库存总价值为 128,450 元。库存量前三的商品是:可口可乐罐装330ml(500件)、东鹏特饮(300件)、康师傅方便面(200件)。
对话 2:检查库存预警
你:有没有什么商品快缺货了?
Claude Code 调用 alert_overview 获取预警概览:
当前有 3 种商品触发了库存预警:
- 可口可乐罐装330ml(6954767410388):当前库存 45,预警阈值 50
- 农夫山泉550ml:当前库存 20,预警阈值 30
- 百事可乐600ml:当前库存 15,预警阈值 25
建议尽快补货。需要我创建采购单吗?
对话 3:创建采购入库单
你:帮可口可乐和农夫山泉各补 500 件,创建一张采购入库单
Claude Code 调用 purchase_input_create,传入商品列表:
已创建采购入库单,单号 PUR-20260604-001,包含:
- 可口可乐罐装330ml x 500,单价 2.5 元
- 农夫山泉550ml x 500,单价 1.8 元
- 合计金额:2,150 元
单据当前状态为"待审核"。需要我直接审核通过吗?
对话 4:审核单据
你:审核通过
Claude Code 调用 bill_audit,传入单据 ID。这是一个不可逆操作,Claude Code 会先提示你确认:
注意:审核操作将提交库存变更,此操作不可撤销。确认审核单据 PUR-20260604-001?
确认后:
单据 PUR-20260604-001 已审核通过。库存已更新:
- 可口可乐罐装330ml:45 -> 545
- 农夫山泉550ml:20 -> 520
对话 5:确认结果
你:再看一下预警情况
Claude Code 再次调用 alert_overview:
当前只剩 1 种商品处于预警状态:百事可乐600ml(库存 15,阈值 25)。可口可乐和农夫山泉已脱离预警。
安全模型说明
闪仓 MCP Server 的安全设计基于三个核心原则:
登录优先:MCP Server 启动时检查本地 session 文件,没有登录则拒绝启动。AI 无法通过工具调用完成登录,密码不会出现在对话记录中。
租户锁定:binding_user_id 在登录时一次性写入,存储在 Go 的未导出字段中,没有任何 CLI 参数、环境变量或 MCP 工具参数可以覆盖它。每次构建都有自动化测试验证这一不变量。
写入可选:不加 --enable-writes 时,写入工具根本不会注册到 MCP Server 中 -- 工具符号不存在,AI 就无法调用。加上后,每个写入工具的描述都以 WARNING: 开头,触发 AI 的安全推理。
更多可以用自然语言完成的操作
除了上面演示的采购流程,你还可以这样说:
- "帮我看一下今天的销售额和订单数" -- 调用
bi_today_sales_revenue - "创建一个盘点任务,盘西固区厂前仓库" -- 调用
check_task_create - "给可口可乐设置库存预警,低于 100 件就提醒" -- 调用
alert_set_config - "把这张销售报价单转成销售订单" -- 调用
convert_quotation_to_order - "查一下我们欠供应商多少钱" -- 调用
bi_should_pay - "用条码 6954767410388 卖两瓶可乐" -- 调用
pos_sell
闪仓 MCP Server 提供了 44 个只读工具和 62 个写入工具,覆盖了 PC 端的全部功能。完整的工具清单和操作手册见 fwh 项目的 MANUAL.md 文档。