Skip to main content
Glama

mcp

Server Details

Passport, ID and MRZ recognition through the doc.cheap API — $0.01 per document

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 3 tools

Disambiguation5/5

Each tool addresses a clearly separate concern: checking credit usage, scanning an identity document, and searching API documentation. There is no overlap or ambiguity between them.

Naming Consistency4/5

All three names follow a verb_noun pattern: check_balance, scan_document, search_docs. The only minor inconsistency is 'document' versus the abbreviated 'docs', but the pattern is otherwise uniform and predictable.

Tool Count5/5

Three tools is small but well-scoped for this server's purpose: perform a scan, check account balance, and search documentation. Each tool earns its place and there is no bloat.

Completeness5/5

The tool surface covers the full intended workflow for the domain: scanning identity documents, verifying available credits before/during batch work, and looking up API details to handle errors and fields. There are no obvious dead ends or missing lifecycle operations.

Available Tools

3 tools
check_balanceCheck remaining creditsA
Read-only
Inspect

Return how many credits are left on the account and what the current period has used: the balance, the credits spent, and the scan counters broken down by status (recognized, unreadable, no document found, unsupported document, rejected). Takes no arguments and calls GET /v1/usage. One recognised document draws one credit, at $0.01; scans that recognised nothing are counted and never charged. Needs a real API key — under the public sandbox key there is no account behind the call, and the answer says so instead of reporting zeros that read like a balance. Use it before working through a batch of documents, or when a scan is refused for lack of credit.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

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

Annotations provide readOnlyHint=true and openWorldHint=true, and the description adds meaningful behavior beyond that: it calls GET /v1/usage, takes no arguments, and crucially explains that under the sandbox key the answer explicitly says there is no account rather than returning misleading zeros. It also explains the credit pricing model, which helps interpret the returned counters.

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 longer than strictly necessary, but every sentence adds value: return fields, endpoint, credit economics, sandbox caveat, and usage timing. It is front-loaded with the main answer and ends with practical guidance. The density is justified by the behavioral nuance around sandbox mode.

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?

With no output schema, the description fully explains what the tool returns (balance, credits spent, scan counters by status) and the edge case of the sandbox key. It also provides pricing context and when to use the tool. An agent has enough information to select and invoke this tool correctly without external knowledge.

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 tool has zero parameters and the schema is empty, so no parameter documentation is required. The description explicitly states 'Takes no arguments', which reinforces the empty schema and removes any ambiguity about implicit inputs. This meets the baseline for zero-parameter tools.

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 and resource: 'Return how many credits are left on the account and what the current period has used', followed by the exact data points returned. It is clearly distinct from sibling tools scan_document and search_docs, which handle document scanning and searching rather than account usage.

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 gives explicit usage context: 'Use it before working through a batch of documents, or when a scan is refused for lack of credit.' It also warns about the public sandbox key, telling the agent when the tool will not behave as a real balance readout. This is actionable guidance, though it does not name alternatives explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scan_documentRecognise a passport or ID documentA
Idempotent
Inspect

Recognise a passport, national ID card or driver's licence from a photo or scan and return what is printed on it as structured JSON. Inputs: the image as image_base64 or image_url (https, on a public address); plus the optional expect_country, return_portrait, retain_hours, reference and idempotency_key. Output: a Scan object — meta (id, status, billed, confidence, timing), document (kind, issuing country, number, series, date of issue, date of expiry, whether it has expired and how many days are left), holder (given names, surname, date of birth, sex, nationality), fields (every field read off the printed page, each with its own confidence), mrz (whether the machine-readable zone checks out, why not when it does not, and its lines exactly as read), images, quality and authenticity — plus a one-line summary of the same result. Calls POST /v1/scans. Cost: it bills one credit ($0.01) only when a document is recognised; an unreadable image, an empty frame or an unsupported type costs nothing, and meta.billed says which happened. The public sandbox key gives 10 free recognitions. Use it whenever someone hands over an identity document and wants it read, transcribed, or checked against what they claim — a name, a document number, a date of birth or an expiry date.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlNohttps: URL of an image on a public internet address, which the server fetches (25 MB maximum).
referenceNoYour own correlation string, echoed back in the result.
image_base64NoThe document image as base64 (a data: URL is also accepted).
retain_hoursNoHours the result stays readable via GET /v1/scans/{id} (0 = store nothing). Omit it to use the account's own history-retention setting.
expect_countryNoISO 3166-1 alpha-3 country you expect, or omit for any.
idempotency_keyNoMakes a retried scan return the first result instead of charging again.
return_portraitNoWhether to include the holder photograph crop, images.main_photo (default true).

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, the description discloses important behavior: it calls POST /v1/scans, bills one credit only on successful recognition, charges nothing for unreadable images, returns meta.billed to indicate what happened, exposes a sandbox key with 10 free recognitions, and explains idempotency semantics. These add real value beyond the idempotentHint annotation.

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 long but every sentence earns its place: it covers inputs, outputs, endpoint, billing, sandbox credits, and use cases in a structured, front-loaded way. It could be tightened slightly, but nothing feels redundant or redundant with the schema.

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?

With no output schema, the description fully elaborates the returned Scan object by enumerating meta, document, holder, fields, mrz, images, quality, authenticity, and the one-line summary. Combined with endpoint, cost model and sandbox details, nothing critical is missing for an agent to invoke the tool correctly.

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% and every parameter already has detailed documentation. The description summarizes the parameter names and adds helpful context like image_url requiring a public https address, but does not add substantial meaning beyond what the schema provides.

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: 'Recognise a passport, national ID card or driver's licence from a photo or scan and return what is printed on it as structured JSON.' It names exactly the accepted inputs and the classes of documents covered, and it clearly distinguishes itself from the unrelated sibling tools by scoping it to identity documents.

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 explicit usage context: 'Use it whenever someone hands over an identity document and wants it read, transcribed, or checked against what they claim.' It does not need to name alternatives since the sibling tools are unrelated, though it stops short of saying when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_docsSearch the doc.cheap API documentationA
Read-only
Inspect

Full-text search over the doc.cheap API documentation — endpoints, request options, every response field, the error codes and what to do about each, MRZ rules, retention and pricing. Takes a query and an optional limit (1 to 20, default 5), and answers with the matching sections: title, a snippet, and a link to the page. It reads a copy of the documentation shipped beside this server, so it makes no network call and works offline. Use it before guessing at a field name, an error code or a scan option — what it returns is the published contract rather than a recollection of it.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results (default 5).
queryYesWhat to search the documentation for.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnlyHint=true annotation, the description discloses a meaningful behavioral trait: it searches a local copy of the documentation, makes no network call, and works offline. It also explains the result shape (title, snippet, link), which is valuable since 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.

Conciseness5/5

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

Four sentences, each earning its place: purpose and coverage in the first, parameter and result specifics in the second, offline behavior in the third, and actionable usage guidance in the fourth. The key facts are front-loaded.

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 search tool with only two simple parameters, the description fully covers what the tool searches, how to call it, what it returns, and when to use it. The absence of an output schema is compensated by the explicit mention of title, snippet, and link in the result.

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 coverage is 100%, so both parameters are already documented in the schema. The description restates the limit range (1 to 20, default 5) and the query's role, but adds no genuinely new semantic meaning beyond what the schema provides.

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: 'Full-text search over the doc.cheap API documentation.' It further scopes the content (endpoints, fields, error codes, MRZ rules, pricing), clearly distinguishing this search tool from the sibling operational tools check_balance and scan_document.

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 explicit when-to-use guidance: 'Use it before guessing at a field name, an error code or a scan option.' It also clarifies that results are the published contract, reinforcing reliability. It does not explicitly name alternatives or state when not to use it, but the sibling tools make the distinction obvious.

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.

  1. 3 tool updates
    • First observedcheck_balance
    • First observedscan_document
    • First observedsearch_docs

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to recognize passports, national ID cards, and driver's licenses from images and return the printed fields, MRZ data, and authenticity results as structured JSON.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Extract structured, schema-typed data from invoices, purchase orders, receipts, and tax forms, and classify documents into custom label sets — via a hosted MCP server. Free tier included.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources