Fleetkeep
Server Details
Read vehicle records, service history and reminder settings. OAuth access via supported clients.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a distinct scope: fleet-wide action brief, single-vehicle action detail, and vehicle search. Descriptions clearly delineate limits and use cases, leaving no overlap.
All names use snake_case with a consistent verb_noun pattern (get_fleet_action_brief, get_vehicle_action_detail, search_vehicles). The verbs differ appropriately by operation (get for retrieval, search for search).
Three tools are well-scoped for a read-only action brief server, each covering a necessary scope (fleet, vehicle, search) without redundancy. The count is at the lower end but appropriate.
Core read operations for fleet and vehicle actions are covered, but there is no direct action lookup by ID or comprehensive enumeration (lists are capped, no total counts). Agents can work around these limits via search and vehicle detail, so gaps are minor.
Available Tools
3 toolsget_fleet_action_briefGet fleet action briefARead-onlyIdempotentInspect
Return the top 20 MOT, tax, insurance, service and open maintenance actions across fleets of up to 300 vehicles. Compliance actions include overdue dates and the next 30 days. Larger fleets examine the first 300 vehicles by registration and report incomplete coverage with an unknown total. Check coverage before making fleet-wide claims. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| actions | Yes | |
| coverage | Yes | |
| data_notice | Yes | |
| generated_at | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint=false), the description discloses a non-obvious behavioral trait: fleets over 300 vehicles are silently truncated to the first 300 by registration, with incomplete coverage and an unknown total reported. That truncation/coverage caveat is genuinely useful and not inferable from structured fields, though "Read-only" merely restates the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded: the scope, action types and cap come first, followed by the coverage caveat and the safety note. Every sentence earns its place except the trailing "Read-only," which duplicates the readOnlyHint annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. The description covers scope, action categories, the compliance window, the truncation behavior, and the coverage caveat an agent needs before making fleet-wide statements, leaving nothing essential missing for a single-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single `limit` parameter (default 20, max 20), so the description must carry the burden. It mentions "top 20" but never explains that `limit` controls the count, nor the 1-20 bounds, leaving the parameter's semantics only partially implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (MOT, tax, insurance, service and open maintenance actions) plus an explicit scope ceiling (fleets up to 300 vehicles). An agent can immediately distinguish this fleet-level brief from the vehicle-level sibling get_vehicle_action_detail without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real operational context: compliance actions cover overdue dates plus the next 30 days, and the instruction "Check coverage before making fleet-wide claims" tells the agent how to consume the result responsibly. It does not, however, explicitly name when to prefer this over the sibling get_vehicle_action_detail or search_vehicles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicle_action_detailGet vehicle action and reminder detailARead-onlyIdempotentInspect
Return up to 20 actions and the latest 20 reminder records for one owned vehicle. These lists are not exhaustive; open_maintenance_count is the exact open-maintenance total. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| vehicle_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| detail | Yes | |
| data_notice | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive, closed-world), the description discloses critical behavioral traits: the lists are capped at 20 actions and the latest 20 reminders, they are explicitly not exhaustive, and open_maintenance_count is called out as the authoritative open-maintenance total. This truncation/authority disclosure is exactly the kind of context an agent needs to avoid misreading partial results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core return behavior and immediately followed by the truncation caveat. Every clause carries information; the only near-redundancy is the trailing "Read-only," which the annotations already establish.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value structure need not be explained, and the description still adds the valuable caveat about list truncation. What is missing is routing guidance against the sibling tools, which keeps it from being fully complete for an agent choosing between vehicle-level and fleet-level views.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single vehicle_id parameter has 0% schema description coverage, so the schema only supplies type/format/pattern. The description adds the meaningful constraint that the vehicle must be "owned," but gives no further detail on identifier semantics or behavior for a non-owned vehicle. Partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ("Return") and names the resources (actions and reminder records) scoped to "one owned vehicle," which implicitly separates it from the fleet-level get_fleet_action_brief. It stops short of explicitly naming or contrasting the sibling, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "for one owned vehicle" implies the usage context (single-vehicle drill-down versus a fleet view), but there is no explicit statement of when to choose this over get_fleet_action_brief or search_vehicles. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vehiclesSearch vehicles, MOT and maintenanceARead-onlyIdempotentInspect
Search owned vehicles with exact open-maintenance counts and earliest maintenance dates. Returns at most the requested limit, not a total match count. Narrow the query if the limit is reached. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| vehicles | Yes | |
| data_notice | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive and closed-world, so 'Read-only' is largely redundant. The description nevertheless adds real behavioral disclosure beyond the annotations: results are capped at the limit rather than reporting a total match count, and the agent is told to narrow the query when the cap is hit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core capability, then the payload, then the result-cap caveat and the corrective action. No filler or restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers the one non-obvious result trait (limit capping, no total count). The remaining gap is the unspecified matching semantics of 'query', which is the main thing an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there are two parameters. The description clarifies that 'limit' caps returned rows, but says nothing about what fields 'query' matches (name, plate, make?), its string-matching behavior, or the maxLength constraint, so an agent cannot construct a precise query from the description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search owned vehicles') and adds the distinguishing payload ('exact open-maintenance counts and earliest maintenance dates'). It is clearly a search/list tool versus the get_*detail siblings, though it never names or contrasts them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives conditional guidance ('Narrow the query if the limit is reached') that is genuinely actionable, but does not say when to prefer this tool over get_fleet_action_brief or get_vehicle_action_detail. Usage is implied by the class of operation rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_fleet_action_brief - First observed
get_vehicle_action_detail - First observed
search_vehicles
Publisher details
- Operator
- Studea Limited ยท Publisher source
- Operator website
- https://fleetkeep.co.uk/ ยท Publisher source
- Vendor relationship
- First-party ยท Publisher source
- Documentation
- https://fleetkeep.co.uk/developers ยท Publisher source
- Trust center
- Not available
- Restrictions
- An active fleet plan and OAuth authorisation through a supported registered client are required. This listing exposes three read-only tools. Broader API and CLI permissions are separate. ยท Publisher source
Related MCP Connectors
Read your own vehicles' OBD-II scans, fault codes, telemetry and trips stored in OBD Vault.
Household health records with source attribution. Read and add records with OAuth approval.
Read-only access to your Drivara fleet โ jobs, drivers, vehicles, fuel, profit & analytics.
Identity-first automotive intelligence for vehicle resolution, specs, safety and efficiency.
Related MCP Servers
- FlicenseAqualityBmaintenanceEnables MCP clients to retrieve audited New Zealand vehicle records with full evidence, provenance, confidence, conflict state, revision history, and exact source observations through read-only tools.6-
- AlicenseAqualityBmaintenanceEnables read-only access to BMW CarData for vehicle maintenance, tire pressure, and 12V battery status, with caching and local history to stay within the daily API quota.1235 PyPIMIT
- AlicenseBqualityBmaintenanceProvides read-only access to Evolute companion API, enabling retrieval of vehicle telemetry, trips, charge sessions, and authentication status without the official app.6MIT
- AlicenseNot gradedqualityCmaintenanceProvides read-only access to open, verified vehicle brand, model, and specification data (Italy first, later EU) through MCP tools, enabling AI agents and apps to query the dataset programmatically.1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.