MCP Photo
List ID photo presets, plan print layouts, and render printable HTML photo sheets.
我该使用它吗
质量与安全性
发现(3)
- HIGH
- MEDIUM在 render_photo_sheet_html 中
- INFO在 render_photo_sheet_html 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp-photo": {
"url": "https://mcp-photo.custom-digital-services.com/mcp"
}
}
}远程端点
https://mcp-photo.custom-digital-services.com/mcpstreamable-http它能做什么
工具清单
工具(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.
输入模式
{
"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.
输入模式
{
"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.
输入模式
{
"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#"
}社区
证据