# Fleetio MCP by usefulapi (remote · fleetio.usefulapi.io)

Read Fleetio vehicles, work orders, service, issues, inspections, fuel, parts; log issues, meters.

- Trust score: 63/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-16

## Components

- remote · `fleetio.usefulapi.io`: 63/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-fleetio/fleetio.md), [page](https://verifymcp.io/servers/io-usefulapi-fleetio/fleetio)

## Channel facts

- Endpoint: `https://fleetio.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-16.

- **Endpoint Security**: 78/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 77/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 8227 tokens (~186/item across 44 items; 44 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 13/100
  - Stability observed for 4 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 44 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 45 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Fleetio MCP by usefulapi server?

Fleetio MCP by usefulapi is a hosted endpoint at https://fleetio.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-fleetio 'https://fleetio.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-fleetio": {
      "url": "https://fleetio.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-fleetio": {
      "type": "http",
      "url": "https://fleetio.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-fleetio]
url = "https://fleetio.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-fleetio": {
      "type": "remote",
      "url": "https://fleetio.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-fleetio --url 'https://fleetio.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-fleetio:
    url: "https://fleetio.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-fleetio": {
      "Transport": "http",
      "Url": "https://fleetio.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-fleetio -t streamable-http -u 'https://fleetio.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-fleetio": {
      "type": "http",
      "url": "https://fleetio.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-15 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-13 (score 62, +3)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional improvement] Stability: unverified → 0.03
- [functional] The server now declares the “prompts” capability
- [functional] First check of Schema quality: 100
- [functional] Schema quality: excellent → good
- [functional] New prompt “getting_started”
- [functional] Server version: 1.0.0 → 1.1.0

### 2026-10-12 (score 59)

First indexed and scored.

## MCP tools (44)

### `fleetio_list_accounts` (~95 tokens)

List accounts

The Fleetio account(s) this API key belongs to: id, name, address, plan, units and the key's user type. The Account-Token and permission flags are never returned. GET /accounts.

Input parameters:

- `per_page` (integer): Records per page, 2-100 (default 25).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_vehicles` (~361 tokens)

List vehicles

List vehicles (not archived) with status, type, group, meter readings, VIN and license plate. Filter by name, VIN, plate, group, status or type; ids for the filters come from the lookup tools (fleetio_list_vehicle_statuses, fleetio_list_vehicle_types, fleetio_list_groups). GET /vehicles. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `group_id` (integer): Group id
- `license_plate` (string): License plate (contains, case-insensitive)
- `name` (string): Vehicle name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: name, created_at, updated_at, id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).
- `vehicle_status_id` (integer): Vehicle status id
- `vehicle_type_id` (integer): Vehicle type id
- `vin` (string): VIN (contains, case-insensitive)

### `fleetio_list_vehicle_meter_entries` (~208 tokens)

List a vehicle's meter entries

List the odometer / engine-hour meter readings of ONE vehicle, newest first by default. GET /vehicles/{id}/meter_entries. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `category` (string): Reading category.
- `date_after` (string): Only records with reading date at or after this moment (ISO 8601).
- `date_before` (string): Only records with reading date at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, date, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `vehicle_id` (required): Vehicle id.

### `fleetio_list_meter_entries` (~201 tokens)

List meter entries

List meter readings across the account. Filter by vehicle and by date. GET /meter_entries. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `category` (string): Reading category.
- `date_after` (string): Only records with reading date at or after this moment (ISO 8601).
- `date_before` (string): Only records with reading date at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, date, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `vehicle_id` (integer): Vehicle id

### `fleetio_list_vehicle_assignments` (~267 tokens)

List vehicle assignments

List which driver (contact) was assigned to which vehicle and when; filter by vehicle or contact. GET /vehicle_assignments. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `contact_id` (integer): Contact (driver) id
- `ended_at_after` (string): Only records with assignment end at or after this moment (ISO 8601).
- `ended_at_before` (string): Only records with assignment end at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: started_at, ended_at, created_at, updated_at, id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `started_at_after` (string): Only records with assignment start at or after this moment (ISO 8601).
- `started_at_before` (string): Only records with assignment start at or before this moment (ISO 8601).
- `vehicle_id` (integer): Vehicle id

### `fleetio_list_equipment` (~311 tokens)

List equipment

List equipment (non-vehicle assets such as trailers and tools). GET /equipment. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `brand` (string): Brand (contains, case-insensitive)
- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `group_id` (integer): Group id
- `model` (string): Model (contains, case-insensitive)
- `name` (string): Equipment name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `serial_number` (string): Serial number (contains, case-insensitive)
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: created_at, updated_at, in_service_date, out_of_service_date, purchase_date, id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).

### `fleetio_list_work_orders` (~348 tokens)

List work orders

List work orders (shop jobs) with status, vehicle, vendor and technician. Filter by vehicle, vendor, technician, number or status name (for example Open). A finished work order produces a service entry. GET /work_orders. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `contact_id` (integer): Technician (contact) id
- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `invoice_number` (string): Invoice number
- `number` (integer): Work order number
- `per_page` (integer): Records per page, 2-100 (default 25).
- `purchase_order_number` (string): Purchase order number
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: created_at, updated_at, id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).
- `vehicle_id` (integer): Vehicle id
- `vendor_id` (integer): Vendor id
- `work_order_status_name` (string): Work order status name (see fleetio_list_work_order_statuses)

### `fleetio_list_service_entries` (~307 tokens)

List service entries

List service entries (completed maintenance records) with vehicle, vendor, dates and notes. Filter by reference or completion date. GET /service_entries. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `completed_at_after` (string): Only records with completion date at or after this moment (ISO 8601).
- `completed_at_before` (string): Only records with completion date at or before this moment (ISO 8601).
- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `reference` (string): Reference (contains, case-insensitive)
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, completed_at, updated_at, created_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).

### `fleetio_list_vehicle_service_entries` (~206 tokens)

List a vehicle's service entries

List the service entries of ONE vehicle. GET /vehicles/{id}/service_entries. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `completed_at_after` (string): Only records with completion date at or after this moment (ISO 8601).
- `completed_at_before` (string): Only records with completion date at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `reference` (string): Reference (contains, case-insensitive)
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, completed_at, updated_at, created_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `vehicle_id` (required): Vehicle id.

### `fleetio_list_service_reminders` (~196 tokens)

List service reminders

List preventive-maintenance service reminders with next-due dates and meter values. Filter by status (ok, due_soon, overdue, snoozed), vehicle or service task. GET /service_reminders. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `per_page` (integer): Records per page, 2-100 (default 25).
- `service_reminder_status` (string): Reminder status.
- `service_task_id` (integer): Service task id
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, next_due_at, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `vehicle_id` (integer): Vehicle id

### `fleetio_list_issues` (~409 tokens)

List issues

List issues (defects and problems reported against vehicles and equipment) with state, priority, assignees and due date. Filter by state, vehicle, equipment or reporter. GET /issues. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `due_date_after` (string): Only records with due date at or after this moment (ISO 8601).
- `due_date_before` (string): Only records with due date at or before this moment (ISO 8601).
- `equipment_id` (integer): Equipment id
- `number` (integer): Issue number
- `per_page` (integer): Records per page, 2-100 (default 25).
- `reported_at_after` (string): Only records with report time at or after this moment (ISO 8601).
- `reported_at_before` (string): Only records with report time at or before this moment (ISO 8601).
- `reported_by_id` (integer): Reporter (contact) id
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: due_date, resolved_at, reported_at, updated_at, created_at, id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `state` (string): Issue state.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).
- `vehicle_id` (integer): Vehicle id

### `fleetio_list_faults` (~334 tokens)

List faults

List diagnostic trouble codes (faults) reported by telematics devices, with vehicle, code and last occurrence. GET /faults. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `code` (string): Fault code
- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `last_occurred_at_after` (string): Only records with last occurrence at or after this moment (ISO 8601).
- `last_occurred_at_before` (string): Only records with last occurrence at or before this moment (ISO 8601).
- `name` (string): Fault name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, last_occurred_at, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).
- `vehicle_id` (integer): Vehicle id

### `fleetio_list_inspection_forms` (~252 tokens)

