Skip to main content
Glama

Server Details

Passport and visa photo rules for 83 documents in 49 countries, and upload limits as exact numbers.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. 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.1/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a clearly distinct action: checking a file's numbers against rules, searching a document list, retrieving one document's rules, and interpreting raw upload rules into exact numbers. The boundaries are sharp, and descriptions make it easy to pick the right tool for a given situation.

Naming Consistency5/5

All four tool names use snake_case and follow a consistent verb_noun pattern (check_file_numbers, find_photo_requirements, get_photo_requirements, interpret_upload_rules). The convention is predictable and readable throughout.

Tool Count5/5

Four tools are well-scoped for a passport/visa photo requirements checker: search, retrieve, interpret, and verify. Each tool earns its place with no redundancy, and the set is neither too thin nor bloated.

Completeness4/5

The surface covers search, retrieval, interpretation, and checking of photo requirements, which are the core informational tasks. However, there is no tool to actually resize, crop, or convert a file, which is a minor gap given the server name SafeResize and the mention of a fixing tool; users are instead directed to an external link.

Available Tools

4 tools
check_file_numbersCheck file numbers against upload rulesA
Read-only
Inspect

Check a file's size in bytes, pixels and type against a website's upload rules, without sending the file. Use when you already know the numbers (e.g. from the file's properties).

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNo
formatNojpg, png, webp or pdf
heightNo
rules_textYesThe website's rules as written
file_size_bytesNoExact size in bytes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, and the description adds a genuinely useful trait beyond them: the check is performed locally 'without sending the file', so the agent knows no upload or external call occurs. It does not say what verdict/format comes back, which is left implied.

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?

Two tight sentences with the core action front-loaded and the usage condition second; every clause earns its place and nothing is repeated from the schema or annotations.

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

Completeness3/5

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

For a tool with no output schema and no annotations about results, the description should at least indicate the shape of the answer (compliant/non-compliant, offending rule). It covers inputs well but leaves the return value entirely unstated.

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 60% (width and height have none), so the description meaningfully maps its concepts to parameters: 'size in bytes' -> file_size_bytes, 'pixels' -> width/height, 'type' -> format. It adds this conceptual mapping but no format or unit guidance, so it neither fully compensates nor is redundant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: check a file's size/pixels/type against a website's upload rules, plus the key qualifier 'without sending the file'. It is clearly distinct from plain rule-fetchers like get_photo_requirements, though it does not explicitly contrast itself with the closer sibling interpret_upload_rules.

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?

'Use when you already know the numbers (e.g. from the file's properties)' is an explicit precondition that tells the agent exactly when this tool applies. It stops short of naming the alternative to use when the numbers are unknown, so it is clear context rather than full when/when-not routing.

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

find_photo_requirementsFind a passport or visa photo documentA
Read-only
Inspect

Search SafeResize's verified list of 83 passport and visa photo documents (49 countries and regions) by country, document or form name, e.g. "US visa", "DS-160", "Schengen", "India OCI", "Dubai". Returns matching documents with their document_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (default 8)
queryYesCountry, document or form, e.g. "UK passport" or "DS-160"

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true) and the closed-corpus nature (openWorldHint=false); the description usefully reinforces this by stating the list is a fixed, verified set of 83 documents and that results carry a document_id for chaining. It does not discuss pagination behavior or what happens on zero matches, so it stops short of a 5.

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?

A single tightly written sentence that front-loads the operation and corpus, then gives the matching keys, examples, and return shape. No filler or redundancy.

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?

With no output schema, the description correctly discloses the return shape (matching documents plus document_id). It leaves minor gaps: no explicit pointer to get_photo_requirements for full requirements, and no note on behavior when nothing matches.

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 both parameters are already documented, including examples for query and the default/max for limit. The description's 'by country, document or form name' largely restates the schema, adding little beyond confirming query is free-text, so baseline 3 is appropriate.

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?

States a specific verb and resource ('Search ... list of 83 passport and visa photo documents') plus exact lookup keys (country, document, form name) and concrete example queries. The detail that it 'returns matching documents with their document_id' signals search-then-fetch semantics, which distinguishes it from an id-based sibling like get_photo_requirements.

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?

