CarGene
Server Details
Japanese car genealogy with sources: generations, developers, and sales figures. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
4 toolsget_sales_figuresGet sales figuresARead-onlyIdempotentInspect
Get the sales figures of a series. Returns {series_id, url, figures, cells, region_totals, coverage, lifetime}. figures are the rows as published, each with units, the source's own wording, the period, source_url and a verbatim source_excerpt. cells are the grid a figure may be summed into, one per series, country and calendar year; a null units on a cell means the sources disagree, never zero sold. region_totals sum years within one country only, so never add across countries or add a parent region to its children. coverage rows are the blanks that were checked and found empty, with the reason. lifetime rows are cumulative or per-generation totals that must not be added to the grid. A model_id narrows figures only, since allocating a year to a generation needs the whole series. An empty list means not researched yet, never zero.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | No | Generation (model) id (a UUID from search_vehicles). Takes precedence over series_id when both are given. | |
| series_id | No | Series id (a UUID from search_vehicles). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint, idempotentHint), the description discloses crucial data behaviors: null units mean disagreement, never zero; empty lists mean not researched, never zero; region_totals must not be summed across countries; lifetime rows must not be added to the grid. This prevents serious analytical errors.
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?
The description is long but tightly packed with essential semantics; the first sentence front-loads the purpose, and each subsequent clause explains a return field or a caveat. A few clarifications could be tightened, but no sentence is wasted.
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?
With no output schema present, the description carries the full burden of explaining return values, and it does so thoroughly: every returned field is defined, edge cases are handled, and parameter behavior is clarified. Nothing critical is missing for correct invocation and interpretation.
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 schema already covers both parameters at 100%, so the baseline is 3. The description adds value by explaining why model_id narrows figures only and why the whole series is needed for year-to-generation allocation, which is not fully inferable from the schema.
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 states a specific verb and resource: 'Get the sales figures of a series.' It goes beyond a simple label by enumerating the exact returned fields and their meanings, making the tool distinctly recognizable from the sibling vehicle-focused tools.
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 description gives concrete usage context: exactly one of series_id or model_id should be passed, and model_id only narrows figures, not the series-wide allocation. It does not explicitly name alternative siblings, but the context makes the tool's role clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vehicleGet a series with its generationsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | No | Generation (model) id (a UUID from search_vehicles). Takes precedence over series_id when both are given. | |
| series_id | No | Series id (a UUID from search_vehicles). |
TDQS
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.
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.
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.
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.
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.
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.
get_vehicle_relationshipsGet relationships between generationsARead-onlyIdempotentInspect
Get the relationships between generations (succession, sibling, derivation, spiritual successor). Either id returns the whole series' relationships, because a relationship sits between two generations. Returns {series_id, url, relations}: each relation has kind and kind_name, kind_directed, from_model and to_model (each with its chassis_code, series_name and public page url), and where the source requires one, source_url with the verbatim source_excerpt; rationale is filled for spiritual successors. When kind_directed is false the two ends are interchangeable, so treat the relation as belonging to both generations. An empty relations list means not researched yet, never that the car has no relatives.
| Name | Required | Description | Default |
|---|---|---|---|
| model_id | No | Generation (model) id (a UUID from search_vehicles). Takes precedence over series_id when both are given. | |
| series_id | No | Series id (a UUID from search_vehicles). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only and idempotent, and the description adds substantial behavioral context: the meaning of kind_directed, the semantics of empty relations ('not researched yet' rather than 'no relatives'), and the presence of source_url and rationale. This goes far beyond the structured hints.
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?
The description is dense but well-structured, with each clause adding necessary semantic detail. It front-loads the core purpose, then explains the return shape AnimationEffect, edge cases for directionality and empty results, all without redundancy.
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?
Despite having no output schema, the description fully specifies the return structure, nested fields, optional fields, and special-case semantics. It gives an agent everything needed to interpret results correctly and understand the tool's behavior in unusual cases.
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 schema already fully documents both parameters with 100% coverage)SkipIt, including precedence between model_id and series_id. The description adds value by explaining that either parameter returns the whole series' relationships, which clarifies that the two ids are not independent scopes.
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 states a specific verb and resource: getting relationships between generations, enumerating the relationship kinds (succession, sibling, derivation, spiritual successor). It clearly distinguishes this from the sibling tools by focusing on relationship data rather than sales figures, vehicle details, or search results.
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 description and schema make the input rule explicit: pass exactly one of series_id or model_id, with model_id taking precedence. It clarifies that either id yields the whole series' relationships, giving an agent clear usage context, though it does not explicitly name alternatives or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_vehiclesSearch vehiclesARead-onlyIdempotentInspect
Find series by name, maker name, or a generation's chassis code. Series names match by normalized substring (width, case, kana), maker names by prefix, chassis codes by substring of the code as written (a slash-joined code is one string, not split). Returns {query, hits: [{series, maker, matched_models}]} where each series and model carries its public page url; pass the ids in the hits to the other skills. Empty hits means nothing matched the query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Series name, maker name, or chassis code. Width, case, hiragana/katakana, long vowel marks and hyphens are normalized away before matching. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses detailed matching behavior: normalized substrings for series names, prefix matching for makers, substring matching for chassis codes, and that slash-joined codes are treated as a single string. It also specifies the return shape and empty-results meaning, which is especially valuable given there is no output schema.
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?
The description is compact but information-dense, with the primary purpose front-loaded. Every sentence adds useful content—matching rules, return format, and empty-hit behavior—with no filler or redundancy.
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?
For a single-parameter search tool with no output schema, the description provides everything needed: query semantics, matching rules, response shape, and how results should be consumed by other skills. It is complete without being bloated.
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 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining exactly how each query type matches: series via normalized substring, maker via prefix, chassis via raw substring. This materially helps an agent construct effective queries.
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 opens with a specific verb and resource: 'Find series by name, maker name, or a generation's chassis code.' It then details matching behavior, making the tool's role clear and distinguishing it from the sibling get_* tools, which are retrieval-oriented rather than search-oriented.
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 description clearly indicates this tool is the discovery entry point, saying to 'pass the ids in the hits to the other skills.' It also explains empty-hit semantics. It does not explicitly state when not to use it versus a specific sibling, but the 'other skills' routing provides practical usage context.
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.
4 tool updates
- First observed
get_sales_figures - First observed
get_vehicle - First observed
get_vehicle_relationships - First observed
search_vehicles
Related MCP Connectors
Japanese law, corporation & statistics data as MCP, normalized to English with source attribution.
Read-only Dutch vehicle knowledge, comparisons, terminology and cited sources for AI clients.
Collector-car auction history, live listings, bid trails, and market statistics for AI agents.
- potto-japanOAuthapp.potto
Authoritative JLPT-graded Japanese dataset (kanji, vocab, grammar, history) via MCP and REST.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceSearch, localized specs (180 spec types across 19 categories), compare, and structured filters over 102k+ vehicle variants in 19 languages, from cars-data.com.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents and chatbots to retrieve real market price ranges for used cars from carsensor.net, based on model and year, returning min/max/median prices, sample size, and confidence.ISC
- AlicenseAqualityCmaintenanceStructured financial data for ~3,800 Japanese listed companies from EDINET regulatory filings — financials, major shareholders, segments, executive compensation, and corporate history. Remote MCP over HTTPS with OAuth 2.0, free tier.131MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to access and compare Japanese public data from e-Stat, corporate registration, real estate, and invoice APIs, automatically converting codes into human-readable formats with sources and timestamps.1440 PyPI10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.