MCP Photo
List ID photo presets, plan print layouts, and render printable HTML photo sheets.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (3)
- HIGH
- MEDIUMin render_photo_sheet_html
- INFOin render_photo_sheet_html
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mcp-photo": {
"url": "https://mcp-photo.custom-digital-services.com/mcp"
}
}
}Remote-Endpunkte
https://mcp-photo.custom-digital-services.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Community
Nachweis