Skip to content

Connectors · Logistics & field service

Onfleet MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Onfleet and the rest of your systems. It gives your agent 88 Onfleet actions (42 reads, 35 writes and 11 that wait for a confirmation) and holds the Onfleet credential itself, so the agent never does. It paces Onfleet's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "onfleet.admins.list",  intent: "check which Onfleet account is connected"}# List administrators · read · 1 upstream call
  • 88actionsin one signed file
  • 42readlook, never change
  • 35writecreate and update
  • 11wait for a yesdestructive, confirmed first

Set up

Connect Onfleet in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Onfleet.

    Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • api_keyOnfleet API key (Dashboard > Settings > API & Webhooks)
    account { op: "connections.requirements", service: "onfleet" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "onfleet.admins.list" }# list administrators · read · 1 upstream callcheck { action: "onfleet.admins.update", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Onfleet at a glance

Sign-in
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
api_key
Limits we pace to
20 calls a second, per connection
API covered
Onfleet API v2 (onfleet.com/api/v2)onfleet.com
Built from
Onfleet's documentation, read 23 October 2026docs.onfleet.comGitHub
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
35 of 42 reads, for up to an hour; a write clears what it affects
Shared entities
2, so ask can line Onfleet up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Onfleet.

88 actions in 17 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 42readlook, never change
  • 35writecreate and update
  • 11destructivewait for a confirmation
  1. Tasks

    14

    6 read · 7 write · 1 destructive

    Create tasks in batch · Create tasks in batch (async) · Clone task · Create task

  2. Workers

    13

    8 read · 4 write · 1 destructive

    List workers · Create worker · Get worker · Update worker

  3. Teams

    11

    6 read · 4 write · 1 destructive

    List teams · Create team · Get team · Update team

  4. Orders

    6

    1 read · 3 write · 2 destructive

    Create order · Get order · Update order · Clone order

  5. Recipients

    6

    4 read · 2 write · 0 destructive

    Create recipient · Get recipient · Update recipient · Query recipients by metadata

  6. Route plans

    6

    2 read · 3 write · 1 destructive

    Create route plan · List route plans · Get route plan · Add tasks to route plan

  7. Admins

    5

    2 read · 1 write · 2 destructive

    List administrators · Update administrator · Delete administrator · Create administrator

  8. Optimizations

    5

    1 read · 3 write · 1 destructive

    Initialize route optimization · Apply optimization results · Start route optimization · Get optimization status

9 more areas · 22 actions
  • Task templates 5
  • Webhooks 4
  • Destinations 3
  • Hubs 3
  • Organizations 3
  • Auth 1
  • Custom fields 1
  • Delivery services 1
  • Organization 1

Top actions

The Onfleet API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 23 of Onfleet's 23 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
onfleet.admins.listList administratorsList all administrators (and dispatchers) in the organization.readidentity.user.list474 connectors
onfleet.admins.updateUpdate administratorUpdate an administrator.writeidentity.user.update280 connectors
onfleet.workers.listList workersList workers, optionally filtered by team, state or phone.readhr.employee.list61 connectors
onfleet.admins.deleteDelete administratorDelete an administrator.destructiveidentity.user.delete253 connectors
onfleet.teams.listList teamsList all teams.readidentity.group.list262 connectors
onfleet.teams.createCreate teamCreate a team.writeidentity.group.create205 connectors
onfleet.workers.createCreate workerCreate a worker (driver); Onfleet sends an SMS invitation.writehr.employee.create51 connectors
onfleet.recipients.createCreate recipientCreate a recipient.writecrm.contact.create161 connectors
onfleet.recipients.getGet recipientGet a single recipient.readcrm.contact.get176 connectors
onfleet.orders.createCreate orderCreate an order: a pickup and dropoff task pair sent to a courier.writecommerce.order.create67 connectors
onfleet.orders.getGet orderGet an order by ID or short ID.readcommerce.order.get87 connectors
onfleet.webhooks.createCreate webhookCreate a webhook (Onfleet validates the URL with a GET check first).writeautomation.webhook.create209 connectors

