Skip to main content
Glama

Temsor API — Turkey & EU business data

MRZ Check Digits

id_mrz

Parses ICAO 9303 TD1/TD3 MRZ and verifies check digits — format check, not identity proof.

Machine-readable zones on passports and ID cards carry ICAO 9303 check digits (weights 7,3,1). This parses TD3 (2×44, typical passport) and TD1 (3×30, typical ID card) and reports each field check. A mismatched check digit is HTTP 200 with valid:false — the string is still an MRZ, just inconsistent. This is a format check, not identity proof: it does not confirm the document was issued or that the holder is who they claim.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mrzYesICAO 9303 MRZ text: TD3 two lines of 44, or TD1 three lines of 30.

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It clearly discloses the weighted check-digit scheme, the supported layouts, and the important non-standard behavior that a mismatched digit returns HTTP 200 with valid:false. It also clarifies the limitation of the check, which goes beyond the minimal input schema without contradicting any annotations.

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 compact yet informative, front-loading the core purpose before explaining formats and edge-case behavior. Every sentence contributes either task definition, input format, or important result behavior. It could trim a slight repetition of the 'not identity proof' point, but it remains well-structured.

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 covers the tool's input constraints (TD3 and TD1 line lengths), the algorithm context, and the notable valid:false response behavior. Since there is no output schema, it does partially explain the return behavior, though a more complete statement about the full result structure would be helpful. Overall, an agent can infer how and when to use the tool from the text.

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 the MRZ string parameter. The description repeats the TD3/TD1 format details but adds the practical note that TD3 is typical for passports and TD1 for ID cards. This confirms the parameter meaning without offering substantial new semantics beyond the 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?

The description opens with a specific verb and resource: 'Parses ICAO 9303 TD1/TD3 MRZ and verifies check digits.' It clearly distinguishes itself from the broader validator sibling set by naming the exact standard and formats, and it explicitly clarifies that it is a format check, not identity proof.

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 gives clear context for when to use the tool: to parse TD3 or TD1 MRZ strings and verify ICAO check digits. It also provides a notable exclusion by stating it is not identity proof and does not confirm issuance or holder identity, which helps an agent avoid overusing it, though it does not explicitly point to an alternative tool.

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