List ID photo presets, plan print layouts, and render printable HTML photo sheets.
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.
List the supported ID-photo document presets (France and Canada, with exact millimetre sizes, head-height bands, background rules and official sources), the printable paper formats, the standard grid layouts and usage notes. Takes no parameters.
This tool takes no arguments.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
List the supported ID-photo document presets (France and Canada, with exact millimetre sizes, head-height bands, background rules and official sources), the printable paper formats, the standard grid layouts and usage notes. Takes no parameters.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Compute the layout of an ID-photo print sheet without rendering it: resolves the photo size from the preset (or custom millimetres), counts the photos, and checks whether the grid fits the printable area of the chosen paper. Returns a JSON plan with ok, photo/needed/usable dimensions and a message; ok is false (never an error) when the grid does not fit.
| Argument | Type | Description |
|---|---|---|
| cols | integer | |
| rows | integer | |
| gapMm | number | |
| paper | string | |
| preset | string | |
| marginMm | number | |
| customWidthMm | number | |
| customHeightMm | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cols": {
"type": "integer",
"default": 4,
"maximum": 6,
"minimum": 1
},
"rows": {
"type": "integer",
"default": 3,
"maximum": 6,
"minimum": 1
},
"gapMm": {
"type": "number",
"default": 0,
"maximum": 8,
"minimum": 0
},
"paper": {
"enum": [
"A4",
"A5",
"10x15",
"Letter"
],
"type": "string",
"default": "A4"
},
"preset": {
"enum": [
"fr-std",
"ca-passport",
"ca-pr",
"ca-citizenship",
"ca-visa",
"custom"
],
"type": "string",
"default": "fr-std"
},
"marginMm": {
"type": "number",
"default": 5,
"maximum": 20,
"minimum": 0
},
"customWidthMm": {
"type": "number",
"maximum": 100,
"minimum": 20
},
"customHeightMm": {
"$ref": "#/properties/customWidthMm"
}
},
"additionalProperties": false
}Render a self-contained, printable HTML sheet tiling one ID photo at real physical size across a cols x rows grid on the chosen paper, with optional cut guides and image framing (zoom/offset). Pass the photo as an inline base64 data URL (image/jpeg or image/png); without one, the sheet prints sized placeholders. If the grid does not fit the paper, the tool returns a structured error with the exact needed and usable dimensions and renders nothing. WARNING: a base64 image payload is large and is echoed back inside the returned HTML, so it consumes a lot of the calling LLM client's context window; resize/compress the image (small JPEG, 3 MB decoded max) before calling, and prefer plan_photo_sheet when you only need the geometry.
| Argument | Type | Description |
|---|---|---|
| cols | integer | |
| rows | integer | |
| zoom | number | |
| gapMm | number | |
| paper | string | |
| preset | string | |
| marginMm | number | |
| cutGuides | boolean | |
| offsetXPct | number |
| offsetYPct | number |
| imageDataUrl | string |
| customWidthMm | number |
| customHeightMm | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"cols": {
"type": "integer",
"default": 4,
"maximum": 6,
"minimum": 1
},
"rows": {
"type": "integer",
"default": 3,
"maximum": 6,
"minimum": 1
},
"zoom": {
"type": "number",
"default": 1,
"maximum": 4,
"minimum": 1
},
"gapMm": {
"type": "number",
"default": 0,
"maximum": 8,
"minimum": 0
},
"paper": {
"enum": [
"A4",
"A5",
"10x15",
"Letter"
],
"type": "string",
"default": "A4"
},
"preset": {
"enum": [
"fr-std",
"ca-passport",
"ca-pr",
"ca-citizenship",
"ca-visa",
"custom"
],
"type": "string",
"default": "fr-std"
},
"marginMm": {
"type": "number",
"default": 5,
"maximum": 20,
"minimum": 0
},
"cutGuides": {
"type": "boolean",
"default": true
},
"offsetXPct": {
"type": "number",
"default": 0,
"maximum": 80,
"minimum": -80
},
"offsetYPct": {
"type": "number",
"default": 0,
"maximum": 80,
"minimum": -80
},
"imageDataUrl": {
"type": "string"
},
"customWidthMm": {
"type": "number",
"maximum": 100,
"minimum": 20
},
"customHeightMm": {
"$ref": "#/properties/customWidthMm"
}
},
"additionalProperties": false
}