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

  1. Clona este repositorio y navega al directorio del proyecto
  2. 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 web
  • POST /search: API REST para búsqueda de productos
  • GET /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:

  1. Token de API de Hugging Face: Actualiza HF_API_TOKEN en server/buy.py
  2. Clave de RapidAPI: Actualiza el x-rapidapi-key en server/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

  1. Errores de importación: Asegúrate de estar en el entorno virtual correcto
  2. Fallos de API: Verifica tus claves de API y la conexión a internet
  3. 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

  1. Añade nuevas herramientas en server/buy.py usando el decorador @mcp.tool()
  2. Actualiza el código del cliente para usar las nuevas herramientas
  3. 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).