Gives clear context for when to call it (free-text lookup by country, document, or form name) and rich examples ('US visa', 'DS-160', 'Schengen', 'India OCI', 'Dubai'). It stops short of explicitly naming alternatives or stating when not to use it, e.g. fetching details by a known document_id.

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

get_photo_requirementsGet the official photo rules for a documentA
Read-only
Inspect

Official photo rules for one document: printed size, pixel rule, file size in KB, file type, background, head size, other rules, whether a self-made photo is accepted, the official source URL and the date SafeResize checked it, plus a link to make the photo free at saferesize.com. Always tell the user to confirm on the official source before applying.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYesFrom find_photo_requirements, e.g. "us-visa", "uk-passport", "schengen-visa", "in-oci"

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, openWorldHint=false), so the description is free to add value elsewhere, and it does: it discloses the full set of returned fields, that a freshness date ('the date SafeResize checked it') is included, and a required user-facing disclaimer. It does not discuss rate limits or auth, but for a safe local read the added output context is meaningful.

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?

A single dense sentence front-loads the resource ('Official photo rules for one document') and then enumerates the payload, followed by one actionable instruction. The enumerated list is long but each item carries information; there is no filler.

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?

With no output schema, the description correctly compensates by enumerating the returned fields, and it adds the confirm-on-official-source obligation. For a single-parameter read tool this is close to complete; only the upstream dependency on find_photo_requirements is left to the schema rather than stated in prose.

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 the single document_id parameter is fully documented in the schema, including example values and its origin (find_photo_requirements). The description adds no parameter-level detail of its own, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb+resource ('Official photo rules for one document') and enumerates exactly what comes back, so the agent knows precisely what this tool returns. It does not explicitly name the sibling it depends on (find_photo_requirements), though the input schema carries that routing, so it falls just short of full sibling differentiation.

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

Usage Guidelines3/5

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

Usage is only implied: the agent can infer it should call this when it needs photo rules for a specific document ID. The only explicit guidance is a downstream instruction to tell the user to confirm on the official source. No when-not-to-use or alternative tools (find_photo_requirements, interpret_upload_rules) are named in the description itself.

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

interpret_upload_rulesRead a website's upload rulesA
Read-only
Inspect

Turn the upload rules a website shows (e.g. "JPG only, 10 KB to 50 KB, 200 x 230 pixels" or "PDF not more than 1 MB") into exact numbers: KB limits, a byte range that passes whether the site counts 1 KB as 1,000 or 1,024 bytes, pixels, file type, and the SafeResize tool that fixes the file.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesThe rules exactly as the website writes them

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds real behavior beyond that: it explains the byte-range ambiguity handling (1,000 vs 1,024 bytes per KB) and that it also returns the SafeResize tool that fixes the file, which tells the agent this is pure computation plus a recommendation step.

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?

A single front-loaded sentence that moves from the input to the enumerated outputs with no filler. It is dense but readable; the only minor cost is that the list of outputs makes it long.

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?

With no output schema, the description compensates by enumerating what comes back (KB limits, byte range, pixels, file type, fix tool). That is sufficient for calling it correctly, though it references a 'SafeResize tool' that is not among the listed siblings, which could cause slight ambiguity about follow-up routing.

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?

Only one parameter exists and schema coverage is 100%, so the baseline is 3. The description reiterates that the input is the rules as the website writes them, matching the schema text, but adds no format caveats or examples beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete verb (turn/interpret), the input artifact (the upload rules a website shows) and the concrete outputs (KB limits, byte range, pixels, file type). It is clearly distinct from the sibling requirements-lookup tools, though it never names an alternative to differentiate against explicitly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the agent can infer this is the tool to call when it has raw rule text and needs numeric constraints. There is no explicit when-to-use, when-not-to-use, or comparison against check_file_numbers/find_photo_requirements, leaving the routing decision to inference.

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. 4 tool updates
    • First observedcheck_file_numbers
    • First observedfind_photo_requirements
    • First observedget_photo_requirements
    • First observedinterpret_upload_rules

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources