uber_cancel_ride
Cancel an ongoing ride request
Price a ride between two coordinate pairs, request it, then follow or cancel that request — all scoped to a rider whose access token you set first.
LABSCO SUMMARY
Authorization is not hidden: the authorization URL has its own tool, the returned token is stored by another, and every remaining call carries the same userId, which is what lets the server serve more than one rider. Locations are latitude and longitude only — there is no address or place lookup — and a ride request additionally needs a productId and a fareId, so the coordinates alone will not book anything. UBER_ENVIRONMENT is where you decide whether a request is a sandbox exercise or a car arriving.
An Uber ride-request client with its OAuth handshake exposed as tools, so one server can hold tokens for more than one rider.
An Uber developer application supplying four environment variables — UBER_CLIENT_ID, UBER_CLIENT_SECRET, UBER_REDIRECT_URI and UBER_ENVIRONMENT — and a rider who completes the OAuth callback so a token can be stored against their userId.
One command plus credentials — npx mcp-uber, then supply credentials
USE CASES
Hand the rider the authorization URL, then store the token that comes back against their userId so later calls act on their behalf.
Start and end coordinates return the estimate, which is the check worth doing before a request is placed.
Place the request against a productId and fareId, then track the request ID as the ride runs, and cancel it if plans change.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
uber_cancel_rideCancel an ongoing ride request
uber_get_auth_urlGet the Uber authorization URL for user to authenticate
uber_get_price_estimatesGet price estimates for a ride between two locations
uber_get_ride_statusGet the current status of a ride request
uber_request_rideRequest an Uber ride
uber_set_access_tokenSet the access token for a user after OAuth callback
BEFORE YOU INSTALL
6 tools when we connected. UBER_ENVIRONMENT defaults to sandbox, where uber_request_ride simulates rides with no charge. Real bookings need production mode and Uber's approval of your app for the privileged request scope.
Both documented setups run the server on your machine.
CONTEXT COST
Rated by the size of the 6 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx mcp-uber{
"mcpServers": {
"uber": {
"command": "mcp-uber",
"env": {
"UBER_CLIENT_ID": "<YOUR_UBER_CLIENT_ID>",
"UBER_CLIENT_SECRET": "<YOUR_UBER_CLIENT_SECRET>",
"UBER_REDIRECT_URI": "http://localhost:3000/callback",
"UBER_ENVIRONMENT": "sandbox"
}
}
}
}{
"mcpServers": {
"uber": {
"command": "npx",
"args": [
"mcp-uber"
],
"env": {
"UBER_CLIENT_ID": "<YOUR_UBER_CLIENT_ID>",
"UBER_CLIENT_SECRET": "<YOUR_UBER_CLIENT_SECRET>",
"UBER_REDIRECT_URI": "http://localhost:3000/callback",
"UBER_ENVIRONMENT": "sandbox"
}
}
}
}