MCP Product Management System
A comprehensive Model Context Protocol (MCP) server for product inventory management with PostgreSQL database backend, enabling natural language queries for product information across multiple AI platforms.
README
🛍️ MCP Product Management System
A comprehensive Model Context Protocol (MCP) server for product inventory management with PostgreSQL database backend, Docker containerization, and multiple AI platform integrations.
🎯 System Overview
This system provides a sophisticated product management platform with:
- 9,739 products across multiple categories
- 9 advanced MCP tools with Django-style filtering
- PostgreSQL database with Docker containerization
- Multi-platform AI integration (Claude Desktop, Ollama, Perplexity)
- Advanced filtering & pagination capabilities
- Natural language query processing
🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Claude Desktop│ │ MCP Inspector │ │ Ollama │ │ Perplexity │
│ │ │ │ │ Bridge │ │ Local │
└─────────┬───────┘ └─────────┬────────┘ └─────────┬───────┘ └─────────┬───────┘
│ │ │ │
└──────────────────────┼───────────────────────┼──────────────────────┘
│ │
┌────────────┴───────────┐ │
│ Local MCP Server │ │
│ (local_mcp_server.py) │ │
│ • 9 Advanced Tools │ │
│ • Django Filtering │ │
│ • Pagination │ │
└────────────┬───────────┘ │
│ │
┌────────────┴───────────┐ │
│ Docker MCP Server │ │
│ (mcp_server.py) │ │
│ • Container-based │ │
└────────────┬───────────┘ │
│ │
┌────────────┴───────────┐ │
│ PostgreSQL DB │◄─────────-┘
│ • 9,739 products │ Direct Connection
│ • Full-text search │ (ollama_mcp_bridge.py)
│ • Advanced indexes │
└────────────────────────┘
🛠️ Setup & Installation
Prerequisites
- Docker & Docker Compose
- Python 3.10+ (required for MCP library)
- Node.js (for MCP Inspector)
- Ollama (optional, for Ollama integration)
🔍 Python Version Check
# Check your Python version first
python3 --version
# If you have Python < 3.10, you need to upgrade or use a different Python version
# On macOS with Homebrew:
# brew install python@3.11
# On Ubuntu/Debian:
# sudo apt update && sudo apt install python3.11
# On Windows: Download from python.org
1. Clone & Setup
git clone https://github.com/pysorflow/mcpdemo.git
cd mcpdemo
# Create Python virtual environment (use Python 3.10+)
python3 -m venv venv
source venv/bin/activate # On macOS/Linux
# venv\Scripts\activate # On Windows
# If python3 is too old, try specific version:
# python3.11 -m venv venv
# python3.10 -m venv venv
# Install dependencies
pip install -r requirements.txt
2. Start Docker Services
# Start PostgreSQL database
docker-compose up -d
# Verify services are running
docker-compose ps
3. Import Product Data
# Import 9,739 products into database
python import_products.py
4. Test System
# Run comprehensive tests
python test.py
🔧 Available MCP Tools
Core Tools
get_product- Get detailed product information by SKUlist_products- List products with optional category filteringsearch_products- Basic search across product fieldsadvanced_search_products- Comprehensive search with filteringupdate_stock- Update product stock levels
Advanced Tools
-
filter_products- Django-style filtering with pagination- Field lookups:
category__icontains,stock__gte,price__lte, etc. - Sorting:
["-stock", "title"] - Pagination:
page,page_size
- Field lookups:
-
get_categories- List all product categories and subcategories -
get_low_stock_products- Find products with low inventory -
get_filter_stats- Get filtering statistics and breakdowns
Django-Style Filter Examples
{
"filters": {
"category__icontains": "shirt",
"color__icontains": "blue",
"stock__gte": 50,
"price__lte": 25.00,
"size__in": ["L", "XL"]
},
"ordering": ["-stock", "price"],
"page": 1,
"page_size": 20
}
🖥️ Platform Integration
1. MCP Inspector (Testing & Development)
Setup & Run
# Install MCP Inspector globally
npm install -g @modelcontextprotocol/inspector
# Start local MCP server + Inspector
npx @modelcontextprotocol/inspector python local_mcp_server.py
Usage
- URL: Opens automatically in browser (usually
http://localhost:5173) - Features: Test all 9 tools, view JSON schemas, debug responses
- Best for: Development, testing, debugging MCP tools
2. Claude Desktop Integration
Setup Configuration
-
Locate Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add MCP server configuration:
{
"mcpServers": {
"product-manager": {
"command": "/Users/arunss/Documents/myroot/mcpdemo/run_mcp_server.sh",
"args": []
}
}
}
- Make shell script executable:
chmod +x run_mcp_server.sh
Usage
- Restart Claude Desktop after config changes
- Natural language queries: "Show me blue shirts under $20 with good stock"
- Complex filtering: "Find size XL products sorted by price"
- Business queries: "What are our top categories by inventory?"
Example Queries
- "Give me details of SKU 120715"
- "Show products with more than 1000 units in stock"
- "What black items do we have from Gildan warehouse?"
- "Filter polo shirts with prices between $15 and $30"
3. Ollama Integration
Setup Ollama
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Download recommended models
ollama pull qwen2.5:7b-instruct # Best for natural language
ollama pull llama3.2:1b # Fastest, lightweight
ollama pull llama3.1:8b # Balanced performance
Run Ollama Bridge
# Start enhanced Ollama bridge
python ollama_mcp_bridge.py
Features
- Model selection at startup
- Natural language processing with LLM-based query parsing
- Advanced filtering through conversational interface
- Statistics commands:
stats,examples,models
Usage Example
💬 Your question [qwen2.5:7b-instruct]: Show me blue shirts under $20 with good stock
🔍 Analyzing: 'Show me blue shirts under $20 with good stock'
🎯 Initial classification: ADVANCED_FILTER
🤖 LLM filter analysis: {"filters": {"color__icontains": "blue", "category__icontains": "shirt", "price__lte": 20, "stock__gte": 50}, "ordering": ["-stock"], "page_size": 10}
📊 Data retrieved: 1247 characters
🤖 Answer:
Based on your search for blue shirts under $20 with good stock, I found several excellent options...
4. Perplexity Local Integration
Setup
- Install Perplexity Desktop or use Perplexity API
- Configure MCP connection in Perplexity settings
- Add server endpoint:
{
"mcp_servers": {
"product_manager": {
"type": "local",
"command": "python",
"args": ["/Users/arunss/Documents/myroot/mcpdemo/local_mcp_server.py"],
"working_directory": "/Users/arunss/Documents/myroot/mcpdemo"
}
}
}
Usage
- Research queries: "Analyze our product inventory distribution"
- Business intelligence: "What's our stock situation across categories?"
- Data exploration: "Show me patterns in our product pricing"
📋 Usage Workflows
Development Workflow
- Start Docker:
docker-compose up -d - Test with Inspector:
npx @modelcontextprotocol/inspector python local_mcp_server.py - Debug tools, test filters, verify responses
- Deploy to AI platforms
Production Workflow
- Docker services running:
docker-compose up -d - Claude Desktop configured with shell script
- Ollama bridge available for advanced NLP
- Multiple access points for different use cases
Business User Workflow
- Open Claude Desktop
- Ask natural language questions:
- "What's our inventory status?"
- "Show me slow-moving products"
- "Find products that need restocking"
- Get instant, detailed responses
🔍 Sample Questions & Use Cases
Basic Queries
- "Give me details of product SKU 120715"
- "List all T-shirt categories we have"
- "Show me products with low stock"
Advanced Filtering
- "Show blue shirts under $20 with good stock levels"
- "Find size XL products sorted by price ascending"
- "What black items do we have from Gildan warehouse?"
Business Intelligence
- "What are our top 5 categories by product count?"
- "Show me inventory distribution across warehouses"
- "Which products have the highest stock levels?"
Inventory Management
- "Products with more than 1000 units in stock"
- "Show items that are running low on inventory"
- "What's our most expensive product in each category?"
Complex Analysis
- "Filter polo shirts with prices between $15 and $30"
- "Show me all products from Hanes with sizes L and XL"
- "Find products with zero stock sorted by category"
🧪 Testing
Run Test Suite
python test.py
Test Individual Components
# Test database connection
python -c "import psycopg2; print('DB OK')"
# Test MCP server
python local_mcp_server.py
# Test Ollama bridge
python ollama_mcp_bridge.py
Verification Checklist
- ✅ Docker services running (
docker-compose ps) - ✅ Database populated (9,739 products)
- ✅ MCP tools functional (test.py passes)
- ✅ Claude Desktop integration working
- ✅ Ollama models available
📁 File Structure
mcpdemo/
├── 📄 README.md # This comprehensive guide
├── 🐳 docker-compose.yml # Docker services configuration
├── 🐳 Dockerfile # MCP server container
├── 📋 requirements.txt # Python dependencies
├── 🛠️ local_mcp_server.py # Main MCP server (9 tools)
├── 🛠️ mcp_server.py # Docker-based MCP server
├── 🤖 ollama_mcp_bridge.py # Enhanced Ollama integration
├── 📊 import_products.py # Data import script
├── 🧪 test.py # Comprehensive test suite
├── 📝 sample_questions.txt # 25 sample questions + examples
├── ⚙️ run_mcp_server.sh # Claude Desktop shell script
├── ⚙️ claude_desktop_config.json # Claude Desktop configuration
├── 📦 products-master.csv # Product data (9,739 items)
└── 📁 venv/ # Python virtual environment
⚠️ Troubleshooting
Common Issues
1. Database Connection Failed
# Check Docker services
docker-compose ps
# Restart if needed
docker-compose down && docker-compose up -d
2. Python Version Error (MCP requires Python 3.10+)
# Check your Python version
python3 --version
# If version is < 3.10, upgrade Python:
# macOS (Homebrew): brew install python@3.11
# Ubuntu/Debian: sudo apt install python3.11
# Windows: Download from python.org
# Create virtual environment with correct Python version
python3.11 -m venv venv # or python3.10
source venv/bin/activate
pip install -r requirements.txt
3. MCP Server Not Starting
# Check Python environment
source venv/bin/activate
pip install -r requirements.txt
4. Claude Desktop Not Connecting
- Verify config file path
- Check shell script permissions:
chmod +x run_mcp_server.sh - Restart Claude Desktop after config changes
5. Ollama Models Not Found
# List available models
ollama list
# Download missing models
ollama pull qwen2.5:7b-instruct
🚀 Advanced Features
Django-Style Filtering
- Field lookups:
__icontains,__exact,__gte,__lte,__in - Pagination: Automatic with page/page_size
- Sorting: Multi-field with direction control
- Global search: Across all text fields
Natural Language Processing
- LLM-powered query parsing in Ollama bridge
- Intent classification for optimal tool selection
- Fallback strategies for complex queries
- Context-aware responses
Performance Optimizations
- Database indexes on key fields
- Connection pooling for high-load scenarios
- Query optimization for large datasets
- Efficient pagination with offset/limit
📈 Statistics
- Total Products: 9,739
- Categories: 15+ major categories
- MCP Tools: 9 advanced tools
- Database: PostgreSQL 16
- Docker Services: 2 containers
- AI Platforms: 4 integrations
- Filter Options: 16 Django-style filters
- Status: ✅ FULLY OPERATIONAL
🎯 Next Steps
- Explore Sample Questions: Check
sample_questions.txtfor 25 comprehensive examples - Customize Tools: Modify MCP tools for your specific needs
- Scale Database: Add more products or customize schema
- Extend AI Integration: Add more AI platforms or models
- Build Applications: Use MCP protocol for custom applications
🎉 Your MCP Product Management System is ready for production use!
Last updated: August 2025 System tested and verified across all platforms
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。