库存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_password4.运行服务器
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连接问题
- 验证数据库密码:
- 首选https://supabase.com/dashboard/project/sitomhzoqsoqpkaglxzg/settings/database - 检查或重置数据库密码
- 检查连接设置:
- 默认端口: 6543 (连接池-推荐) - 备选方案: 5432 (直接连接) - 确保SSL已启用(sslmode=require)
- IP允许列表:
- 检查Supabase仪表板>设置>数据库>连接池 - 确保您的IP被允许或使用“允许所有IP”进行开发
- 测试连接:
python test_connection.py导入错误
如果遇到导入错误,请确保安装了所有依赖项:
pip install --upgrade fastmcp psycopg2-binary supabase许可证
本项目按原样提供,用于教育和发展目的。
