Immich MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IMMICH_URL | Yes | Base URL of your Immich server, e.g. http://localhost:2283 | |
| IMMICH_API_KEY | Yes | API key from Immich settings |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| immich_search_smartA | Search photos using natural language (CLIP). Examples: 'sunset at beach', 'birthday cake', 'red car'. Returns matching photos with metadata. Use withImages=true to see thumbnails. |
| immich_search_metadataC | Search photos by metadata: date range, location, camera, file type, etc. |
| immich_search_peopleB | Search for recognized people by name. Returns person entries with face thumbnails. |
| immich_get_assetA | Fetch a photo/video and return it as an image the LLM can see. Use this to visually inspect a photo. |
| immich_get_asset_infoA | Get full metadata/EXIF info for an asset as JSON. Does not include the image itself. |
| immich_upload_assetB | Upload an image to Immich. Provide base64 data or a description to generate. The image is added to the library. |
| immich_update_assetB | Update an asset's metadata: description, favorite status, rating, date, location. |
| immich_delete_assetsB | Delete assets by IDs. Moves to trash by default. |
| immich_list_albumsB | List all albums with asset counts. |
| immich_create_albumC | Create a new album, optionally adding assets to it. |
| immich_add_to_albumC | Add assets to an existing album. |
| immich_get_albumB | Get album details including all assets. Use withImages=true to see thumbnails of album contents. |
| immich_list_peopleC | List all recognized people with face counts. |
| immich_rename_personC | Name or rename a recognized person. |
| immich_merge_peopleC | Merge duplicate face clusters into one person. |
| immich_get_statisticsA | Get library statistics: photo count, video count, total size, etc. |
| immich_run_jobC | Trigger a server job: face detection, facial recognition, smart search (CLIP), sidecar metadata, thumbnail generation, video conversion, or storage migration. |
| immich_describe_photoA | Fetch a photo so the LLM can see it, along with all metadata. Perfect for generating descriptions, analyzing content, or identifying what's in a photo. |
| immich_bulk_updateB | Bulk update descriptions/metadata for multiple assets. Feed LLM-generated descriptions back into Immich. Pass an array of {id, description, isFavorite, rating}. |
| immich_server_infoA | Get Immich server version, features, and configuration. |
| immich_random_assetsB | Get random photos from the library. Great for exploring or sampling. Use withImages=true to see them. |
| immich_get_asset_by_dateC | Get photos from a specific date or date range. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Most tools target distinct resources/actions, but immich_get_asset, immich_describe_photo, and immich_get_asset_info overlap significantly (image vs image+metadata vs metadata-JSON), and immich_get_asset_by_date overlaps with immich_search_metadata's date filtering. Descriptions mostly disambiguate these, so confusion is limited to a couple of pairs.
All tools use a consistent immich_ prefix followed by snake_case verb_noun or noun_resource patterns (search_smart, get_asset, list_albums, create_album, delete_assets). No mixed camelCase/snake_case or inconsistent verb styles; only minor non-verb-led names like immich_random_assets.
22 tools is on the heavy side for a photo library server, and a few (describe_photo duplicating get_asset + get_asset_info) don't fully earn their place. The breadth of search/album/people/job features justifies most tools, but it sits in the borderline-heavy range.
Core asset lifecycle is covered (upload, get, update, delete, bulk update) plus rich search, people, jobs, and stats. However album management lacks delete/update album and remove-from-album operations, leaving some dead ends in the album workflow.