mcp-uber
Uber
Documentation
MCP Uber Server
An MCP (Model Context Protocol) server for booking Uber rides through AI assistants.
Features
- OAuth 2.0 authentication with Uber
- Get price estimates for rides
- Request Uber rides
- Check ride status
- Cancel rides
Installation
Using npm (global installation)
npm install -g mcp-uberUsing npx (no installation required)
npx mcp-uberSetup
Step 1: Create an Uber Developer Account
1. Go to Uber Developer Dashboard
2. Click "Sign in" and either:
💡 Tip: For organizations, create an email alias (e.g., dev@yourcompany.com) instead of using a personal account for easier ownership transfer.
Step 2: Create a New App
1. In the Developer Dashboard, click "Create App" (top right corner)
2. Fill in the required information:
3. Click "Create"
Step 3: Get Your API Credentials
1. Navigate to your app in the dashboard
2. Go to the Auth tab
3. You'll find:
Step 4: Configure OAuth Settings
1. In the Auth tab, add your redirect URI:
2. Select required scopes:
⚠️ Note: The `request` scope is privileged and requires Uber approval for production use. During development, your account can use it without approval.
Step 5: Set Up Environment Variables
Create environment variables with your credentials (see Configuration section below)
Usage with Claude Desktop
Using npm (global installation)
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json`):
{
"mcpServers": {
"uber": {
"command": "mcp-uber",
"env": {
"UBER_CLIENT_ID": "your_client_id",
"UBER_CLIENT_SECRET": "your_client_secret",
"UBER_REDIRECT_URI": "http://localhost:3000/callback",
"UBER_ENVIRONMENT": "sandbox"
}
}
}
}Using npx
Add to your Claude Desktop configuration:
{
"mcpServers": {
"uber": {
"command": "npx",
"args": ["mcp-uber"],
"env": {
"UBER_CLIENT_ID": "your_client_id",
"UBER_CLIENT_SECRET": "your_client_secret",
"UBER_REDIRECT_URI": "http://localhost:3000/callback",
"UBER_ENVIRONMENT": "sandbox"
}
}
}
}Available Tools
1. uber_get_auth_url - Get OAuth authorization URL
2. uber_set_access_token - Set user's access token
3. uber_get_price_estimates - Get price estimates for a ride
4. uber_request_ride - Request an Uber ride
5. uber_get_ride_status - Check ride request status
6. uber_cancel_ride - Cancel a ride request
OAuth Flow
1. Use `uber_get_auth_url` to get the authorization URL
2. User visits the URL and authorizes your app
3. After callback, exchange the code for an access token
4. Use `uber_set_access_token` to store the token
5. Now you can make API calls
Configuration
Environment Variables
The MCP server requires the following environment variables:
- `UBER_CLIENT_ID`: Your Uber app client ID
- `UBER_CLIENT_SECRET`: Your Uber app client secret
- `UBER_REDIRECT_URI`: OAuth callback URL (default: `http://localhost:3000/callback`)
- `UBER_ENVIRONMENT`: Either `sandbox` or `production` (default: `sandbox`)
Testing Your Integration
1. Use sandbox mode for testing:
2. Test the OAuth flow:
3. Setting up a callback handler:
Important Notes
Sandbox vs Production
- Sandbox Mode (default):
- Simulated rides and drivers
- No real charges
- Perfect for testing
- Limited to your developer account
- Production Mode:
- Real rides and charges
- Requires Uber approval for privileged scopes
- Must pass Uber's review process
Security Best Practices
1. Never commit credentials: Keep your Client Secret secure
2. Use environment variables: Don't hardcode credentials
3. Implement proper token storage: The current in-memory storage is for demo only
4. Validate redirect URIs: Ensure your callback URLs are properly configured
API Limitations
- Rate limits apply (check Uber's documentation)
- Privileged scopes require approval for production use
- Sandbox mode has some limitations compared to production
Troubleshooting
- "Invalid scope" error: Your app needs approval for privileged scopes in production
- "Invalid redirect URI": Make sure your redirect URI exactly matches what's configured in the Uber dashboard
- "Unauthorized" errors: Check that your access token is valid and not expired
Resources
Frequently asked questions
What is mcp-uber?
mcp-uber is Uber
How do I install mcp-uber?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-uber open source?
Yes — it is hosted on GitHub at https://github.com/199-mcp/mcp-uber and has 15 stars.
Related MCP tools
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Use any LLMs (Large Language Models) for Deep Research. Support SSE API and MCP server.
Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual interface support (Web UI and Desktop Application) with intelligent environment detection and cross-platform compatibility.
A powerful Zotero AI and MCP plugin with ChatGPT, Gemini 3.7, Claude Fable 5, Claude Opus 5, DeepSeek V4, Grok, OpenRouter, Kimi k3, GLM 5.3, SiliconFlow, GPT-oss, Gemma 4, Qwen 3.8
Connect your browser to AI models. Just use Dia on Chrome, Arc or Firefox.
文颜 MCP Server 可以让 AI 自动将 Markdown 文章排版后发布至微信公众号。
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP