MCP Photo
List ID photo presets, plan print layouts, and render printable HTML photo sheets.
使うべきか
品質と安全性
検出事項(3)
- HIGH
- MEDIUMrender_photo_sheet_html 内
- INFOrender_photo_sheet_html 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `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#"
}コミュニティ
エビデンス