Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Work with Immich photo library via MCP (claw2immich) - search photos by people, dates, locations, albums. Download assets via shared links. Handles multi-per...
Work with Immich photo library via MCP (claw2immich) - search photos by people, dates, locations, albums. Download assets via shared links. Handles multi-per...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
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.
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" } } }
ToolDescriptionimmich_searchassetsMetadata search (date, people, location, etc.)immich_searchsmartCLIP-based natural language searchimmich_searchpersonFind person by nameimmich_getassetinfoGet full asset details including web_urlimmich_viewassetGet thumbnail/preview as base64 (WebP)downloadAssetDownload asset via shared link (default) or inline base64immich_getallpeopleList all peopleimmich_getallalbumsList all albumsimmich_createsharedlinkCreate shared link for album/assetstool_access_reportCheck which tools are available
mcporter call immich immich_searchperson query_name="Maria"
mcporter call immich immich_searchassets \ 'body_personIds=["person-uuid-1","person-uuid-2"]' \ body_order=desc body_size=10
mcporter call immich immich_searchsmart \ body_query="sunset at the beach" body_size=5
mcporter call immich immich_getassetinfo path_id=<asset-uuid>
mcporter call immich downloadAsset asset_id=<asset-uuid> Returns a short-lived shared link (30 min, no auth needed).
mcporter call immich immich_viewasset path_id=<asset-uuid> query_size=thumbnail Returns {encoding: "base64", content_type: "image/webp", size_bytes: ..., data: "..."}.
Tool responses for assets, albums, people, and places include a web_url field: Assets: https://<domain>/photos/<asset-id> Albums: https://<domain>/albums/<album-id> People: https://<domain>/people/<person-id> This requires IMMICH_EXTERNAL_DOMAIN to be configured on the server.
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=<asset-id> query_size=thumbnail Decode base64 data, save as .webp, send to user.
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
mcporter call immich downloadAsset asset_id=<asset-uuid> Response: { "delivery_mode": "shared_link", "download_url": "https://immich.example.com/share/<token>", "expires_in_minutes": 30, "requires_auth": false } The shared link can be sent directly to users โ no auth required.
Get thumbnail via immich_viewasset (query_size=thumbnail, typically < 30KB) Decode the base64 data field Save as .webp file Send via messaging tool Note: preview size may exceed the 64KB MCP transport limit. Use thumbnail for reliable delivery.
Filtering: body_personIds: ["uuid1", "uuid2"] โ Photos with these people (AND) body_city: "string" โ Filter by city body_country: "string" โ Filter by country body_createdAfter: "ISO8601" โ Minimum date body_createdBefore: "ISO8601" โ Maximum date body_isFavorite: boolean โ Only favorites body_albumIds: ["uuid"] โ Filter by albums Sorting & Pagination: body_order: "desc" โ Newest first body_order: "asc" โ Oldest first body_size: number โ Limit results body_page: number โ Page number
body_query: "string" โ Natural language query (CLIP-based) body_size: number โ Limit results Same filter parameters as searchassets
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)
path_id: "uuid" โ Asset ID query_size: "thumbnail"|"preview" โ Image size Returns structured base64 response. Use thumbnail to stay under transport limits.
โ Correct: Array in body_personIds {"body_personIds": ["person-1", "person-2"]} โ Wrong: Separate calls (that's OR, not AND)
All OpenAPI tool parameters use prefixes: path_<name> โ Path parameters query_<name> โ Query parameters body_<name> โ Body parameters (for POST endpoints)
Always use ISO 8601: "2024-01-15T00:00:00Z"
MCP responses are truncated at 64KB. This affects: downloadAsset with inline_base64 mode (use shared_link instead) immich_viewasset with query_size=preview (use thumbnail instead) Large search results (reduce body_size)
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.
No results with multiple people: Verify person IDs (search each person first) Add body_isArchived: false if photos might be archived downloadAsset returns error: Check tool_access_report for permissions Shared link creation requires write access to shared-links API Thumbnail too large: Use query_size=thumbnail instead of preview Thumbnails are typically 5-25 KB (WebP) MCP call fails: Verify server is running: mcporter call immich ping_server Check config: mcporter list immich
Immich: https://immich.app claw2immich: https://github.com/JoeRu/claw2immich Immich API docs: https://immich.app/docs/api/
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.