MCP Photo
List ID photo presets, plan print layouts, and render printable HTML photo sheets.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- HIGH
- MEDIUMen render_photo_sheet_html
- INFOen render_photo_sheet_html
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp-photo": {
"url": "https://mcp-photo.custom-digital-services.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp-photo.custom-digital-services.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (3)
🟢list_photo_presets
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.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢plan_photo_sheet(preset, customWidthMm, customHeightMm, cols, rows, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"preset": {
"type": "string",
"enum": [
"fr-std",
"ca-passport",
"ca-pr",
"ca-citizenship",
"ca-visa",
"custom"
],
"default": "fr-std"
},
"customWidthMm": {
"type": "number",
"minimum": 20,
"maximum": 100
},
"customHeightMm": {
"$ref": "#/properties/customWidthMm"
},
"cols": {
"type": "integer",
"minimum": 1,
"maximum": 6,
"default": 4
},
"rows": {
"type": "integer",
"minimum": 1,
"maximum": 6,
"default": 3
},
"paper": {
"type": "string",
"enum": [
"A4",
"A5",
"10x15",
"Letter"
],
"default": "A4"
},
"marginMm": {
"type": "number",
"minimum": 0,
"maximum": 20,
"default": 5
},
"gapMm": {
"type": "number",
"minimum": 0,
"maximum": 8,
"default": 0
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪render_photo_sheet_html(preset, customWidthMm, customHeightMm, cols, rows, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"preset": {
"type": "string",
"enum": [
"fr-std",
"ca-passport",
"ca-pr",
"ca-citizenship",
"ca-visa",
"custom"
],
"default": "fr-std"
},
"customWidthMm": {
"type": "number",
"minimum": 20,
"maximum": 100
},
"customHeightMm": {
"$ref": "#/properties/customWidthMm"
},
"cols": {
"type": "integer",
"minimum": 1,
"maximum": 6,
"default": 4
},
"rows": {
"type": "integer",
"minimum": 1,
"maximum": 6,
"default": 3
},
"paper": {
"type": "string",
"enum": [
"A4",
"A5",
"10x15",
"Letter"
],
"default": "A4"
},
"marginMm": {
"type": "number",
"minimum": 0,
"maximum": 20,
"default": 5
},
"gapMm": {
"type": "number",
"minimum": 0,
"maximum": 8,
"default": 0
},
"imageDataUrl": {
"type": "string"
},
"zoom": {
"type": "number",
"minimum": 1,
"maximum": 4,
"default": 1
},
"offsetXPct": {
"type": "number",
"minimum": -80,
"maximum": 80,
"default": 0
},
"offsetYPct": {
"type": "number",
"minimum": -80,
"maximum": 80,
"default": 0
},
"cutGuides": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia