Strider Uber Eats

Servidor MCP para entrega de comida de Uber Eats: los agentes de IA pueden buscar restaurantes, explorar menús y realizar pedidos de entrega.

Documentación

@striderlabs/mcp-ubereats

npm MCP Registry License: MIT

Servidor MCP para Uber Eats: permite que agentes de IA busquen restaurantes, naveguen por menús, realicen pedidos y rastreen entregas.

Creado por Strider Labs.

Características

  • Busca restaurantes por nombre, tipo de cocina o tipo de comida
  • Navega por menús completos con detalles de artículos y precios
  • Agrega artículos al carrito con cantidad e instrucciones especiales
  • Vacía el carrito y comienza de nuevo
  • Realiza pedidos con un paso de confirmación obligatorio
  • Rastrea el estado de pedidos activos y el progreso de entrega
  • Sesiones persistentes: mantente conectado entre reinicios

Instalación

npm install -g @striderlabs/mcp-ubereats

O ejecuta directamente con npx:

npx @striderlabs/mcp-ubereats

Configuración

Agrega a la configuración de tu cliente MCP (por ejemplo, Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):

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

Autenticación

Este conector utiliza automatización de navegador con Playwright. En el primer uso:

  1. Llama a ubereats_status: devolverá una URL de inicio de sesión
  2. Abre la URL en tu navegador e inicia sesión en Uber Eats
  3. Ejecuta ubereats_status nuevamente para verificar que la sesión se guardó
  4. Las cookies de sesión se almacenan en ~/.strider/ubereats/cookies.json
  5. Las sesiones persisten automáticamente entre reinicios

Para cerrar sesión o restablecer tu sesión:

ubereats_logout

Herramientas Disponibles

Gestión de Sesión

HerramientaDescripción
ubereats_statusVerifica el estado de inicio de sesión; devuelve la URL de inicio de sesión si no está autenticado
ubereats_loginObtiene la URL de inicio de sesión para abrir en un navegador
ubereats_logoutBorra las cookies de sesión almacenadas (cerrar sesión)

Entrega

HerramientaDescripción
ubereats_set_addressEstablece la dirección de entrega antes de buscar

Restaurantes y Menús

HerramientaDescripción
ubereats_searchBusca restaurantes por nombre, tipo de comida o cocina
ubereats_get_restaurantObtiene detalles del restaurante y menú completo

Carrito y Pedidos

HerramientaDescripción
ubereats_add_to_cartAgrega un artículo al carrito con cantidad e instrucciones especiales
ubereats_view_cartVe el contenido actual del carrito y los totales
ubereats_clear_cartElimina todos los artículos del carrito
ubereats_checkoutPrevisualiza o realiza el pedido (confirm=true para realizar)
ubereats_track_orderRastrea el estado y la hora estimada de llegada de un pedido activo

Ejemplo de Uso

Verificar estado de inicio de sesión

{
  "tool": "ubereats_status"
}

Establecer dirección de entrega

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

Buscar restaurantes

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

Obtener menú del restaurante

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

Agregar al carrito

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

Previsualizar pedido antes de realizar

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

Realizar el pedido

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

Rastrear pedido

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

Flujo de Trabajo 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 se instala automáticamente en el primer uso)
  • Una cuenta activa de Uber Eats con un método de pago guardado

Cómo Funciona

  1. Chrome sin interfaz gráfica — Playwright ejecuta un navegador real en segundo plano
  2. Modo sigiloso — La huella del navegador imita a un usuario real para evitar detección
  3. Persistencia de cookies — Las sesiones de inicio de sesión se guardan y recargan automáticamente
  4. Respuestas estructuradas — Todas las salidas de herramientas son JSON para facilitar el análisis

Seguridad

  • Las cookies de sesión se almacenan localmente en ~/.strider/ubereats/cookies.json
  • No se almacenan credenciales: la autenticación utiliza el flujo de inicio de sesión de Uber basado en navegador
  • Las cookies nunca salen de tu máquina

Limitaciones

  • Uber Eats debe estar disponible en tu región
  • Las personalizaciones de menú (modificadores, opciones) pueden requerir interacción adicional
  • La realización de pedidos requiere un método de pago válido en tu cuenta de Uber Eats
  • Los precios dinámicos y la disponibilidad pueden diferir de lo que se muestra

Desarrollo

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

Licencia

MIT © Strider Labs

Relacionados