Efuka MCP Server
Exposes the Efuka JSON API as Model Context Protocol tools so AI agents can book rides, manage matching, and handle post-ride actions natively.
Setup
cd mcp
npm install
npm run build
Configuration
Set your API token as an environment variable. You can generate a token from your Efuka profile.
export EFUKA_API_TOKEN=mpd_your_token_here
export EFUKA_BASE_URL=https://efuka.com/api/v1 # optional
Generate a token from your profile page.
Running
npm start
# or for development:
npm run dev
Claude Desktop Integration
Add the server to your Claude Desktop configuration:
{
"mcpServers": {
"efuka": {
"command": "node",
"args": ["/path/to/efuka/mcp/dist/index.js"],
"env": {
"EFUKA_API_TOKEN": "mpd_your_token_here"
}
}
}
}
OpenClaw Integration
Add the server to your OpenClaw MCP configuration:
{
"mcp": {
"servers": {
"efuka": {
"command": "node",
"args": ["/path/to/efuka/mcp/dist/index.js"],
"env": {
"EFUKA_API_TOKEN": "mpd_your_token_here"
}
}
}
}
}
Available Tools
Once connected, your assistant can use these tools:
| Tool | Description |
|---|---|
list_rides | List all rides for the user |
get_ride | Get ride details by ID |
book_ride | Book a new ride with optional multi-stop route |
cancel_ride | Cancel a ride |
get_drivers | Get available drivers + quotes for a ride |
confirm_driver | Confirm a driver selection |
get_ride_status | Live ride status + accepted driver info |
submit_tip | Tip the driver (card rides only, โค $20 or 30%) |
rate_driver | Rate the driver 1โ5 stars |
get_preferences | Read auto-tip/auto-rating preferences |
update_preferences | Update agent preferences |
Multi-Stop Booking
Agents can book rides with multiple stops via the book_ride tool:
{
"pickup_address": "123 Main St, Denver, CO",
"dropoff_address": "456 Final Ave, Denver, CO",
"reservation_date_and_time": "2026-05-28T10:00:00-06:00",
"payment_method": "Card",
"stops": [
{ "address": "CVS Pharmacy, Denver, CO", "type": "wait", "sequence": 1 },
{ "address": "UPS Store, Denver, CO", "type": "dropoff", "sequence": 2 }
]
}
Stop types: pickup (someone gets in), dropoff (someone exits), wait (temporary stop, same passenger). If the last stop is type dropoff, it replaces the final destination for accurate waypoint routing.
Pricing: pickup/dropoff stops add 3 minutes to estimated time; wait stops add 10 minutes. These are factored into driver quotes.
Agent Post-Ride Flow
- get_preferences โ check auto_rating_enabled + auto_tip_enabled
- If auto_rating_enabled โ rate_driver with auto_rating_score. Otherwise, ask the user for a rating (1โ5).
- If auto_tip_enabled + Card ride โ submit_tip with configured amount/percentage. Else if Card ride โ ask the user if they want to tip and how much. Else (non-card ride) โ inform the user to tip the driver directly.
Security Notes
- Tokens are prefixed mpd_ and SHA-256 hashed โ treat them like a password.
- All actions are scoped to the token owner's data.
- Payment method management is not available via API (user action only).