Rovv - Book Rides in Africa

Book rides, get fare estimates, and manage trips across African cities with Rovv.

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
82%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~989Tokens (tool definitions)
~922 BTypical response size
Moderate attention impact (0.77% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ride-booking": {
      "url": "https://rovvafrica.com/api/v1/mcp"
    }
  }
}

Remote endpoints

https://rovvafrica.com/api/v1/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_places(query, lat, lng)

Search for a location by name. Returns a list of matching places with addresses. Use this to find the pickup or dropoff location before booking a ride.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "The place name or address to search for, e.g. \"Lekki Phase 1\" or \"Murtala Muhammed Airport\""
    },
    "lat": {
      "type": "number",
      "description": "Optional latitude to bias results toward the user's area"
    },
    "lng": {
      "type": "number",
      "description": "Optional longitude to bias results toward the user's area"
    }
  },
  "required": [
    "query"
  ]
}
🟢get_place_details(place_id)

Get the exact coordinates and full address for a place using its place_id (returned from search_places). Call this after search_places to get lat/lng needed for fare estimates and booking.

Input Schema

{
  "type": "object",
  "properties": {
    "place_id": {
      "type": "string",
      "description": "The Google place_id from a search_places result"
    }
  },
  "required": [
    "place_id"
  ]
}
🟢get_fare_estimate(pick_lat, pick_lng, drop_lat, drop_lng, pick_address, ...)

Get available vehicle types and fare estimates for a trip. Returns a list of vehicle options with prices, ETAs, and vehicle type IDs needed for booking.

Input Schema

{
  "type": "object",
  "properties": {
    "pick_lat": {
      "type": "number",
      "description": "Pickup latitude"
    },
    "pick_lng": {
      "type": "number",
      "description": "Pickup longitude"
    },
    "drop_lat": {
      "type": "number",
      "description": "Dropoff latitude"
    },
    "drop_lng": {
      "type": "number",
      "description": "Dropoff longitude"
    },
    "pick_address": {
      "type": "string",
      "description": "Pickup address text"
    },
    "drop_address": {
      "type": "string",
      "description": "Dropoff address text"
    }
  },
  "required": [
    "pick_lat",
    "pick_lng",
    "drop_lat",
    "drop_lng"
  ]
}
🟢book_ride(pick_lat, pick_lng, drop_lat, drop_lng, pick_address, ...)

Book a Rovv ride. Requires pickup/dropoff coordinates, a vehicle_type ID (from get_fare_estimate), and payment method. Returns booking confirmation with ride number.

Input Schema

{
  "type": "object",
  "properties": {
    "pick_lat": {
      "type": "number",
      "description": "Pickup latitude"
    },
    "pick_lng": {
      "type": "number",
      "description": "Pickup longitude"
    },
    "drop_lat": {
      "type": "number",
      "description": "Dropoff latitude"
    },
    "drop_lng": {
      "type": "number",
      "description": "Dropoff longitude"
    },
    "pick_address": {
      "type": "string",
      "description": "Pickup address text"
    },
    "drop_address": {
      "type": "string",
      "description": "Dropoff address text"
    },
    "vehicle_type": {
      "type": "string",
      "description": "The zone_type_id from get_fare_estimate results"
    },
    "payment_opt": {
      "type": "integer",
      "description": "Payment method: 0 = card, 1 = cash, 2 = wallet",
      "default": 1
    },
    "is_later": {
      "type": "boolean",
      "description": "Set to true for scheduled rides",
      "default": false
    },
    "trip_start_time": {
      "type": "string",
      "description": "For scheduled rides: datetime in Y-m-d H:i:s format"
    }
  },
  "required": [
    "pick_lat",
    "pick_lng",
    "drop_lat",
    "drop_lng",
    "pick_address",
    "drop_address",
    "vehicle_type"
  ]
}
🔴cancel_ride(request_id, reason)

Cancel an active ride. Optionally provide a reason.

Input Schema

{
  "type": "object",
  "properties": {
    "request_id": {
      "type": "string",
      "description": "The ride request ID to cancel. If not provided, cancels the current active ride."
    },
    "reason": {
      "type": "string",
      "description": "Optional cancellation reason"
    }
  },
  "required": []
}
🟢get_current_ride

Get the status of the user's current active ride, including driver details, ETA, and ride status.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}
🟢get_ride_history(limit)

Get the user's past ride history. Returns recent completed and cancelled rides.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "description": "Number of rides to return (default 5, max 20)",
      "default": 5
    }
  },
  "required": []
}
🟢get_route_info(pickup_lat, pickup_lng, drop_lat, drop_lng)

Get driving route information between two points including distance, duration, and polyline.

Input Schema

{
  "type": "object",
  "properties": {
    "pickup_lat": {
      "type": "number",
      "description": "Pickup latitude"
    },
    "pickup_lng": {
      "type": "number",
      "description": "Pickup longitude"
    },
    "drop_lat": {
      "type": "number",
      "description": "Dropoff latitude"
    },
    "drop_lng": {
      "type": "number",
      "description": "Dropoff longitude"
    }
  },
  "required": [
    "pickup_lat",
    "pickup_lng",
    "drop_lat",
    "drop_lng"
  ]
}
🟢get_wallet_balance

Get the user's Rovv wallet balance, total added, total spent, and recent transactions.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": []
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools
verifiedversion not recorded9 tools