Strider Uber Eats

Servidor MCP para entrega de comida do Uber Eats - agentes de IA podem pesquisar restaurantes, navegar por cardápios e fazer pedidos de entrega.

Documentação

@striderlabs/mcp-ubereats

npm MCP Registry License: MIT

Servidor MCP para Uber Eats — permite que agentes de IA pesquisem restaurantes, naveguem por cardápios, façam pedidos e acompanhem entregas.

Desenvolvido por Strider Labs.

Recursos

  • Pesquise restaurantes por nome, culinária ou tipo de comida
  • Navegue por cardápios completos com detalhes de itens e preços
  • Adicione itens ao carrinho com quantidade e instruções especiais
  • Limpe o carrinho e comece do zero
  • Faça pedidos com uma etapa obrigatória de confirmação
  • Acompanhe o status do pedido ativo e o progresso da entrega
  • Sessões persistentes — mantenha-se conectado após reinicializações

Instalação

npm install -g @striderlabs/mcp-ubereats

Ou execute diretamente com npx:

npx @striderlabs/mcp-ubereats

Configuração

Adicione à configuração do seu cliente MCP (ex.: Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "ubereats": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-ubereats"]
    }
  }
}

Autenticação

Este conector usa automação de navegador Playwright. No primeiro uso:

  1. Chame ubereats_status — ele retornará uma URL de login
  2. Abra a URL no seu navegador e faça login no Uber Eats
  3. Execute ubereats_status novamente para verificar se a sessão foi salva
  4. Os cookies de sessão são armazenados em ~/.strider/ubereats/cookies.json
  5. As sessões persistem automaticamente após reinicializações

Para sair ou redefinir sua sessão:

ubereats_logout

Ferramentas Disponíveis

Gerenciamento de Sessão

FerramentaDescrição
ubereats_statusVerifica o status de login; retorna a URL de login se não autenticado
ubereats_loginObtém a URL de login para abrir em um navegador
ubereats_logoutLimpa os cookies de sessão armazenados (sair)

Entrega

FerramentaDescrição
ubereats_set_addressDefine o endereço de entrega antes de pesquisar

Restaurantes e Cardápios

FerramentaDescrição
ubereats_searchPesquisa restaurantes por nome, tipo de comida ou culinária
ubereats_get_restaurantObtém detalhes do restaurante e cardápio completo

Carrinho e Pedidos

FerramentaDescrição
ubereats_add_to_cartAdiciona um item ao carrinho com quantidade e instruções especiais
ubereats_view_cartVisualiza o conteúdo atual do carrinho e totais
ubereats_clear_cartRemove todos os itens do carrinho
ubereats_checkoutVisualiza prévia ou faz o pedido (confirm=true para confirmar)
ubereats_track_orderAcompanha o status e o ETA de um pedido ativo

Exemplo de Uso

Verificar status de login

{
  "tool": "ubereats_status"
}

Definir endereço de entrega

{
  "tool": "ubereats_set_address",
  "arguments": {
    "address": "123 Main St, San Francisco, CA 94102"
  }
}

Pesquisar restaurantes

{
  "tool": "ubereats_search",
  "arguments": {
    "query": "sushi",
    "cuisine": "japanese"
  }
}

Obter cardápio do restaurante

{
  "tool": "ubereats_get_restaurant",
  "arguments": {
    "restaurantId": "nobu-restaurant-sf"
  }
}

Adicionar ao carrinho

{
  "tool": "ubereats_add_to_cart",
  "arguments": {
    "restaurantId": "nobu-restaurant-sf",
    "itemName": "Spicy Tuna Roll",
    "quantity": 2,
    "specialInstructions": "No wasabi please"
  }
}

Visualizar prévia do pedido antes de confirmar

{
  "tool": "ubereats_checkout",
  "arguments": {
    "confirm": false
  }
}

Fazer o pedido

{
  "tool": "ubereats_checkout",
  "arguments": {
    "confirm": true
  }
}

Acompanhar pedido

{
  "tool": "ubereats_track_order",
  "arguments": {
    "orderId": "abc123"
  }
}

Fluxo de Trabalho Típico

1. ubereats_status          — check if logged in
2. ubereats_set_address     — set where to deliver
3. ubereats_search          — find restaurants
4. ubereats_get_restaurant  — browse the menu
5. ubereats_add_to_cart     — add items
6. ubereats_view_cart       — review cart
7. ubereats_checkout        — preview (confirm=false), then place (confirm=true)
8. ubereats_track_order     — track delivery

Requisitos

  • Node.js 18+
  • Playwright (navegador Chromium instalado automaticamente na primeira execução)
  • Uma conta Uber Eats ativa com método de pagamento salvo

Como Funciona

  1. Chrome headless — Playwright executa um navegador real em segundo plano
  2. Modo furtivo — A impressão digital do navegador imita um usuário real para evitar detecção
  3. Persistência de cookies — Sessões de login são salvas e recarregadas automaticamente
  4. Respostas estruturadas — Todas as saídas das ferramentas são JSON para fácil análise

Segurança

  • Cookies de sessão armazenados localmente em ~/.strider/ubereats/cookies.json
  • Nenhuma credencial é armazenada — a autenticação usa o fluxo de login do Uber baseado em navegador
  • Os cookies nunca saem da sua máquina

Limitações

  • O Uber Eats deve estar disponível na sua região
  • Personalizações de cardápio (modificadores, opções) podem exigir interação adicional
  • A realização de pedidos requer um método de pagamento válido na sua conta Uber Eats
  • Preços dinâmicos e disponibilidade podem diferir do que é exibido

Desenvolvimento

git clone https://github.com/markswendsen-code/mcp-ubereats.git
cd mcp-ubereats
npm install
npm run build
npm start

Licença

MIT © Strider Labs

Relacionados