服装店库存MCP服务器
基于FastAPI的服装店库存管理应用程序,通过HTTP将操作作为MCP(模型上下文协议)工具公开,并可部署到Azure App Service。
特性
- ✅ 库存管理:查看、添加、更新和删除服装项目
- 📏 尺寸和数量跟踪:管理不同尺寸和库存数量
- 🎯 类别式组织:按服装类别组织项目
- 🌐 web界面:干净、响应迅速的UI,带有库存显示
- 🔧 MCP工具:用于外部集成的HTTP可访问工具
- 📋 MCP URL显示:具有一键复制功能的动态MCP服务器URL
- ☁️ Azure就绪:针对Azure应用服务部署进行了优化
MCP工具可用
该应用程序通过HTTP公开以下MCP工具:
get_inventory()-获取所有有尺寸和数量的服装add_item(name, category, price, sizes)-添加新的服装项目update_item_quantity(item_id, size, quantity)-更新特定尺寸的库存数量get_item_by_id(item_id)-获取特定项目的详细信息search_items(query)-按名称或类别搜索项目
地方发展
先决条件
- Python 3.11+
- 虚拟环境(venv)
设置
- 克隆和设置环境:
cd app-service-python-mcp-inventory
python -m venv .venv
.venv\Scripts\activate # Windows
# or
source .venv/bin/activate # Linux/Mac- 安装依赖项:
pip install -r requirements.txt- 运行应用程序:
python main.py- 访问应用程序:
- Web界面:http://localhost:8000/ - 健康检查:http://localhost:8000/health - MCP端点:http://localhost:8000/mcp - MCP工具:http://localhost:8000/mcp/tools/\*
Azure部署
先决条件
- Azure CLI已安装并登录
- 已安装Azure Developer CLI(azd)
使用AZD进行部署
- 初始化AZD:
azd init- 部署到Azure:
azd up基础设施
部署将创建:
- 应用服务计划:P0V3(高级V3,Linux)
- 应用服务:使用Uvicorn ASGI服务器的Python 3.11运行时
建筑
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Web Browser │────│ FastAPI App │────│ SQLite DB │
│ (Inventory) │ │ (Clothing API) │ │ (Inventory) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
┌──────────────────┐
│ MCP Server │
│ (HTTP Stream) │
└──────────────────┘
│
┌──────────────────┐
│ External Tools │
│ & Integrations │
└──────────────────┘API终点
REST API
GET /api/inventory-列出所有服装项目POST /api/inventory-创建新项目GET /api/inventory/{id}-获取特定项目PUT /api/inventory/{id}-更新项目DELETE /api/inventory/{id}-删除项目
MCP集成
GET /mcp-MCP服务器端点(HTTP流)POST /mcp-MCP协议端点(JSON-RPC 2.0)GET/POST /mcp/tools/get_inventory-直接工具访问POST /mcp/tools/add_item-直接工具访问POST /mcp/tools/update_item_quantity-直接工具访问GET/POST /mcp/tools/get_item_by_id-直接工具访问GET/POST /mcp/tools/search_items-直接工具访问
MCP配置
应用程序在具有环境感知检测的web界面中自动显示MCP服务器URL:
- 地方发展:
http://localhost:8000/mcp - Azure应用服务:
https://your-app-name.azurewebsites.net/mcp
VS代码MCP集成
要将此应用程序用作VS Code中的MCP服务器,请将以下内容添加到您的 .vscode/mcp.json:
{
"servers": {
"clothing-inventory-mcp-server": {
"url": "http://localhost:8000/mcp",
"type": "http"
}
},
"inputs": []
}对于已部署的Azure版本,请将URL替换为您的应用服务URL。
修改示例数据
示例服装项目在 inventory_data.py 文件。您可以通过直接编辑此文件轻松添加、删除或修改项目。数据包括:
- 项目名称、类别和价格
- 可选尺寸(XS、S、M、L、XL等)
- 每种尺寸的库存数量
更新并保存后 inventory_data.py,删除现有 inventory.db。当您启动应用程序时,它将使用最新的库存数据重新创建文件。
许可证
该项目根据MIT许可证获得许可。
