Skip to main content
Glama

Temsor API — Turkey & EU business data

VIN Validation

vin_validate

Validates a 17-character VIN: forbidden letters, ISO 3779 check digit, WMI region/manufacturer, model year and plant.

Typos in a VIN are usually a forbidden letter (I, O, Q — they look like 1 and 0) or a shifted character. This rejects those, splits WMI/VDS/VIS, and names the manufacturer when the WMI is in a conservative built-in table. The 9th-character check digit is computed and compared, but a mismatch does not fail the VIN: it is mandatory under FMVSS 115 in North America and routinely ignored in Europe. checkDigitMatch tells you; valid stays true if the 17-character form is legal. This does not decode the full vehicle (engine, body, options) and does not prove the VIN was issued.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vinYesVehicle identification number, 17 characters.

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description fully carries the transparency burden. It details that forbidden letters and shifted characters cause rejection, that the check digit mismatch does not fail the VIN, and that the tool outputs fields like `checkDigitMatch` and `valid` with specific meanings. It also states limitations clearly.

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 concise yet informative, with two paragraphs that flow logically from general validation to specific behaviors and limitations. It avoids unnecessary fluff while covering important details.

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?

The description provides a thorough overview of what the tool validates, how it handles edge cases, and what output fields to expect (e.g., `checkDigitMatch`, `valid`). It also clarifies non-goals, making it complete for the given information. Since no output schema is provided, this level of detail is adequate.

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?

The parameter `vin` in the schema already has a description ('Vehicle identification number, 17 characters') and constraints (minLength 11, maxLength 24), covering the basics. The tool description adds context about validation behavior but does not further explain the parameter itself (e.g., accepted formats or examples). Baseline is 3 since schema coverage is 100%.

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 clearly states the tool 'validates a 17-character VIN' and lists specific aspects (forbidden letters, ISO 3779 check digit, WMI region/manufacturer, model year, plant). This is specific and distinguishes it from sibling validation tools like bic_validate or email_verify.

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?

The description implies usage when a VIN needs validation, and it clearly sets expectations by explaining what the tool does not do (does not decode the full vehicle, does not prove the VIN was issued). However, it does not explicitly contrast with alternatives beyond the natural inference from the tool name.

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.

TDQS

A4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes (e.g., bic_validate vs vin_validate), but there is notable overlap: tr_validate bundles Turkish validations that are also covered individually by iban_validate and tin_validate. Also, lei_validate and lei_lookup are closely related but distinct enough. Overall, agents can usually pick the right tool, but a few pairs could confuse.

Naming Consistency4/5

Tool names are consistently snake_case with predominately verb_noun patterns (e.g., validate, lookup, screen, parse, build). Some nouns like mcp_index, model_archive, and series_history break the verb pattern but are still predictable. Minor deviations from the noun_verb form (tr_invoice_build, shipping_identify) don't cause confusion. Very readable and consistent overall.

Tool Count3/5

With 27 tools, the set is heavy, exceeding the typical 3–15 well-scoped range. However, the server covers a broad domain: international standards validation, Turkey-specific business data (fuel, labor, invoices, addresses), and even MCP/LLM model archives. The count is justifiable given the scope, but it stretches coherence and may overwhelm agents.

Completeness4/5

The tool surface is remarkably comprehensive for the stated Turkey & EU business data purpose: validators for most ID types, VAT, IBAN, phone, VIN, sanctions; plus Turkey-specific operations like invoice build/parse, labor calculations, fuel prices, business days, and address parsing. Minor gaps exist (e.g., no general exchange-rate conversion, no credit-note-specific builder), but agents can accomplish core workflows without dead ends.

Resources