LimoExpress MCP by usefulapi

Read bookings, clients, invoices, pricing; confirm bookings and mark invoices paid in LimoExpress.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
84%
Naming quality
70%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (11)

  • LOWTool 'limoexpress_list_vehicle_classes' name length outside 3-30 rangein limoexpress_list_vehicle_classes
  • LOWTool 'limoexpress_list_subcontractors' name length outside 3-30 rangein limoexpress_list_subcontractors
  • LOWTool 'limoexpress_list_booking_offers' name length outside 3-30 rangein limoexpress_list_booking_offers
  • LOWTool 'limoexpress_list_payment_methods' name length outside 3-30 rangein limoexpress_list_payment_methods
  • LOWTool 'limoexpress_list_all_currencies' name length outside 3-30 rangein limoexpress_list_all_currencies
  • LOWTool 'limoexpress_list_booking_statuses' name length outside 3-30 rangein limoexpress_list_booking_statuses
  • LOWTool 'limoexpress_list_organisation_currencies' name length outside 3-30 rangein limoexpress_list_organisation_currencies
  • LOWTool 'limoexpress_list_discount_vouchers' name length outside 3-30 rangein limoexpress_list_discount_vouchers
  • LOWTool 'limoexpress_get_extra_fees_pricing' name length outside 3-30 rangein limoexpress_get_extra_fees_pricing
  • LOWTool 'limoexpress_mark_booking_as_confirmed' name length outside 3-30 rangein limoexpress_mark_booking_as_confirmed

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,256Tokens (tool definitions)
~1.2 KBTypical response size
Significant attention impact (2.54% 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": {
    "limoexpress": {
      "url": "https://limoexpress.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://limoexpress.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (22)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢limoexpress_list_vehicles(search_string, page, per_page)

List the fleet vehicles of the organisation. GET /api/integration/vehicles.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_vehicle_classes(search_string, page, per_page)

List vehicle classes (for example sedan, van). Class ids are used for pricing. GET /api/integration/vehicle-classes.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_subcontractors(search_string, page, per_page)

List subcontractors (partner operators) of the organisation. GET /api/integration/subcontractors.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_events(search_string, page, per_page)

List events defined in the organisation. GET /api/integration/events.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_clients(search_string, page, per_page)

List clients (customers and organisations) with contact details. GET /api/integration/clients.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_invoices(search_string, page, per_page)

List invoices with their paid status. GET /api/integration/invoices.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_booking_offers(search_string, page, per_page)

List booking offers (quotes sent to clients). GET /api/integration/booking-offers.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_passengers(search_string, page, per_page)

List passengers. The records contain personal data. GET /api/integration/passengers.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_users(search_string, page, per_page)

List users (staff and drivers) of the organisation. GET /api/integration/users.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_expenses(search_string, page, per_page)

List expenses recorded in the organisation. GET /api/integration/expenses.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_payment_methods(search_string, page, per_page)

List payment methods. Ids are used to filter bookings. GET /api/integration/payment-methods.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_all_currencies(search_string, page, per_page)

List every currency the platform supports. GET /api/integration/all-currencies.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_countries(search_string, page, per_page)

List countries known to the platform. GET /api/integration/countries.

Input Schema

{
  "type": "object",
  "properties": {
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_bookings(pickup_date_from, pickup_date_to, booking_status_id, booking_type_id, payment_method_id, ...)

List bookings of the organisation. Filter by pickup time range (yyyy-mm-dd hh:mm:ss), status, type, payment method, vehicle or client id. GET /api/integration/bookings.

Input Schema

{
  "type": "object",
  "properties": {
    "pickup_date_from": {
      "description": "Pickup time from, for example '2026-11-01 00:00:00'.",
      "type": "string"
    },
    "pickup_date_to": {
      "description": "Pickup time to, for example '2026-11-01 23:59:59'.",
      "type": "string"
    },
    "booking_status_id": {
      "description": "Id from limoexpress_list_booking_statuses.",
      "type": "string"
    },
    "booking_type_id": {
      "description": "Id from limoexpress_list_booking_types.",
      "type": "string"
    },
    "payment_method_id": {
      "description": "Id from limoexpress_list_payment_methods.",
      "type": "string"
    },
    "vehicle_id": {
      "description": "Id from limoexpress_list_vehicles.",
      "type": "string"
    },
    "client_id": {
      "description": "Id from limoexpress_list_clients.",
      "type": "string"
    },
    "search_string": {
      "description": "Free-text search across the record fields.",
      "type": "string"
    },
    "order": {
      "description": "Sort order (default desc).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    },
    "order_by": {
      "description": "Sort field (default pickup_time).",
      "type": "string",
      "enum": [
        "pickup_time",
        "id"
      ]
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_booking_types

List booking types. GET /api/integration/booking-types.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_booking_statuses

List booking statuses (ids for the status filter). GET /api/integration/booking-statuses.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_organisation_currencies

List the currencies enabled for the organisation. GET /api/integration/currencies.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_get_pricing(from_latitude, from_longitude, to_latitude, to_longitude, currency_id, ...)

Get the price for a trip from coordinates, optionally for one vehicle class and currency. Give the destination coordinates, or a distance when there is no destination. GET /api/integration/pricing.

Input Schema

{
  "type": "object",
  "properties": {
    "from_latitude": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Pickup latitude."
    },
    "from_longitude": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Pickup longitude."
    },
    "to_latitude": {
      "description": "Drop-off latitude.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "to_longitude": {
      "description": "Drop-off longitude.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "currency_id": {
      "description": "Currency id from limoexpress_list_organisation_currencies.",
      "type": "string"
    },
    "vehicle_class_id": {
      "description": "Vehicle class id from limoexpress_list_vehicle_classes.",
      "type": "string"
    },
    "distance": {
      "description": "Distance, used when there is no destination.",
      "type": "number",
      "minimum": 0
    }
  },
  "required": [
    "from_latitude",
    "from_longitude"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_list_discount_vouchers(currency_id, page, per_page)

List discount vouchers, optionally for one currency. GET /api/integration/discount-vouchers.

Input Schema

{
  "type": "object",
  "properties": {
    "currency_id": {
      "description": "Currency id.",
      "type": "string"
    },
    "page": {
      "description": "Page number (default 1).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_page": {
      "description": "Results per page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢limoexpress_get_extra_fees_pricing(currency_id, vehicle_class_id)

Get the extra fees for one vehicle class and currency. GET /api/integration/extra-fees-pricing/{currencyId}/{vehicleClassId}.

Input Schema

{
  "type": "object",
  "properties": {
    "currency_id": {
      "type": "string",
      "minLength": 1,
      "description": "Record id (UUID) from the matching list tool."
    },
    "vehicle_class_id": {
      "type": "string",
      "minLength": 1,
      "description": "Record id (UUID) from the matching list tool."
    }
  },
  "required": [
    "currency_id",
    "vehicle_class_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴limoexpress_mark_booking_as_confirmed(booking_id)

WRITE: set one booking to the confirmed status. Use limoexpress_list_bookings to find the id. POST /api/integration/mark-booking-as-confirmed.

Input Schema

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string",
      "minLength": 1,
      "description": "Record id (UUID) from the matching list tool."
    }
  },
  "required": [
    "booking_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴limoexpress_mark_invoice_as_paid(invoice_id)

WRITE: record one invoice as paid. This changes the accounting state. Use limoexpress_list_invoices to find the id. POST /api/integration/invoices/mark-as-paid.

Input Schema

{
  "type": "object",
  "properties": {
    "invoice_id": {
      "type": "string",
      "minLength": 1,
      "description": "Record id (UUID) from the matching list tool."
    }
  },
  "required": [
    "invoice_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded22 tools