cabgo
InicioAcceder

cabgo-mcp

MCP server oficial para Cabgo. Permite que tu agente (Claude Desktop, Cursor, Continue, Zed…) actúe en nombre de un operador, rider o driver vía OAuth 2.0.

Instalación

npm install -g cabgo-mcp
# o usa npx sin instalarlo globalmente:
npx cabgo-mcp@latest login

Login

La primera vez ejecuta cabgo-mcp login. El comando:

  1. Registra un cliente OAuth dinámico (RFC 7591) en www.cabgo.app/oauth/register con PKCE.
  2. Abre tu navegador a /oauth/authorize con un redirect loopback en 127.0.0.1:47821.
  3. Tras tu consent, captura el code y lo intercambia por tokens.
  4. Guarda los tokens en ~/.config/cabgo-mcp/tokens.json con permisos 0600.

Para autorizar como rider o driver en lugar de operador, pasa los scopes apropiados:

CABGO_DEFAULT_SCOPES="openid profile email rider.profile:read rider.trips:read rider.trips:create" \
  cabgo-mcp login

El consent screen rider/driver acepta inicio de sesión con Google sobre el dominio del tenant (si lo tiene configurado) con fallback a cabgo.app/oauth/{slug}/consent.

Configurar tu agente

Claude Desktop

Edita ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\\Claude\\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "cabgo": {
      "command": "npx",
      "args": ["-y", "cabgo-mcp@latest", "serve"]
    }
  }
}

Reinicia Claude Desktop. Las tools de Cabgo aparecen bajo el ícono 🔌.

Cursor

Cmd-Shift-P → "Cursor Settings: Open MCP" → añade:

{
  "cabgo": {
    "command": "npx",
    "args": ["-y", "cabgo-mcp@latest", "serve"]
  }
}

Continue (VS Code / JetBrains)

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "cabgo-mcp@latest", "serve"]
        }
      }
    ]
  }
}

Tools disponibles

La lista canónica vive en el OpenAPI document — cada operación es una tool con el mismo nombre prefijado por cabgo_. La referencia de la API renderiza todos los endpoints, scopes requeridos y permisos.

Resumen por audiencia:

  • Operadorcabgo_list_trips, cabgo_get_trip, cabgo_list_drivers, cabgo_list_customers, cabgo_get_settings, cabgo_list_zones, cabgo_list_services, cabgo_list_businesses, cabgo_list_orders, cabgo_wallet_totals, cabgo_get_branding, cabgo_update_branding, cabgo_reports_summary.
  • Ridercabgo_me, cabgo_my_trips, cabgo_request_ride, cabgo_cancel_my_trip, cabgo_list_addresses, cabgo_save_address, cabgo_my_wallet, cabgo_list_payment_methods, cabgo_my_orders.
  • Drivercabgo_me, cabgo_my_trips, cabgo_set_driver_status, cabgo_accept_trip, cabgo_mark_arrived, cabgo_start_trip, cabgo_complete_trip, cabgo_my_wallet.

Variables de entorno

VariableDefaultCaso de uso
CABGO_ISSUERhttps://www.cabgo.appApuntar a staging o local dev
CABGO_API_BASE${CABGO_ISSUER}/api/v1Override de root del API explícito
CABGO_REDIRECT_PORT47821Si el puerto default está ocupado
XDG_CONFIG_HOME~/.configDónde se guardan los tokens

Resolución de problemas

  • not logged in — ejecuta cabgo-mcp login.
  • refresh failed: 401 invalid_grant — el refresh token fue revocado (lo borraste desde el dashboard o el tenant fue desactivado). Corre cabgo-mcp logout && cabgo-mcp login.
  • 403 feature_disabled — el operador apagó la feature requerida (delivery, scheduled trips, etc). Verifica con cabgo_get_settings.
  • 403 insufficient_scope — el token se emitió con menos scopes de los que la tool necesita. Re-login pasando los scopes extras.

Referencias