库存管理MCP服务器

InvenTree MCP Server是一个为InvenTree库存管理系统提供12个参数化工具的MCP服务器,涵盖零件、库存、订单、公司管理等117种操作。

  • by hvkshetry
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 puran-water/inventree-mcp

使用说明

InvenTree MCP服务器

MCP服务器 发明树 库存管理。提供12个参数化工具,涵盖零件、库存、构建订单、采购/销售/退货订单、公司、条形码、标签、报告、附件和系统管理的117个操作。

需求

  • Python 3.11+
  • 紫外线 (推荐)或pip
  • 已启用API访问的InvenTree实例
  • API令牌(从InvenTree>设置>API令牌生成)

设置

# Clone the repository
git clone https://github.com/puran-water/inventree-mcp.git
cd inventree-mcp

# Copy the example environment file and fill in your values
cp .env.example .env

# Install dependencies
uv sync

编辑 .env 使用您的InvenTree实例URL和API令牌:

INVENTREE_URL=https://your-inventree-instance.example.com
INVENTREE_TOKEN=your-api-token-here

用法

STDIO模式(默认)

uv run python server.py

SSE模式(HTTP传输)

uv run python server.py sse --port 3074

克劳德桌面/MCP客户端配置

添加到MCP客户端配置中(例如。 ~/.claude/mcp.json):

{
  "mcpServers": {
    "inventree-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/inventree-mcp", "python", "server.py"],
      "env": {
        "INVENTREE_URL": "https://your-inventree-instance.example.com",
        "INVENTREE_TOKEN": "your-api-token-here"
      }
    }
  }
}

或者对于SSE运输:

{
  "mcpServers": {
    "inventree-mcp": {
      "url": "http://localhost:3074/sse"
    }
  }
}

工具

每个工具都使用参数化 operation 字段以选择特定操作。

工具 操作 说明
part 21 零件和类别管理(列表、获取、创建、更新、删除、BOM、供应商、参数)
stock 16 库存物品和位置管理(列表、获取、创建、转移、计数、添加、删除)
build_order 9 制造构建订单(列表、获取、创建、更新、分配、完成、取消)
purchase_order 12 采购订单生命周期(列表、获取、创建、更新、发布、接收、完成)
sales_order 14 销售订单生命周期(列表、获取、创建、发货、分配)
return_order 8 退货订单管理
company 12 供应商、制造商、客户、联系人、地址
barcode 4 条形码扫描、分配、取消分配、查找
label 5 标签模板列表和打印
report 3 报告模板列表和生成
attachment 5 任何对象上的文件附件(上传、下载、删除)
system 8 运行状况、版本、设置、用户、组、货币

建筑

  • server.py --配备12个参数化工具和双传输(STDIO/SSE)的FastMCP服务器
  • client.py --异步适配器封装官方 发明python 图书馆via asyncio.to_thread() 具有用于并发控制的信号量

这 inventree-python 库是同步的(基于请求)。所有调用都被卸载到线程,以保持与MCP框架的异步兼容性。

许可证

麻省理工学院