库存管理服务器

一个基于Supabase(PostgreSQL)数据库的Model Context Protocol(MCP)服务器,用于管理库存。

  • by Adiitiir
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Adiitiir/inventory-mcp-server

使用说明

库存MCP服务器

使用Supabase(PostgreSQL)数据库管理库存的模型上下文协议(MCP)服务器。

特性

  • 添加库存:添加或更新包含产品名称、位置和数量的库存项目
  • 删除库存:从特定位置的库存中删除物品
  • 检查库存:查询各地点特定物品的库存水平
  • 列出库存:获取所有库存物品的完整列表

先决条件

  • Python 3.11或更高版本
  • 用项目辅助账户
  • Supabase仪表板中的数据库密码

安装说明

1.安装依赖项

pip install fastmcp psycopg2-binary supabase

或者使用项目文件:

pip install -e .

2.建立数据库

运行简化的数据库设置脚本:

python setup_database_simple.py

这将:

  • 连接到您的Supabase数据库(端口6543-连接池)
  • 创造 inventory 桌子
  • 插入样本数据(4个位置的24个项目)

系统将提示您:

  • 您的Supabase数据库密码

备注:您的Supabase URL和配置已在脚本中设置:

  • 主持人: db.sitomhzoqsoqpkaglxzg.supabase.co
  • 端口: 6543 (连接池)
  • 数据库: postgres
  • 用户: postgres

3.服务器配置

服务器已配置了您的Supabase凭据:

  • 辅助数据库URL: https://sitomhzoqsoqpkaglxzg.supabase.co
  • 数据库密码设置为 root (默认)
  • 端口: 6543 (连接池)

如果需要更改密码,请编辑 inventory-mcp-server.py:

DB_PASSWORD = os.getenv("SUPABASE_DB_PASSWORD", "your_password")

或者设置一个环境变量:

set SUPABASE_DB_PASSWORD=your_password

4.运行服务器

python inventory-mcp-server.py

数据库模式

这 inventory 表具有以下结构(PostgreSQL/Supabase):

  • item_id (VARCHAR(50))-唯一项目标识符
  • product_name (VARCHAR(100))-产品名称
  • location (VARCHAR(50))-位置/仓库名称
  • quantity (INT)-库存数量
  • 主键:(item_id, location)

可用工具

add_inventory

添加或更新库存项目。

参数:

  • item_id (str):项目的唯一标识符
  • product_name (str):产品名称
  • location (str):位置/仓库名称
  • quantity (int):要添加的数量

退货: 确认消息

remove_inventory

从库存中删除项目。

参数:

  • item_id (str):项目标识符
  • location (str):位置/仓库名称
  • quantity (int):要删除的数量

退货: 确认消息

check_stock

检查某个位置特定商品的库存水平。

参数:

  • item_id (str):项目标识符
  • location (str):位置/仓库名称

退货: 当前库存水平的项目详细信息

list_inventory

列出所有库存项目。

退货: 所有库存物品及其详细信息的列表

样品数据

安装脚本包括以下示例数据:

  • 笔记本电脑(LAP-001至LAP-006)
  • 移动电话(MOB-001至MOB-006)
  • 片剂(TAB-001至TAB-006)
  • 配件(ACC-001至ACC-006)

物品分布在班加罗尔、孟买、德里和浦那等地。

故障排除

Supabase连接问题

  1. 验证数据库密码:

    • 首选https://supabase.com/dashboard/project/sitomhzoqsoqpkaglxzg/settings/database
    • 检查或重置数据库密码
  2. 检查连接设置:

    • 默认端口: 6543 (连接池-推荐)
    • 备选方案: 5432 (直接连接)
    • 确保SSL已启用(sslmode=require)
  3. IP允许列表:

    • 检查Supabase仪表板>设置>数据库>连接池
    • 确保您的IP被允许或使用“允许所有IP”进行开发
  4. 测试连接:

    python test_connection.py
    

导入错误

如果遇到导入错误,请确保安装了所有依赖项:

pip install --upgrade fastmcp psycopg2-binary supabase

许可证

本项目按原样提供,用于教育和发展目的。