Try it

Prompts to paste into Claude.

Each one names the Onfleet actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    List everyone in Onfleet with their department and start date.

    callsonfleet.workers.list

  2. Writewrite

    Update administrator in Onfleet. Show me exactly what you will send before you save it.

    callsonfleet.admins.update

Governance for Onfleet

Destructive actions wait for a yes.

11 Onfleet actions are destructive. These are all of them:

  • Delete administratoronfleet.admins.delete
  • Delete teamonfleet.teams.delete
  • Delete workeronfleet.workers.delete
  • Delete webhookonfleet.webhooks.delete
  • Create administratoronfleet.admins.create
  • Delete taskonfleet.tasks.delete
  • Delete route planonfleet.route_plans.delete
  • Delete task templateonfleet.task_templates.delete
  • Cancel ordersonfleet.orders.cancel
  • Reject orderonfleet.orders.reject
  • Abort optimizationonfleet.optimizations.abort

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

doonfleet.admins.deleteconfirm_policy: human

Delete administrator?

intent: the user asked me to delete administrator

run suspended · waiting for a named person · key onfleet-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "onfleet-agent",  allowed_actions: ["onfleet.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "onfleet.admins.delete", approver: "[email protected]" },    { match: "onfleet.teams.delete", approver: "[email protected]" },    { match: "onfleet.workers.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Onfleet only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Onfleet costs on actionlake.

Every Onfleet action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Onfleet refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 88 Onfleet actions
  • 88actions pageeach page of a long list is one call
  • 35reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Onfleet action.

88 actions by area: the id your agent calls, what it does, and its effect.

Tasks14
  • onfleet.tasks.auto_assignAuto-assign taskswrite
  • onfleet.tasks.batch_createCreate tasks in batchwrite
  • onfleet.tasks.batch_create_asyncCreate tasks in batch (async)write
  • onfleet.tasks.batch_statusGet batch job statusread
  • onfleet.tasks.cloneClone taskwrite
  • onfleet.tasks.completeForce-complete taskwrite
  • onfleet.tasks.createCreate taskwrite
  • onfleet.tasks.custom_fields_searchSearch tasks by custom fieldsread
  • onfleet.tasks.deleteDelete taskdestructive
  • onfleet.tasks.getGet taskread
  • onfleet.tasks.get_by_short_idGet task by short IDread
  • onfleet.tasks.listList tasksread
  • onfleet.tasks.query_metadataQuery tasks by metadataread
  • onfleet.tasks.updateUpdate taskwrite
Workers13
  • onfleet.workers.container.getGet worker containerread
  • onfleet.workers.container.updateUpdate worker containerwrite
  • onfleet.workers.createCreate workerwrite
  • onfleet.workers.deleteDelete workerdestructive
  • onfleet.workers.delivery_manifestWorker delivery manifestread
  • onfleet.workers.getGet workerread
  • onfleet.workers.listList workersread
  • onfleet.workers.location.listGet workers by locationread
  • onfleet.workers.query_metadataQuery workers by metadataread
  • onfleet.workers.schedule.getGet worker scheduleread
  • onfleet.workers.schedule.setSet worker schedulewrite
  • onfleet.workers.tasks.listList worker's assigned tasksread
  • onfleet.workers.updateUpdate workerwrite
Teams11
  • onfleet.teams.container.getGet team containerread
  • onfleet.teams.container.updateUpdate team containerwrite
  • onfleet.teams.createCreate teamwrite
  • onfleet.teams.deleteDelete teamdestructive
  • onfleet.teams.dispatchTeam auto-dispatchwrite
  • onfleet.teams.estimateTeam delivery estimateread
  • onfleet.teams.getGet teamread
  • onfleet.teams.listList teamsread
  • onfleet.teams.query_metadataQuery teams by metadataread
  • onfleet.teams.tasks.listList team's unassigned tasksread
  • onfleet.teams.updateUpdate teamwrite
Orders6
  • onfleet.orders.cancelCancel ordersdestructive
  • onfleet.orders.cloneClone orderwrite
  • onfleet.orders.createCreate orderwrite
  • onfleet.orders.getGet orderread
  • onfleet.orders.rejectReject orderdestructive
  • onfleet.orders.updateUpdate orderwrite
Recipients6
  • onfleet.recipients.createCreate recipientwrite
  • onfleet.recipients.find_by_nameFind recipient by nameread
  • onfleet.recipients.find_by_phoneFind recipient by phoneread
  • onfleet.recipients.getGet recipientread
  • onfleet.recipients.query_metadataQuery recipients by metadataread
  • onfleet.recipients.updateUpdate recipientwrite
Route plans6
  • onfleet.route_plans.createCreate route planwrite
  • onfleet.route_plans.deleteDelete route plandestructive
  • onfleet.route_plans.getGet route planread
  • onfleet.route_plans.listList route plansread
  • onfleet.route_plans.set_tasksAdd tasks to route planwrite
  • onfleet.route_plans.updateUpdate route planwrite
Admins5
  • onfleet.admins.createCreate administratordestructive
  • onfleet.admins.deleteDelete administratordestructive
  • onfleet.admins.listList administratorsread
  • onfleet.admins.query_metadataQuery administrators by metadataread
  • onfleet.admins.updateUpdate administratorwrite
Optimizations5
  • onfleet.optimizations.abortAbort optimizationdestructive
  • onfleet.optimizations.applyApply optimization resultswrite
  • onfleet.optimizations.createInitialize route optimizationwrite
  • onfleet.optimizations.startStart route optimizationwrite
  • onfleet.optimizations.statusGet optimization statusread
Task templates5
  • onfleet.task_templates.createCreate task templatewrite
  • onfleet.task_templates.deleteDelete task templatedestructive
  • onfleet.task_templates.listList task templatesread
  • onfleet.task_templates.search_fieldsSearch eligible custom fieldsread
  • onfleet.task_templates.updateUpdate task templatewrite
Webhooks4
  • onfleet.webhooks.createCreate webhookwrite
  • onfleet.webhooks.deleteDelete webhookdestructive
  • onfleet.webhooks.listList webhooksread
  • onfleet.webhooks.updateUpdate webhookwrite
Destinations3
  • onfleet.destinations.createCreate destinationwrite
  • onfleet.destinations.getGet destinationread
  • onfleet.destinations.query_metadataQuery destinations by metadataread
Hubs3
  • onfleet.hubs.createCreate hubwrite
  • onfleet.hubs.listList hubsread
  • onfleet.hubs.updateUpdate hubwrite
Organizations3
  • onfleet.organizations.container.getGet organization containerread
  • onfleet.organizations.container.updateUpdate organization containerwrite
  • onfleet.organizations.getGet delegatee organizationread
Auth1
  • onfleet.auth.testTest API keyread
Custom fields1
  • onfleet.custom_fields.listList custom fieldsread
Delivery services1
  • onfleet.delivery_services.quoteQuote orderread
Organization1
  • onfleet.organization.getGet organization detailsread

Questions

The Onfleet MCP server, answered.

Is there an Onfleet MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 88 Onfleet actions across tasks, workers, teams and orders, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Onfleet.

What do I need to connect Onfleet?

Onfleet API key (Dashboard > Settings > API & Webhooks). The free call account { op: "connections.requirements", service: "onfleet" } lists exactly what to paste.

Can an AI agent delete or change things in Onfleet?

Only if its key allows it, and only with an explicit confirmation. 11 Onfleet actions are destructive, including delete administrator, delete team and delete worker. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Onfleet API limit?

actionlake paces every call to the limits in the Onfleet service file: 20 calls a second per connection. Repeated reads are answered from cache (35 Onfleet actions can be), which never reaches Onfleet.

What does an Onfleet action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (88 Onfleet actions page). Cache hits, searches, dry runs and calls Onfleet refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Onfleet API does it cover?

The Onfleet API v2 (onfleet.com/api/v2) at onfleet.com. It is built from Onfleet's documentation as read on 23 October 2026. 88 actions in 17 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Onfleet data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Onfleet credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Onfleet today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.