
Official passport and visa photo rules for 27 documents, with sources and check dates.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check a photo's measurements against a spec: aspect ratio, pixel limits, head height share and file size/format. Does not look at the image itself; for a full check use the free checker at page_url.
Spec id from list_photo_specs, e.g. us-passport.
jpg, png, heic...
Chin to crown in pixels.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http photo-rules https://passportsorted.com/mcp
Check a photo's measurements against a spec: aspect ratio, pixel limits, head height share and file size/format. Does not look at the image itself; for a full check use the free checker at page_url.
| Argument | Type | Description |
|---|---|---|
| file_kb | any | |
| spec_id* | string | Spec id from list_photo_specs, e.g. us-passport. |
| width_px* | integer | |
| height_px* | integer | |
| file_format | any | jpg, png, heic... |
| head_height_px | any | Chin to crown in pixels. |
{
"type": "object",
"title": "check_photo_requirementsArguments",
"required": [
"spec_id",
"width_px",
"height_px"
],
"properties": {
"file_kb": {
"anyOf": [
{
"type": "number",
"maximum": 100000,
"minimum": 0
},
{
"type": "null"
}
],
"title": "File Kb",
"default": null
},
"spec_id": {
"type": "string",
"title": "Spec Id",
"maxLength": 40,
"description": "Spec id from list_photo_specs, e.g. us-passport."
},
"width_px": {
"type": "integer",
"title": "Width Px",
"maximum": 20000,
"minimum": 1
},
"height_px": {
"type": "integer",
"title": "Height Px",
"maximum": 20000,
"minimum": 1
},
"file_format": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
],
"title": "File Format",
"default": null,
"description": "jpg, png, heic..."
},
"head_height_px": {
"anyOf": [
{
"type": "number",
"maximum": 20000,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Head Height Px",
"default": null,
"description": "Chin to crown in pixels."
}
}
}Official photo rules for one document: print size, pixels at 300 and 600 dpi, head height, background, glasses, expression, digital file limits, what editing the government forbids, and the official source URL with the date we checked it.
| Argument | Type | Description |
|---|---|---|
| country* | string | Country name or ISO code, e.g. 'United States', 'GB', 'Schengen'. |
| document | string | passport, visa, e-visa, dv-lottery or passport-online (online renewal). |
{
"type": "object",
"title": "get_photo_specArguments",
"required": [
"country"
],
"properties": {
"country": {
"type": "string",
"title": "Country",
"maxLength": 60,
"minLength": 2,
"description": "Country name or ISO code, e.g. 'United States', 'GB', 'Schengen'."
},
"document": {
"type": "string",
"title": "Document",
"default": "passport",
"maxLength": 40,
"description": "passport, visa, e-visa, dv-lottery or passport-online (online renewal)."
}
}
}List every passport, visa and ID photo spec we publish (including the US online passport renewal and DV lottery): id, country, document, size in mm and whether we make the photo (US$8.99 file; the check is free) or only check it.
| Argument | Type | Description |
|---|---|---|
| query | string | Optional filter, e.g. 'visa' or 'japan'. |
{
"type": "object",
"title": "list_photo_specsArguments",
"properties": {
"query": {
"type": "string",
"title": "Query",
"default": "",
"maxLength": 60,
"description": "Optional filter, e.g. 'visa' or 'japan'."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 10, 2026.