Skip to main content
Glama

Fleetio MCP by usefulapi

List contacts

fleetio_list_contacts
Read-only

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 Schema

NameRequiredDescriptionDefault
emailNoEmail (contains, case-insensitive)
sort_byNoSort field (default: Fleetio's default order). One of: group_id, created_at, updated_at, id.
group_idNoGroup id
per_pageNoRecords per page, 2-100 (default 25).
last_nameNoLast name (contains, case-insensitive)
start_cursorNoCursor from the previous reply's next_cursor; omit for the first page.
sort_directionNoSort direction (default asc; used with sort_by).
employee_numberNoEmployee number
created_at_afterNoOnly records with creation time at or after this moment (ISO 8601).
updated_at_afterNoOnly records with last update time at or after this moment (ISO 8601).
created_at_beforeNoOnly records with creation time at or before this moment (ISO 8601).
updated_at_beforeNoOnly records with last update time at or before this moment (ISO 8601).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuinely useful non-schema context: which fields are returned, the privacy guarantee that birth dates and driver-licence data are never returned, and the keyset-paging contract. It does not discuss permissions or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what the tool is, then fields, then exclusions, then filters, endpoint, and paging in a tight sequence of sentences. No filler and no redundant restatement of the name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does so by listing returned fields, exclusions, and the next_cursor envelope. Paging and filtering are covered, but nothing is said about permissions/scopes or failure behavior, and the full set of filter dimensions (date bounds, employee_number) goes unmentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every filter, sort field, date bound, and cursor. The description only restates a subset (email, last_name, group) and repeats the start_cursor rule already in the schema. Correct baseline for a fully documented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List contacts') and immediately disambiguates the resource with concrete examples (drivers, technicians, employees). It also enumerates the returned fields, so the agent knows exactly what kind of record this returns versus the single-record get_contact sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear operational context: which fields can be used to filter (email, last name, group) and how to page ('pass next_cursor as start_cursor'). It stops short of naming get_contact as the alternative for retrieving a single contact, so there is no explicit when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.