List inspection forms

List the inspection form templates (for example a daily DVIR) defined in the account. GET /inspection_forms. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `title` (string): Form title (contains, case-insensitive)
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).

### `fleetio_list_submitted_inspections` (~332 tokens)

List submitted inspections

List submitted inspections (filled-in forms) with the vehicle, the driver, the number of failed items and the submit time. GET /submitted_inspection_forms. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `inspection_form_id` (integer): Inspection form id
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: created_at, submitted_at, updated_at, id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `submitted_at_after` (string): Only records with submit time at or after this moment (ISO 8601).
- `submitted_at_before` (string): Only records with submit time at or before this moment (ISO 8601).
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).
- `user_id` (integer): Submitting user id
- `vehicle_id` (integer): Vehicle id

### `fleetio_list_fuel_entries` (~322 tokens)

List fuel entries

List fuel purchases/fill-ups with vehicle, volume, price, total cost and efficiency. Filter by vehicle, vendor or date. Fuel-card data is never returned. GET /fuel_entries. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `date_after` (string): Only records with fill-up date at or after this moment (ISO 8601).
- `date_before` (string): Only records with fill-up date at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, date, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).
- `vehicle_id` (integer): Vehicle id
- `vendor_id` (integer): Vendor id

### `fleetio_list_parts` (~299 tokens)

List parts

List parts (inventory catalog) with part number, manufacturer number, category and unit cost. Filter by part number, manufacturer part number or UPC. GET /parts. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `manufacturer_part_number` (string): Manufacturer part number (contains, case-insensitive)
- `number` (string): Part number (contains, case-insensitive)
- `part_category_id` (integer): Part category id
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `upc` (string): UPC
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).

### `fleetio_list_part_stock` (~161 tokens)

List part stock by location

List on-hand inventory of parts per part location (quantity by location). Filter by part or part location. GET /part_location_details. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `part_id` (integer): Part id
- `part_location_id` (integer): Part location id
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_contacts` (~311 tokens)

List contacts

List contacts (drivers, technicians, employees) with name, email, phones, job title and group. Birth dates and driver-licence data are never returned. Filter by email, last name or group. GET /contacts. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `email` (string): Email (contains, case-insensitive)
- `employee_number` (string): Employee number
- `group_id` (integer): Group id
- `last_name` (string): Last name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: group_id, created_at, updated_at, id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).

### `fleetio_list_vendors` (~260 tokens)

List vendors

List vendors (repair shops, fuel stations, parts suppliers) with address and contact details. GET /vendors. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `created_at_after` (string): Only records with creation time at or after this moment (ISO 8601).
- `created_at_before` (string): Only records with creation time at or before this moment (ISO 8601).
- `external_id` (string): External id
- `name` (string): Vendor name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `updated_at_after` (string): Only records with last update time at or after this moment (ISO 8601).
- `updated_at_before` (string): Only records with last update time at or before this moment (ISO 8601).

### `fleetio_list_vehicle_renewal_reminders` (~257 tokens)

List vehicle renewal reminders

List vehicle renewal reminders (registration, insurance, inspections due) with next-due dates. Filter by vehicle or status. GET /vehicle_renewal_reminders. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `next_due_at_after` (string): Only records with next due date at or after this moment (ISO 8601).
- `next_due_at_before` (string): Only records with next due date at or before this moment (ISO 8601).
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, due_soon_at, last_sent_at, next_due_at, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `vehicle_id` (integer): Vehicle id
- `vehicle_renewal_reminder_status` (string): Reminder status.
- `vehicle_renewal_type_id` (integer): Renewal type id

### `fleetio_list_comments` (~185 tokens)

List comments

List comments left on records. Filter by the record: commentable_type (Issue, WorkOrder, ServiceEntry, Vehicle, ...) + commentable_id. GET /comments. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `commentable_id` (integer): Id of the commented record
- `commentable_type` (string): Type of the commented record.
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `user_id` (integer): Author user id

### `fleetio_list_vehicle_statuses` (~160 tokens)

List vehicle statuses

Lookup: the vehicle statuses (Active, In Shop, Out of Service, ...) and their ids for filtering vehicles. GET /vehicle_statuses. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Status name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_vehicle_types` (~152 tokens)

List vehicle types

Lookup: the vehicle types (Car, Truck, Van, ...) and their ids. GET /vehicle_types. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Type name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_work_order_statuses` (~155 tokens)

List work order statuses

Lookup: the work order statuses (Open, In Progress, Completed, ...). GET /work_order_statuses. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Status name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_issue_priorities` (~155 tokens)

List issue priorities

Lookup: the issue priorities and their ids (needed to create an issue with a priority). GET /issue_priorities. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Priority name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_groups` (~147 tokens)

List groups

Lookup: the groups (locations/departments) and their ids. GET /groups. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Group name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_labels` (~146 tokens)

List labels

Lookup: the labels (tags) used on vehicles, issues, work orders and service entries. GET /labels. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Label name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_service_tasks` (~152 tokens)

List service tasks

Lookup: the service tasks (Oil Change, Tire Rotation, ...) and their ids. GET /service_tasks. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Task name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_list_places` (~151 tokens)

List places

List places (geofences/locations) with address, coordinates and radius. GET /places. Returns one page (keyset paging: pass next_cursor as start_cursor).

Input parameters:

- `name` (string): Place name (contains, case-insensitive)
- `per_page` (integer): Records per page, 2-100 (default 25).
- `sort_by` (string): Sort field (default: Fleetio's default order). One of: id, name, created_at, updated_at.
- `sort_direction` (string): Sort direction (default asc; used with sort_by).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_get_vehicle` (~84 tokens)

Get vehicle

One vehicle with full detail: status, type, group, meters, VIN, make/model/year, license plate, dates. GET /vehicles/{id}.

Input parameters:

- `vehicle_id` (required): Vehicle id (numeric). A VIN or license plate also works here, but only if external vehicle ids are set up in Fleetio; otherwise find the id with fleetio_list_vehicles.

### `fleetio_get_equipment` (~32 tokens)

Get equipment

One equipment record with full detail. GET /equipment/{id}.

Input parameters:

- `equipment_id` (required): Equipment id.

### `fleetio_get_work_order` (~51 tokens)

Get work order

One work order with full detail (status, vendor, technician, dates, totals). GET /work_orders/{id}.

Input parameters:

- `work_order_id` (required): Work order id (not the work order number).

### `fleetio_get_service_entry` (~46 tokens)

Get service entry

One service entry with full detail (vehicle, vendor, notes, meter readings, totals). GET /service_entries/{id}.

Input parameters:

- `service_entry_id` (required): Service entry id.

### `fleetio_get_part` (~38 tokens)

Get part

One part with full detail (number, manufacturer, category, costs). GET /parts/{id}.

Input parameters:

- `part_id` (required): Part id.

### `fleetio_get_contact` (~46 tokens)

Get contact

One contact (driver/technician/employee). Birth date and driver-licence data are never returned. GET /contacts/{id}.

Input parameters:

- `contact_id` (required): Contact id.

### `fleetio_get_vendor` (~30 tokens)

Get vendor

One vendor with full detail. GET /vendors/{id}.

Input parameters:

- `vendor_id` (required): Vendor id.

### `fleetio_get_submitted_inspection` (~58 tokens)

Get submitted inspection

One submitted inspection with every item's result (pass/fail/remarks), the vehicle, driver and any resulting work order. GET /submitted_inspection_forms/{id}.

Input parameters:

- `submitted_inspection_id` (required): Submitted inspection form id.

### `fleetio_get_inspection_form` (~37 tokens)

Get inspection form

One inspection form template with its items. GET /inspection_forms/{id}.

Input parameters:

- `inspection_form_id` (required): Inspection form id.

### `fleetio_get_issue` (~76 tokens)

Get issue

One issue with full detail (state, priority, asset, reporter, due date, resolution). Optionally include comments, labels, the asset, custom fields, documents or images. GET /issues/{id}.

Input parameters:

- `includes` (array): Extra attributes to include.
- `issue_id` (required): Issue id (not the issue number).

### `fleetio_list_work_order_line_items` (~92 tokens)

List work order line items

The line items (labor, parts, fees) of ONE work order. GET /work_orders/{id}/work_order_line_items.

Input parameters:

- `per_page` (integer): Records per page, 2-100 (default 25).
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.
- `work_order_id` (required): Work order id.

### `fleetio_list_service_entry_line_items` (~92 tokens)

List service entry line items

The line items (tasks, parts, labor) of ONE service entry. GET /service_entries/{id}/service_entry_line_items.

Input parameters:

- `per_page` (integer): Records per page, 2-100 (default 25).
- `service_entry_id` (required): Service entry id.
- `start_cursor` (string): Cursor from the previous reply's next_cursor; omit for the first page.

### `fleetio_create_issue` (~217 tokens)

Create issue

WRITE: create a new issue (a reported defect) on a vehicle or equipment. Fleetio may notify the people who watch or are assigned to it. Needs the asset id (fleetio_list_vehicles) and a summary; the report time defaults to now. Does not close, resolve or delete anything. POST /issues.

Input parameters:

- `asset_id` (integer, required): Id of the vehicle or equipment the issue is about.
- `asset_type` (string): Asset type (default Vehicle).
- `assigned_contact_ids` (array): Contact ids to assign (max 10).
- `description` (string): Longer description.
- `due_date` (string): When it should be resolved by (ISO 8601).
- `issue_priority_id` (integer): Priority id (fleetio_list_issue_priorities).
- `reported_at` (string): When the issue was reported (ISO 8601, default now).
- `reported_by_id` (integer): Contact id of the reporter.
- `summary` (string, required): Short summary of the problem.

### `fleetio_create_meter_entry` (~167 tokens)

Add meter entry

WRITE: record an odometer / engine-hour meter reading for a vehicle (primary meter, or the secondary meter with secondary=true). Fleetio rejects a value that breaks the sequence (a reading must not be lower than an earlier one by date); it cannot be deleted from here. The date defaults to now. A new reading can make service reminders due or overdue, and Fleetio may notify their watchers. POST /meter_entries.

Input parameters:

- `date` (string): When the reading was taken (ISO 8601, default now).
- `secondary` (boolean): true = the vehicle's secondary meter (default: primary).
- `value` (number, required): Meter value in the vehicle's meter unit (miles, km or hours).
- `vehicle_id` (integer, required): Vehicle id.

### `fleetio_add_comment` (~108 tokens)

Add comment

WRITE: add a comment to an issue, work order, service entry, service reminder, vehicle or part. Fleetio notifies the watchers of that record (and anyone @mentioned in the text). Comments added here cannot be edited or deleted by this server. POST /comments.

Input parameters:

- `comment` (string, required): Comment text.
- `commentable_id` (integer, required): Id of the record (not its number).
- `commentable_type` (string, required): Type of the record to comment on.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-fleetio/fleetio#diagnostics

## Score history

- 2026-10-16: 63
- 2026-10-15: 63
- 2026-10-14: 62
- 2026-10-13: 62
- 2026-10-12: 59

## Common questions

### What is the Fleetio MCP by usefulapi server?

Fleetio MCP by usefulapi is listed in the public MCP registry as io.usefulapi/fleetio. Read Fleetio vehicles, work orders, service, issues, inspections, fuel, parts; log issues, meters. This page covers its hosted endpoint (https://fleetio.usefulapi.io/mcp).

### Is the Fleetio MCP by usefulapi server safe to use?

Fleetio MCP by usefulapi scores 63 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Fleetio MCP by usefulapi server expose?

Fleetio MCP by usefulapi exposes 44 tools: fleetio_list_accounts, fleetio_list_vehicles, fleetio_list_vehicle_meter_entries, fleetio_list_meter_entries, fleetio_list_vehicle_assignments, and 39 more. Their descriptions and schemas cost roughly 8,014 tokens of context every time the server is loaded.

### Does the Fleetio MCP by usefulapi server require authentication?

Yes. Fleetio MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Fleetio MCP by usefulapi server still maintained?

Fleetio MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://fleetio.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/fleetio/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-fleetio/fleetio.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-fleetio/fleetio.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-fleetio/fleetio
