Skip to main content
Glama

CarGene

Get a series with its generations

get_vehicle
Read-onlyIdempotent

Get one series with its generations (models), the people who developed them, and the cited sources. A model_id returns the whole series the generation belongs to. Returns {series, maker, models, sources}: each model (generation) has start_year, end_year (null = still on sale), chassis_code, description, source_url, drivetrains, displacements (engine displacement in cc, one row per engine), engineers (each with role_name, source_url citing the person's own career, and link_source_url citing that person's work on this very generation; a null link_source_url means not researched yet, so do not read source_url as evidence for this generation), and its public page url; sources are the cited references for the descriptions (url, title, publisher, accessed_on). An empty drivetrains, displacements, engineers, or sources list means not researched yet, never none. Unknown ids are an error, not an empty result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
model_idNoGeneration (model) id (a UUID from search_vehicles). Takes precedence over series_id when both are given.
series_idNoSeries id (a UUID from search_vehicles).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

The description goes far beyond the annotations. It discloses that empty lists mean 'not researched yet' and never none, that null link_source_url means not researched yet and should not be read as evidence, and that unknown ids are an error rather than an empty result. These are exactly the kind of behavioral traps an agent needs to know. The annotations (readOnlyHint, idempotentHint) are consistent with the description, and the description adds substantial value beyond them.

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

Conciseness4/5

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

The description is dense but well-organized, front-loading the core purpose and then detailing the return structure and edge cases. Every sentence earns its place, though the long parenthetical about engineers and link_source_url is a bit heavy. It could be slightly more concise, but the complexity of the return object justifies the length.

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

Completeness5/5

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

For a read-only lookup tool with no output schema, the description is remarkably complete. It explains the return shape, the meaning of null and empty values, error behavior, and parameter precedence. An agent has everything it needs to call the tool correctly and interpret the result. The only thing missing is an explicit statement of when to use this tool vs. get_vehicle_relationships, but the sibling list and the description's focus on generations make that clear enough.

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

Parameters4/5

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

The schema already documents both parameters and their precedence, so the description doesn't need to repeat that. The description adds meaning by explaining what a model_id represents (a generation) and that it returns the whole series, which is not fully captured in the schema. It also clarifies the relationship between the two parameters. The only minor gap is that the description doesn't explain the format of the UUIDs, but that's not necessary.

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?

The description states a specific verb ('Get') and resource ('one series with its generations'), and immediately distinguishes it from siblings by noting that a model_id returns the whole series the generation belongs to. It also names the sibling search_vehicles as the source of the UUIDs, which helps an agent understand the tool's role in the workflow.

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

Usage Guidelines5/5

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

The description explicitly says to pass exactly one of series_id or model_id, and the schema repeats this. It also explains the precedence rule (model_id takes precedence over series_id when both are given), which is critical for correct invocation. The description does not explicitly name alternatives, but the sibling list and the UUID source reference make the usage context clear.

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.

Resources