inFlow Inventory MCP Server
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个基于 MCP 的后端服务器,聚合并暴露 inFlow Inventory 的丰富 API,用于向 AI 助手提供库存、订单、客户、供应商、仓储等数据的上下文和功能入口。
-
主要功能点
- 提供资源与数据访问能力:覆盖产品、销量单、采购单、客户、供应商、库存操作、参考数据等。
- 注册并暴露工具接口:包含产品管理、销售/采购订单、库存操作、运输、库存计数、制造工单、地点、分类、货币、税码、Webhook 等工具组。
- 提供会话与能力声明:通过 MCP 服务实例化并对外提供工具集合,便于 LLM 调用。
- 支持标准传输:当前使用标准输入/输出(Stdio)传输通道,其他传输如 SSE、WebSocket 也可扩展。
- 与 inFlow API 的速率限制与重试:内置限流、自动重试、超时与错误处理。
-
安装步骤
- 确保 Node.js 版本为 18 及以上。
- 将仓库代码获取到本地环境(克隆或下载)。
- 安装依赖并构建:
- 安装依赖并构建(在根目录执行 npm install 和 npm run build)。
- 启动服务器(npm start,或直接使用 node dist/index.js 运行打包后的文件)。
- 运行前的环境变量配置(必填与可选项详见下一节)。
-
服务器配置(MCP 客户端启动配置示例,供 MCP 客户端配置使用,不需要嵌入代码) 配置示例(JSON,供 MCP 客户端在启动时读取): { "serverName": "inflow-inventory", "command": "node", "args": ["dist/index.js"], "env": { "INFLOW_COMPANY_ID": "your-company-id", "INFLOW_API_KEY": "your-api-key", "INFLOW_BASE_URL": "https://cloudapi.inflowinventory.com", "INFLOW_API_VERSION": "2025-06-24", "INFLOW_RATE_LIMIT": "60", "INFLOW_REQUEST_TIMEOUT": "30000", "INFLOW_MAX_RETRIES": "3", "INFLOW_RETRY_DELAY": "1000", "INFLOW_DEBUG": "true" } } 说明:
- serverName 对应 MCP 服务器的名字(在代码中为 inflow-inventory)。
- command 与 args 指向服务器入口文件的执行命令和路径(dist/index.js 为打包后的入口)。
- env 提供在服务器运行时需要的环境变量,确保 INFLOW_COMPANY_ID 与 INFLOW_API_KEY 为必填项,否则服务器启动会抛错。
- 其他可选变量可以根据需要启用调试、调整速率限制、超时和重试策略。
-
基本使用方法
- 启动服务器:在具备环境变量配置的环境中执行启动命令,服务器会建立 MCP 服务实例并通过 Stdio 传输接收来自客户端的请求。
- 客户端连接方式:使用 Claude Desktop 等 MCP 客户端,通过上面的配置将本服务器注册为一个可用的 MCP 服务,客户端即可通过 JSON-RPC 请求调用工具、获取资源和执行操作。
- 常用操作:通过工具名称(如 list_products、get_product、upsert_purchase_order 等)向服务器发起请求,服务器通过 inFlow API 完成实际操作并将结果返回给客户端。
- 调试与日志:如果 INFLOW_DEBUG 设置为 true,服务器会输出详细日志以帮助排错。