Amazon Product Search
Un servidor impulsado por IA para la búsqueda y recomendación de productos de Amazon.
Documentación
Servidor MCP de Amazon Product Search
El sitio está en vivo aquí! : https://shopassist-sharavana.streamlit.app/
Un servidor MCP (Model Context Protocol) que proporciona búsqueda de productos de Amazon y recomendaciones impulsadas por IA usando FastMCP.
Características
- 🔍 Búsqueda inteligente de productos con la API de Amazon
- 🤖 Recomendaciones de productos impulsadas por IA usando Hugging Face
- 💰 Filtrado por rango de precios
- 📋 Coincidencia basada en características
- 🎯 Recomendaciones personalizadas para pequeñas y medianas empresas
Instalación
- Clona este repositorio y navega al directorio del proyecto
- Instala las dependencias:
# Using uv (recommended) uv sync # Or using pip pip install -r requirements.txt
Configuración del Servidor
Ejecutando el Servidor MCP
# Activate your virtual environment
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Run the server
python main.py
El servidor expone una herramienta principal:
getdata: Busca productos de Amazon con recomendaciones de IA
Opciones de Cliente
Proporcionamos múltiples implementaciones de cliente para interactuar con tu servidor MCP:
1. Cliente Interactivo de Python (client.py)
Un cliente de Python completo con ejemplos y modo interactivo.
python client.py
Características:
- Ejemplos preconstruidos (portátiles, teléfonos inteligentes)
- Modo de búsqueda interactivo
- Comunicación en tiempo real con el servidor MCP
2. Interfaz de Línea de Comandos (cli_client.py)
Búsquedas rápidas desde la línea de comandos para automatización y scripting.
# Basic search
python cli_client.py "laptop"
# With features and price range
python cli_client.py "laptop" --features "8GB RAM, SSD storage" --min-price 30000 --max-price 80000
# Smartphone search
python cli_client.py "smartphone" --features "good camera, 5G" --min-price 15000 --max-price 50000
Argumentos:
product: Producto a buscar (obligatorio)--features,-f: Características específicas a buscar--min-price,-min: Precio mínimo en rupias--max-price,-max: Precio máximo en rupias
3. Interfaz Web (web_client.py)
Una interfaz web atractiva con backend de API REST.
# Install additional dependencies
pip install fastapi uvicorn
# Run the web server
python web_client.py
Luego abre http://localhost:8000 en tu navegador para una interfaz fácil de usar.
Endpoints de API:
GET /: Interfaz webPOST /search: API REST para búsqueda de productosGET /health: Verificación de salud
4. Integración con MCP CLI
También puedes usar la CLI de MCP para interactuar con tu servidor:
# Install MCP CLI if not already installed
pip install mcp
# Connect to your server
mcp connect stdio -- python main.py
Ejemplos de Uso
Ejemplo 1: Búsqueda de Portátil
{
"product": "laptop",
"specific_features": "8GB RAM, SSD storage, good for programming",
"min_price": 30000,
"max_price": 80000
}
Ejemplo 2: Búsqueda de Teléfono Inteligente
{
"product": "smartphone",
"specific_features": "good camera, long battery life, 5G support",
"min_price": 15000,
"max_price": 50000
}
Ejemplo 3: Auriculares Económicos
{
"product": "wireless headphones",
"specific_features": "noise cancellation, comfortable",
"min_price": 1000,
"max_price": 5000
}
Configuración
Claves de API Requeridas
Asegúrate de tener:
- Token de API de Hugging Face: Actualiza
HF_API_TOKENenserver/buy.py - Clave de RapidAPI: Actualiza el
x-rapidapi-keyenserver/buy.py
Personalización
Puedes personalizar el prompt de recomendación de IA en la función decision_agent en server/buy.py.
Integración con Claude Desktop
Para usar este servidor MCP con Claude Desktop, agrega esta configuración a tu claude_desktop_config.json:
{
"mcpServers": {
"amazon-search": {
"command": "python",
"args": ["path/to/your/main.py"],
"env": {}
}
}
}
Solución de Problemas
Problemas Comunes
- Errores de importación: Asegúrate de estar en el entorno virtual correcto
- Fallos de API: Verifica tus claves de API y la conexión a internet
- Problemas de conexión: Asegúrate de que el servidor MCP esté ejecutándose antes de iniciar los clientes
Mensajes de Error
- "Sin resultado": Generalmente indica problemas de API o que no se encontraron productos
- "Conexión rechazada": El servidor MCP no está ejecutándose
- "Herramienta no encontrada": Problema de inicialización del servidor
Desarrollo
Añadir Nuevas Características
- Añade nuevas herramientas en
server/buy.pyusando el decorador@mcp.tool() - Actualiza el código del cliente para usar las nuevas herramientas
- Prueba primero con el cliente interactivo
Pruebas
# Test the server directly
python -c "from server.buy import mcp; print('Server loads successfully')"
# Test with the interactive client
python client.py
Arquitectura
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ MCP Server │◄──►│ External APIs │
│ (Your Choice) │ │ (FastMCP) │ │ (Amazon/HF AI) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ • client.py │ │ • Tool: getdata │ │ • Amazon Search │
│ • cli_client │ │ • AI Agent │ │ • HuggingFace │
│ • web_client │ │ • FastMCP │ │ • Recommendations│
│ • Claude │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Licencia
Este proyecto es de código abierto. Asegúrate de cumplir con los términos de servicio de las APIs utilizadas (Amazon, RapidAPI, Hugging Face).