E-commerce Chatbot with MCP Server (Model Context Protocol)
This project refactors your existing LangChain + FAISS vector database e-commerce chatbot to use MCP (Model Context Protocol) server for real-time product data access.
Key Changes
Removed:
- FAISS vector database and embeddings
- Static JSON file loading
- Vector similarity search
Added:
- MCP Server for MongoDB integration
- Real-time product queries
- Structured database operations
- MongoDB text search indexing
Features
- Real-time Data: Always up-to-date product information
- Structured Queries: Price range, category filtering
- Product Recommendations: Based on category and price similarity
- Text Input: Supports text queries
- Session Management: Maintains conversation context
- Coreference Resolution: Handles pronouns and references
Setup
- Install dependencies:
pip install -r requirements.txt
-
Set up environment variables in
.env -
Start MongoDB:
docker-compose up mongodb -d
- Run the application:
uvicorn main:app --reload
API Endpoints
POST /api/v1/chat/- Text-based chat
Benefits of MCP Integration
- Real-time Inventory: Always current stock levels
- Complex Queries: Price ranges, category filters
- Better Performance: Optimized database queries
- Scalability: Direct MongoDB connection
- Flexibility: Easy to extend with new query types
The MCP server provides a clean abstraction layer between your LLM and database, enabling more sophisticated product queries while maintaining the conversational interface your users expect.
