Rami Levy

Um servidor MCP para interagir com a API da loja de supermercados online Rami Levy.

Documentação

Servidor MCP Rami Levy

Servidor MCP para a API da loja online Rami Levy. Esta é uma implementação de prova de conceito que demonstra como integrar a plataforma de e-commerce da Rami Levy com LLMs habilitados para MCP.

Ferramentas

  1. search_items

    • Pesquisa produtos no catálogo da Rami Levy
    • Entradas:
      • q (string): Consulta de busca
      • store (string, opcional): Identificador da loja (padrão: "331")
      • aggs (número, opcional): Sinalizador de agregação (padrão: 1)
    • Retorna: Matriz de produtos com nome, preço, URL da imagem e ID
  2. add_to_cart

    • Adiciona um ou mais itens ao carrinho de compras
    • Entradas:
      • store (string): Identificador da loja (ex.: "331")
      • items (matriz): Lista de itens a adicionar, cada um contendo:
        • id (número): Identificador do produto
        • quantity (número): Quantidade a adicionar (mínimo: 1)
    • Retorna: Conteúdo atualizado do carrinho com preços e descontos
  3. remove_from_cart

    • Remove itens do carrinho fornecendo uma lista atualizada de itens a manter
    • Entradas:
      • store (string): Identificador da loja
      • items (matriz): Lista atualizada de itens a manter no carrinho
    • Retorna: Conteúdo atualizado do carrinho
  4. update_quantity

    • Atualiza a quantidade de um item no carrinho
    • Entradas:
      • store (string): Identificador da loja
      • id (número): Identificador do produto
      • newQuantity (número): Nova quantidade para o produto (mínimo: 1)
    • Retorna: Conteúdo atualizado do carrinho

Recursos

  1. rami-levy://checkout
    • Obtém a URL da página de checkout da Rami Levy
    • Retorna: URL da página de checkout

Configuração

Autenticação

Este servidor MCP requer tokens de autenticação de uma sessão ativa da Rami Levy. Para obtê-los:

  1. Faça login no site da Rami Levy
  2. Abra as ferramentas de desenvolvedor do seu navegador (F12)
  3. Vá para a aba Rede
  4. Faça qualquer solicitação (ex.: pesquise um produto)
  5. Nos cabeçalhos da solicitação, extraia:
    • RAMI_LEVY_API_KEY: O token após "Bearer" no cabeçalho Authorization
    • ECOM_TOKEN: O valor completo do cabeçalho ecomtoken
    • COOKIE: O valor completo do cabeçalho cookie

Variáveis de Ambiente

Crie um arquivo .env com as seguintes variáveis:

RAMI_LEVY_API_KEY=your_api_key_here
ECOM_TOKEN=your_ecom_token_here
COOKIE=your_cookie_string_here

Uso com Claude Desktop

Adicione o seguinte ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "rami-levy": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-rami-levy"
      ],
      "env": {
        "RAMI_LEVY_API_KEY": "<YOUR_API_KEY>",
        "ECOM_TOKEN": "<YOUR_ECOM_TOKEN>",
        "COOKIE": "<YOUR_COOKIE>"
      }
    }
  }
}

Desenvolvimento

  1. Instale as dependências:
npm install
  1. Compile o projeto:
npm run build
  1. Inicie o servidor:
npm start

Considerações de Segurança

⚠️ Importante: Esta é uma implementação de prova de conceito. Observe que:

  1. Os tokens de autenticação fornecem acesso total à sua conta Rami Levy
  2. Os tokens devem ser mantidos em segurança e nunca enviados para o controle de versão
  3. Os tokens expiram periodicamente e precisarão ser renovados
  4. Esta implementação não se destina ao uso em produção sem uma revisão de segurança adequada

Limitações

  1. Os tokens de sessão expiram e precisam ser renovados manualmente
  2. Alguns recursos da API da Rami Levy não são implementados (ex.: perfil do usuário, histórico de pedidos)
  3. O tratamento de erros para sessões expiradas poderia ser melhorado
  4. Não há implementação de limite de taxa

Contribuição

Issues e pull requests são bem-vindos! Certifique-se de não enviar informações confidenciais, como tokens de autenticação.

Licença

Este projeto é licenciado sob a Licença MIT. Consulte o arquivo Licença para obter detalhes.

Aviso Legal

Este é um projeto não oficial e não é afiliado ou endossado pela Rami Levy Chain Stores Ltd. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários.