# Fleetio MCP connector

The Fleetio connector brings your vehicles, work orders, service entries and service reminders to Claude, ChatGPT, Cursor and the Elaichi Agent, so your team can ask about the fleet and update records while signed in as themselves.

Source: https://elaichi.ai/connectors/fleetio/

## Facts

| | |
| --- | --- |
| Application | Fleetio |
| Category | Logistics |
| AI tools | 287 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Fleetio is connected

- Which vehicles have overdue service reminders this week?
- Open a work order for truck 214, brakes squealing.
- Summarize service entries for the delivery vans last month.

## Connect Fleetio in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Fleetio.
2. Optionally set Share with, then press Connect.
3. Paste a Fleetio API key. One person generates a token in Fleetio and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Fleetio tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Fleetio MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Fleetio MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Fleetio MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Fleetio to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Fleetio tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Fleetio through Elaichi

### See which vehicles are due for service

Fleet operations. Ask which vehicles have overdue or upcoming service reminders and get the list from Fleetio without opening a report. Follow up by asking for the ones that also have an open work order.

### Open a work order from a driver's report

Maintenance. When a driver calls in a problem, describe it in plain words and a Fleetio work order is created against the right vehicle. The details are filled in before the truck reaches the shop.

### Log the service entry after the job

Maintenance. Once the work is done, tell the agent what was replaced and what it cost, and the Fleetio service entry is recorded and the work order updated. No second trip to the desk.

### Check a vehicle before assigning a route

Dispatch. Ask whether a specific vehicle has an open work order or an overdue reminder before putting it on the road. Dispatchers get a straight answer from Fleetio in seconds.

### Pull service costs for the quarter

Finance. Ask for every Fleetio service entry in a date range and have it grouped by vehicle or by service task. Month-end review starts from live records rather than an export.

### Keep inspections and registrations on schedule

Safety and compliance. Set up Fleetio service reminders for inspections, registrations and emissions checks across the whole fleet in one conversation. Ask later which vehicles are approaching a deadline.

## Frequently asked questions

### How do I connect Fleetio to Claude?

Connect Fleetio in Elaichi by pasting a Fleetio API key, which takes about a minute and needs no OAuth application, no client ID and no secret. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in to Elaichi when Claude asks, and Fleetio is ready to use.

### Does Fleetio work with ChatGPT and Cursor as well as Claude?

Yes. Once Fleetio is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Fleetio once and every client you use picks it up.

### What can an AI agent actually do with my Fleetio data?

An agent can look up vehicles, work orders, service entries, service reminders and service tasks in Fleetio, and it can create or update them when you ask. You can ask which vehicles are overdue for service, open a work order for a truck, or log a completed repair. Short, concrete asks such as "list open work orders for van 12" work better than long paragraphs.

### Does connecting Fleetio give the AI access to my whole fleet account?

No. Every request to Fleetio runs inside the access of the person who signed in, so someone who cannot see a vehicle group in Fleetio cannot see it through an agent either. Elaichi can narrow that access further with roles and restrictions, but it can never widen what Fleetio itself allows.

### Can my team share one Fleetio connection?

Yes. One person connects Fleetio with an API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every work order or service entry.

### Can I stop an agent from deleting or changing things in Fleetio?

Yes. Restrictions in Elaichi work per action, so you can allow reading and creating work orders in Fleetio while blocking deletes on vehicles, service entries or reminders. A restricted action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt can reach it.

### What happens to a Fleetio connection when someone leaves?

When a person is offboarded in Elaichi, their access to Fleetio through every client ends at once. A shared Fleetio connection keeps working for everyone else on the team. If you ever need to remove Fleetio entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

### Does the Fleetio MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Fleetio is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 287 Fleetio tools

Every tool below is callable through https://api.elaichi.ai/mcp once Fleetio is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Fleetio vehicles** (List). List Fleetio vehicles, excluding archived ones. Returns vehicle records with id, name, vin, make, model, ownership, vehicle_status_name, meter values, group_name, and specs. Supports filtering by name, vin, license_plate, external_id, labels, group_id, vehicle_status_id, vehicle_type_id, created_at, and updated_at, plus asc/desc sorting.
- **Create a Fleetio vehicle** (Create). Create a new vehicle in Fleetio. Returns the created vehicle including id, name, vin, ownership, vehicle_status_id, vehicle_type_id, meter values, driver, and specs. Required: name, primary_meter_unit, vehicle_status_id, vehicle_type_id.
- **Get single Fleetio vehicle by ID** (Get). Get a single Fleetio vehicle by id. Returns the full vehicle record including id, name, vin, license_plate, make, model, ownership, meter values, specs, and the assigned driver. Required: id. The id may also be a VIN, license plate, or other external ID.
- **Update a Fleetio vehicle by ID** (Update). Update a Fleetio Vehicle by id. Returns the full updated vehicle object including id, name, vin, ownership, vehicle_status_id, vehicle_type_id, meter fields, labels, driver, and specs. Required: id. For bulk updates, use the Fleetio Bulk API instead to avoid rate limiting errors.
- **Delete a Fleetio vehicle by ID** (Delete). Delete a Fleetio Vehicle by id. Returns an empty 204 response on success.
- **Fleetio vehicles archive** (Archive). Archive a vehicle in Fleetio by its Fleetio ID (VIN, license plate, or other external ID may also be used to identify the vehicle). Returns an empty 204 response on success. Required: vehicle_id.
- **Fleetio vehicles restore** (Restore). Restore a previously archived vehicle in Fleetio by its Fleetio ID (VIN, license plate, or other external ID may also be used to identify the vehicle). Returns an empty 204 response on success. Required: vehicle_id.
- **List all Fleetio work orders** (List). List Fleetio work orders. Returns a cursor-paginated response with the work order objects in records, alongside start_cursor, next_cursor, per_page, estimated_remaining_count, filtered_by, and sorted_by. Supports filter and sort objects and per_page (2-100, default 50).
- **Create a Fleetio work order** (Create). Create a work order in Fleetio for a vehicle or asset. Returns the created work order object. See the Fleetio Create Work Order reference for the accepted body attributes.
- **Get single Fleetio work order by ID** (Get). Get a single Fleetio work order by id. Returns the full work order object including its line items. Required: id.
- **Update a Fleetio work order by ID** (Update). Update a Fleetio work order by id. Only the attributes supplied are changed. Returns the updated work order object. Required: id.
- **Delete a Fleetio work order by ID** (Delete). Delete a Fleetio work order by id. Returns an empty response on success. Required: id.
- **List all Fleetio service entries** (List). List Fleetio Service Entries belonging to your account. Returns each record's id, reference, status, completed_at, started_at, vehicle_id, vendor_id, and total_amount_cents, along with related vehicle, vendor, meter entry, and labels objects. Supports filtering via filter and sorting via sort; per_page accepts 2-100 (defaults to 50).
- **Create a Fleetio service entry** (Create). Create a new Service Entry in Fleetio. Returns the created record with id, created_at, updated_at, status, completed_at, vehicle_id, vehicle_name, and its service_entry_line_items. Requires completed_at, vehicle_id, and meter_entry_attributes.
- **Get single Fleetio service entry by ID** (Get). Retrieve the details of an existing Fleetio Service Entry by id. Returns the full record including id, status, reference, completed_at, vehicle_id, vehicle_name, vendor_name, work_order_number, and service_entry_line_items. Required: id.
- **Update a Fleetio service entry by ID** (Update). Update a Fleetio service entry by id. Set completion and start times, vehicle or vendor, reference, labels, notes, custom fields, meter entries, line items, comments, documents, images, and discount, tax, and total amounts. Returns an empty 204 response on success. Required: id.
- **Delete a Fleetio service entry by ID** (Delete). Delete a Fleetio service entry by id. Returns an empty 204 response on success. Required: id.
- **List all Fleetio service reminders** (List). List service reminders in Fleetio. Returns each reminder's id, vehicle_id, next_due_at, service_reminder_status, and meter/time interval details, sorted by id (defaults to desc) with support for filtering by vehicle, service task, status, and date ranges.
- **Create a Fleetio service reminder** (Create). Create a service reminder in Fleetio for a vehicle and service task, with meter or time-based recurrence, due-soon thresholds, and optional users, watchers, and comments. Returns the created reminder including id, vehicle_id, service_task_name, next_due_at, meter_interval, and service_reminder_status_name. Required: service_task_id, meter_interval, vehicle_id.
- **Get single Fleetio service reminder by ID** (Get). Get a Fleetio service reminder by id. Returns the reminder's id, vehicle_id, next_due_at, meter_interval, service_reminder_status_name, and any incomplete work orders. Required: id.
- **Update a Fleetio service reminder by ID** (Update). Update a Fleetio service reminder by id — set meter or time intervals, due-soon thresholds, next_due_at, snooze_until, active state, and associated users or watchers. Returns the updated reminder including id, active, vehicle_id, next_due_at, time_frequency, comments_count, and users. Required: id.
- **Delete a Fleetio service reminder by ID** (Delete). Delete a service reminder in Fleetio by id. Returns an empty 204 response on success. Required: id.
- **List all Fleetio service tasks** (List). List Fleetio Service Tasks belonging to your account. Returns: id, created_at, updated_at, archived_at, name, description, expected_duration_in_seconds, default_vmrs_assembly_id, default_vmrs_component_id, default_vmrs_reason_for_repair_id, default_vmrs_system_group_id, default_vmrs_system_id, service_task_category_id, standard_service_task_id, merged_service_task_id, standard, is_group,…
- **Create a Fleetio service task** (Create). Create a Fleetio Service Task. Returns: id, created_at, updated_at, account_id, archived_at, name, description, is_group, expected_duration_in_seconds, standard, category_hierarchy, service_task_category_id, standard_service_task_id, default_vmrs_reason_for_repair_id, default_vmrs_system_id, default_vmrs_assembly_id, default_vmrs_component_id, default_vmrs_system_group_id, merged_service_task_id.…
- **Get single Fleetio service task by ID** (Get). Get a Fleetio Service Task by id. Returns: id, created_at, updated_at, name, description, status, title, detail, instance. Usage requires include_usage=1; service_task_parts requires expand=service_task_parts. Required: id.
- **Update a Fleetio service task by ID** (Update). Update a Fleetio Service Task by id, changing its name (max 255 characters) and/or description. Returns an empty 204 response on success. Required: id.
- **Delete a Fleetio service task by ID** (Delete). Delete a Fleetio Service Task by id. Returns an empty 204 response on success. Required: id.
- **List all Fleetio fuel entries** (List). List Fleetio fuel entries belonging to your account. Returns records with id, date, volume amounts (us_gallons, liters), total_amount_cents, vehicle, vendor, and meter_entry. Supports filtering by external_id, vehicle_id, vendor_id, and date; max 100 per page.
- **Create a Fleetio fuel entry** (Create). Create a Fleetio fuel entry for a vehicle. Returns the created entry including id, date, us_gallons, vehicle_name, vendor_name, meter_entry, total_amount, and computed usage/fuel-economy figures. Requires vehicle_id, date, us_gallons, and meter_entry_attributes.
- **Get single Fleetio fuel entry by ID** (Get). Get a Fleetio fuel entry by id. Returns the full record including date, volume amounts (us_gallons, liters), vehicle_name, vendor_name, meter_entry, total_amount, comments, images, documents, and created_by. Required: id.
- **Update a Fleetio fuel entry by ID** (Update). Update a Fleetio fuel entry by id. Returns the updated entry including id, date, vehicle_name, vendor_name, meter_entry, total_amount, and computed usage/fuel-economy figures. Required: id.
- **Delete a Fleetio fuel entry by ID** (Delete). Delete a Fleetio fuel entry by id. Returns an empty 204 response on success. Required: id.
- **List all Fleetio meter entries** (List). List Fleetio meter entries, filterable by vehicle, date, category, meterable, and timestamps, and sortable by id or date. Returns: id, auto_voided_at, category, meter_type, meterable_id, meterable_type, value, vehicle_id, void, type, gps_provider, date.
- **Create a Fleetio meter entry** (Create). Create a Fleetio meter entry for a vehicle. Returns the created entry including id, value, date, vehicle_id, category, meter_type, and void. Requires vehicle_id, value, and date. Entries must increment in value by date; use the Bulk API when creating many entries at once to avoid rate-limiting errors.
- **Get single Fleetio meter entry by ID** (Get). Get a single Fleetio meter entry by id. Returns: id, created_at, updated_at, auto_voided_at, category, meter_type, meterable_id, meterable_type, value, vehicle_id, void, type, gps_provider, date. Required: id.
- **Update a Fleetio meter entry by ID** (Update). Update a Fleetio meter entry by id — adjust its value, date, vehicle_id, meter_type, or void status. Returns an empty 204 response on success. Required: id.
- **Delete a Fleetio meter entry by ID** (Delete). Delete a Fleetio meter entry by id. Returns an empty 204 response on success. Required: id.
- **List all Fleetio comments** (List). List Fleetio comments with optional filtering and sorting. Returns: id, created_at, updated_at, commentable_type, commentable_id, user_id, comment, rich_content, html_content, with_mentions, author, errors.
- **Create a Fleetio comment** (Create). Create a Fleetio comment on a record such as a Vehicle, FuelEntry, or Issue. Returns the created comment with id, comment, commentable_type, commentable_id, user_id, user_full_name, and created_at. Requires comment, commentable_type, and commentable_id.
- **Get single Fleetio comment by ID** (Get). Get a Fleetio comment by id. Returns the full comment including id, comment, commentable_type, commentable_id, user_id, user_full_name, and created_at. Required: id.
- **Update a Fleetio comment by ID** (Update). Update a Fleetio comment by id. Returns the updated comment including id, comment, commentable_type, commentable_id, user_id, and user_full_name. Required: id; all body fields are optional.
- **Delete a Fleetio comment by ID** (Delete). Delete a Fleetio comment by id. Returns an empty 204 response on success. Required: id.
- **List all Fleetio contacts** (List). List Fleetio contacts, excluding archived ones. Returns records with id, name, first_name, last_name, email, group_id, group_name, technician, vehicle_operator, employee flags, phone and license fields, and custom_fields. Supports filtering by email, last_name, group_id, employee_number, created_at, or updated_at, and sorting by group_id, created_at, updated_at, or id.
- **Create a Fleetio contact** (Create). Create a Fleetio contact. Returns the created contact including id, name, first_name, last_name, email, group_id, license fields, image/document/comment counts, and the associated user object. Required: first_name.
- **Get single Fleetio contact by ID** (Get). Get a single Fleetio contact by id. Returns the full contact including id, name, first_name, last_name, email, group_id, license fields, custom_fields, archived_at, and the associated user object. Required: id.
- **Update a Fleetio contact by ID** (Update). Update a Fleetio contact by id. Returns the updated contact including id, name, first_name, last_name, email, group_id, license fields, custom_fields, archived_at, and the associated user object. Required: id.
- **Delete a Fleetio contact by ID** (Delete). Delete a Fleetio contact by id. Returns an empty 204 response on success. Required: id.
- **Fleetio contacts archive** (Archive). Archive a Fleetio contact by id. Returns an empty 204 response on success. Required: contact_id.
- **Fleetio contacts restore** (Restore). Restore a previously archived Fleetio contact by id. Returns an empty 204 response on success. Required: contact_id.
- **List all Fleetio groups** (List). List Fleetio groups belonging to your account. Returns group records including id, name, default, parent_id, ancestry, created_at, and updated_at. Supports name and timestamp filters and sorting by id or timestamps.
- ...and 237 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
