Amazon Product Search

Um servidor com inteligência artificial para pesquisa e recomendações de produtos da Amazon.

Documentação

Amazon Product Search MCP Server

O site está no ar aqui! : https://shopassist-sharavana.streamlit.app/

Um servidor MCP (Model Context Protocol) que fornece busca de produtos Amazon com IA e recomendações usando FastMCP.

Recursos

  • 🔍 Busca inteligente de produtos com a API da Amazon
  • 🤖 Recomendações de produtos com IA usando Hugging Face
  • 💰 Filtro por faixa de preço
  • 📋 Correspondência baseada em recursos
  • 🎯 Recomendações personalizadas para Pequenas/Médias Empresas

Instalação

  1. Clone este repositório e navegue até o diretório do projeto
  2. Instale as dependências:
    # Using uv (recommended)
    uv sync
    
    # Or using pip
    pip install -r requirements.txt
    

Configuração do Servidor

Executando o Servidor MCP

# Activate your virtual environment
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Run the server
python main.py

O servidor expõe uma ferramenta principal:

  • getdata: Busque produtos da Amazon com recomendações de IA

Opções de Cliente

Fornecemos múltiplas implementações de cliente para interagir com seu servidor MCP:

1. Cliente Interativo Python (client.py)

Um cliente Python completo com exemplos e modo interativo.

python client.py

Recursos:

  • Exemplos prontos (laptops, smartphones)
  • Modo de busca interativo
  • Comunicação em tempo real com o servidor MCP

2. Interface de Linha de Comando (cli_client.py)

Buscas rápidas via linha de comando para automação e scripts.

# 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: Produto a ser buscado (obrigatório)
  • --features, -f: Recursos específicos a procurar
  • --min-price, -min: Preço mínimo em rúpias
  • --max-price, -max: Preço máximo em rúpias

3. Interface Web (web_client.py)

Uma interface web bonita com backend de API REST.

# Install additional dependencies
pip install fastapi uvicorn

# Run the web server
python web_client.py

Em seguida, abra http://localhost:8000 no seu navegador para uma interface amigável.

Endpoints da API:

  • GET /: Interface web
  • POST /search: API REST para busca de produtos
  • GET /health: Verificação de saúde

4. Integração com MCP CLI

Você também pode usar o MCP CLI para interagir com seu servidor:

# Install MCP CLI if not already installed
pip install mcp

# Connect to your server
mcp connect stdio -- python main.py

Exemplos de Uso

Exemplo 1: Busca de Laptop

{
    "product": "laptop",
    "specific_features": "8GB RAM, SSD storage, good for programming",
    "min_price": 30000,
    "max_price": 80000
}

Exemplo 2: Busca de Smartphone

{
    "product": "smartphone",
    "specific_features": "good camera, long battery life, 5G support",
    "min_price": 15000,
    "max_price": 50000
}

Exemplo 3: Fones de Ouvido Econômicos

{
    "product": "wireless headphones",
    "specific_features": "noise cancellation, comfortable",
    "min_price": 1000,
    "max_price": 5000
}

Configuração

Chaves de API Necessárias

Certifique-se de ter:

  1. Token da API Hugging Face: Atualize HF_API_TOKEN em server/buy.py
  2. Chave RapidAPI: Atualize a x-rapidapi-key em server/buy.py

Personalização

Você pode personalizar o prompt de recomendação de IA na função decision_agent em server/buy.py.

Integração com Claude Desktop

Para usar este servidor MCP com o Claude Desktop, adicione esta configuração ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "amazon-search": {
      "command": "python",
      "args": ["path/to/your/main.py"],
      "env": {}
    }
  }
}

Solução de Problemas

Problemas Comuns

  1. Erros de importação: Certifique-se de estar no ambiente virtual correto
  2. Falhas de API: Verifique suas chaves de API e conexão com a internet
  3. Problemas de conexão: Garanta que o servidor MCP esteja em execução antes de iniciar os clientes

Mensagens de Erro

  • "Sem resultado": Geralmente indica problemas de API ou nenhum produto encontrado
  • "Conexão recusada": O servidor MCP não está em execução
  • "Ferramenta não encontrada": Problema de inicialização do servidor

Desenvolvimento

Adicionando Novos Recursos

  1. Adicione novas ferramentas em server/buy.py usando o decorador @mcp.tool()
  2. Atualize o código do cliente para usar as novas ferramentas
  3. Teste primeiro com o cliente interativo

Testes

# Test the server directly
python -c "from server.buy import mcp; print('Server loads successfully')"

# Test with the interactive client
python client.py

Arquitetura

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   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       │    │                 │    │                 │
└─────────────────┘    └─────────────────┘    └─────────────────┘

Licença

Este projeto é open source. Certifique-se de cumprir os termos de serviço das APIs utilizadas (Amazon, RapidAPI, Hugging Face).