claw2immich
/install claw2immich
Immich Photo Library (via claw2immich)
Work with your Immich photo library via the claw2immich MCP server. Search by people, dates, locations, and albums. Download photos via shared links or inline base64. 249 tools available from the full Immich OpenAPI spec.
Prerequisites
-
Immich instance running (https://immich.app)
-
claw2immich MCP server installed and running
- Repository: https://github.com/JoeRu/claw2immich
- Follow setup instructions in the repo README
-
MCP server configured in
config/mcporter.json:{ "mcpServers": { "immich": { "baseUrl": "http://your-claw2immich-host:port/sse" } } }
Key Tools
| Tool | Description |
|---|---|
immich_searchassets |
Metadata search (date, people, location, etc.) |
immich_searchsmart |
CLIP-based natural language search |
immich_searchperson |
Find person by name |
immich_getassetinfo |
Get full asset details including web_url |
immich_viewasset |
Get thumbnail/preview as base64 (WebP) |
downloadAsset |
Download asset via shared link (default) or inline base64 |
immich_getallpeople |
List all people |
immich_getallalbums |
List all albums |
immich_createsharedlink |
Create shared link for album/assets |
tool_access_report |
Check which tools are available |
Quick Start
Find people by name
mcporter call immich immich_searchperson query_name="Maria"
Search photos with multiple people (AND logic)
mcporter call immich immich_searchassets \
'body_personIds=["person-uuid-1","person-uuid-2"]' \
body_order=desc body_size=10
CLIP smart search (natural language)
mcporter call immich immich_searchsmart \
body_query="sunset at the beach" body_size=5
Get asset info (includes web_url)
mcporter call immich immich_getassetinfo path_id=\x3Casset-uuid>
Download a photo (shared link)
mcporter call immich downloadAsset asset_id=\x3Casset-uuid>
Returns a short-lived shared link (30 min, no auth needed).
Get thumbnail for display
mcporter call immich immich_viewasset path_id=\x3Casset-uuid> query_size=thumbnail
Returns {encoding: "base64", content_type: "image/webp", size_bytes: ..., data: "..."}.
Web URLs
Tool responses for assets, albums, people, and places include a web_url field:
- Assets:
https://\x3Cdomain>/photos/\x3Casset-id> - Albums:
https://\x3Cdomain>/albums/\x3Calbum-id> - People:
https://\x3Cdomain>/people/\x3Cperson-id>
This requires IMMICH_EXTERNAL_DOMAIN to be configured on the server.
Common Workflows
"Show me recent photos of X and Y together"
-
Find person IDs:
mcporter call immich immich_searchperson query_name="Alice" mcporter call immich immich_searchperson query_name="Bob" -
Search photos (AND logic):
mcporter call immich immich_searchassets \ 'body_personIds=["alice-id","bob-id"]' \ body_order=desc body_size=10 -
Display a photo:
mcporter call immich immich_viewasset path_id=\x3Casset-id> query_size=thumbnailDecode base64 data, save as .webp, send to user.
"Find vacation photos from summer 2024"
mcporter call immich immich_searchassets \
body_createdAfter="2024-06-01T00:00:00Z" \
body_createdBefore="2024-08-31T23:59:59Z" \
body_city="Barcelona" body_order=desc
"Download a photo"
mcporter call immich downloadAsset asset_id=\x3Casset-uuid>
Response:
{
"delivery_mode": "shared_link",
"download_url": "https://immich.example.com/share/\x3Ctoken>",
"expires_in_minutes": 30,
"requires_auth": false
}
The shared link can be sent directly to users — no auth required.
Displaying photos in chat
- Get thumbnail via
immich_viewasset(query_size=thumbnail, typically \x3C 30KB) - Decode the base64
datafield - Save as
.webpfile - Send via messaging tool
Note: preview size may exceed the 64KB MCP transport limit. Use thumbnail for reliable delivery.
Key Parameters
immich_searchassets (POST /api/search/assets)
Filtering:
body_personIds: ["uuid1", "uuid2"]— Photos with these people (AND)body_city: "string"— Filter by citybody_country: "string"— Filter by countrybody_createdAfter: "ISO8601"— Minimum datebody_createdBefore: "ISO8601"— Maximum datebody_isFavorite: boolean— Only favoritesbody_albumIds: ["uuid"]— Filter by albums
Sorting & Pagination:
body_order: "desc"— Newest firstbody_order: "asc"— Oldest firstbody_size: number— Limit resultsbody_page: number— Page number
immich_searchsmart (POST /api/search/smart)
body_query: "string"— Natural language query (CLIP-based)body_size: number— Limit results- Same filter parameters as searchassets
downloadAsset
asset_id: "uuid"— Asset to download
Delivery mode is controlled server-side via IMMICH_DOWNLOAD_ASSET_DELIVERY:
shared_link(default): Returns a tokenized shared link (30 min TTL, no auth)inline_base64: Returns base64-encoded file data (limited by 64KB transport)immich_link: Returns direct Immich URL (requires auth)
immich_viewasset (GET /api/assets/{id}/thumbnail)
path_id: "uuid"— Asset IDquery_size: "thumbnail"|"preview"— Image size
Returns structured base64 response. Use thumbnail to stay under transport limits.
Important Patterns
Multi-Person Search (AND)
✅ Correct: Array in body_personIds
{"body_personIds": ["person-1", "person-2"]}
❌ Wrong: Separate calls (that's OR, not AND)
Parameter Prefixes
All OpenAPI tool parameters use prefixes:
path_\x3Cname>— Path parametersquery_\x3Cname>— Query parametersbody_\x3Cname>— Body parameters (for POST endpoints)
Date Filtering
Always use ISO 8601: "2024-01-15T00:00:00Z"
64KB Transport Limit
MCP responses are truncated at 64KB. This affects:
downloadAssetwithinline_base64mode (useshared_linkinstead)immich_viewassetwithquery_size=preview(usethumbnailinstead)- Large search results (reduce
body_size)
Access Profiles
Set IMMICH_PROFILE on the server to restrict tools:
read_only— Only GET endpoints (search, browse)read_write— Read + write (upload, update, delete)full_scope— Everything including admin
Use tool_access_report to check available tools.
Troubleshooting
No results with multiple people:
- Verify person IDs (search each person first)
- Add
body_isArchived: falseif photos might be archived
downloadAsset returns error:
- Check
tool_access_reportfor permissions - Shared link creation requires write access to shared-links API
Thumbnail too large:
- Use
query_size=thumbnailinstead ofpreview - Thumbnails are typically 5-25 KB (WebP)
MCP call fails:
- Verify server is running:
mcporter call immich ping_server - Check config:
mcporter list immich
Reference
- Immich: https://immich.app
- claw2immich: https://github.com/JoeRu/claw2immich
- Immich API docs: https://immich.app/docs/api/
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install claw2immich - 安装完成后,直接呼叫该 Skill 的名称或使用
/claw2immich触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
claw2immich 是什么?
Work with Immich photo library via MCP (claw2immich) - search photos by people, dates, locations, albums. Download assets via shared links. Handles multi-per... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 635 次。
如何安装 claw2immich?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install claw2immich」即可一键安装,无需额外配置。
claw2immich 是免费的吗?
是的,claw2immich 完全免费(开源免费),可自由下载、安装和使用。
claw2immich 支持哪些平台?
claw2immich 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 claw2immich?
由 Johannes Rumpf(@joeru)开发并维护,当前版本 v1.0.0。