The trip request and the quick-book composite dispatch an actual driver against your actual card — confirm before either fires, and do not put them on an always-allow list. The login design is the other thing worth understanding: rather than asking you to extract a token, it drives a real browser server-side and streams it to you, which is the only approach that gets past the bot defences on Uber's login. It is unofficial and wraps endpoints that can change without notice, and in HTTP mode the cookies stay in memory only — a restart means signing in again.
An unofficial MCP server that wraps Uber's rider web API. It exposes 35 tools covering the full rider surface: quoting a ride, resolving addresses, requesting and cancelling trips, watching status until the driver arrives, reading driver chat, and browsing history, receipts and promotions. Not affiliated with Uber.
- Products with real-time fares and ETAs, plus the status probe that reports city, current trip and nearby vehicles — `uber_products_list`, `uber_status_get`
- Address handling that actually resolves: autocomplete for pickup and dropoff, a place ID resolved to coordinates and a full address, refinement within a venue such as an airport terminal, and a route between them — `uber_pudo_search`, `uber_pudo_resolve`, `uber_pudo_refine`, `uber_navigation_route`
- A trip requested, watched to completion and cancelled if needed, with cancellation fees readable beforehand — `uber_trip_request`, `uber_trip_status_watch`, `uber_cancellation_info_get`, `uber_trip_cancel`
- A one-shot composite that runs the whole booking dance internally — search, resolve, products, pre-checkout, request — for when you just want a ride from X to Y — `uber_ride_book_quick`
- History and money: past and upcoming activities, full trip detail, receipts with the fare breakdown, receipt email, fiscal invoice status and outstanding arrears — `uber_activities_list`, `uber_trip_get`, `uber_receipt_get`, `uber_receipt_send_email`, `uber_arrears_get`
- Driver chat threads found by trip and read — `uber_thread_by_tracking_get`, `uber_thread_get`
- Profile, payments and promos: saved payment methods, Uber One membership state, ranked offers and the home-screen promo banner — `uber_payment_options_list`, `uber_membership_attributes`, `uber_offers_ranked`, `uber_promo_pill_get`
An active Uber account and Node.js ≥ 20. Two modes. HTTP + OAuth 2.1 is the recommended one: `npm install` pulls Chromium through Playwright, and hitting `/login/start` launches a real server-side Chromium that streams Uber's own login page to a canvas in your browser — you sign in normally and the server captures the cookies. That indirection exists because the rider web is gated by PerimeterX and Arkose, which a pasted token cannot satisfy. stdio mode reuses cookies from one such login, placed in `.env` as `UBER_COOKIE_HEADER`, `UBER_USER_SUB`, `UBER_CITY_ID` and `UBER_SESSION_TYPE`. Uber sessions last around 24 h with no refresh endpoint, so expect to redo the login. Two tools charge your payment method and dispatch a real driver.
