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 loginLogin
La primera vez ejecuta cabgo-mcp login. El comando:
- Registra un cliente OAuth dinámico (RFC 7591) en
www.cabgo.app/oauth/registercon PKCE. - Abre tu navegador a
/oauth/authorizecon un redirect loopback en127.0.0.1:47821. - Tras tu consent, captura el code y lo intercambia por tokens.
- Guarda los tokens en
~/.config/cabgo-mcp/tokens.jsoncon 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 loginEl 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:
- Operador —
cabgo_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. - Rider —
cabgo_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. - Driver —
cabgo_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
| Variable | Default | Caso de uso |
|---|---|---|
| CABGO_ISSUER | https://www.cabgo.app | Apuntar a staging o local dev |
| CABGO_API_BASE | ${CABGO_ISSUER}/api/v1 | Override de root del API explícito |
| CABGO_REDIRECT_PORT | 47821 | Si el puerto default está ocupado |
| XDG_CONFIG_HOME | ~/.config | Dónde se guardan los tokens |
Resolución de problemas
not logged in— ejecutacabgo-mcp login.refresh failed: 401 invalid_grant— el refresh token fue revocado (lo borraste desde el dashboard o el tenant fue desactivado). Correcabgo-mcp logout && cabgo-mcp login.403 feature_disabled— el operador apagó la feature requerida (delivery, scheduled trips, etc). Verifica concabgo_get_settings.403 insufficient_scope— el token se emitió con menos scopes de los que la tool necesita. Re-login pasando los scopes extras.