immich-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IMMICH_API_KEY | No | Immich API key. | |
| IMMICH_HEADERS | No | Extra JSON headers sent with every request. | {} |
| IMMICH_BASE_URL | Yes | Immich API base URL, e.g. http://localhost:2283/api. /api is appended automatically if missing. | |
| IMMICH_MCP_TAGS | No | Comma-separated group allow-list (e.g. Assets,Albums,Search). | |
| IMMICH_MCP_TOOLS | No | Comma-separated tool allow-list. | |
| IMMICH_ACCESS_TOKEN | No | Bearer access token (used if no API key is set). | |
| IMMICH_MCP_READONLY | No | Set to 1 to expose only GET operations. | 0 |
| IMMICH_MCP_HTTP_HOST | No | HTTP bind host (0.0.0.0 in Docker). | 127.0.0.1 |
| IMMICH_MCP_HTTP_PATH | No | HTTP endpoint path. | /mcp |
| IMMICH_MCP_HTTP_PORT | No | HTTP port. | 3000 |
| IMMICH_MCP_LOG_LEVEL | No | debug, info, warn, error (logs go to stderr). | info |
| IMMICH_MCP_TRANSPORT | No | Transport mode: stdio, http or both. | stdio |
| IMMICH_MCP_DOWNLOAD_DIR | No | Where downloaded/binary files are written. | ./downloads |
| IMMICH_MCP_EXCLUDE_TAGS | No | Comma-separated group deny-list. | |
| IMMICH_MCP_EXCLUDE_TOOLS | No | Comma-separated tool deny-list. | |
| IMMICH_MCP_HTTP_AUTH_TOKEN | No | If set, HTTP requests must send Authorization: Bearer <token>. | |
| IMMICH_MCP_MAX_RESULT_CHARS | No | Truncate large tool results. | 200000 |
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 | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| immich_accept_cluster_group_requestB | Accept a cluster group request Join the cluster group the request was created for. Immich operation: POST /cluster-groups/requests/{id}/accept · tag: Cluster groups |
| immich_add_assets_to_albumB | Add assets to an album Add multiple assets to a specific album by its ID. Immich operation: PUT /albums/{id}/assets · tag: Albums |
| immich_add_assets_to_albumsB | Add assets to albums Send a list of asset IDs and album IDs to add each asset to each album. Immich operation: PUT /albums/assets · tag: Albums |
| immich_add_memory_assetsB | Add assets to a memory Add a list of asset IDs to a specific memory. Immich operation: PUT /memories/{id}/assets · tag: Memories |
| immich_add_shared_link_assetsB | Add assets to a shared link Add assets to a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. Immich operation: PUT /shared-links/{id}/assets · tag: Shared links |
| immich_add_users_to_albumB | Share album with users Share an album with multiple users. Each user can be given a specific role in the album. Immich operation: PUT /albums/{id}/users · tag: Albums |
| immich_bulk_tag_assetsB | Tag assets Add multiple tags to multiple assets in a single request. Immich operation: PUT /tags/assets · tag: Tags |
| immich_change_passwordB | Change password Change the password of the current user. Immich operation: POST /auth/change-password · tag: Authentication |
| immich_change_pin_codeC | Change pin code Change the pin code for the current user. Immich operation: PUT /auth/pin-code · tag: Authentication |
| immich_check_bulk_uploadB | Check bulk upload Determine which assets have already been uploaded to the server based on their SHA1 checksums. Immich operation: POST /assets/bulk-upload-check · tag: Assets |
| immich_cluster_group_regenerate_peopleB | Regenerate people of users in cluster group Forcefully re-run facial recognition for all faces of users in this group. Immich operation: POST /cluster-groups/{id}/regenerate-people · tag: Cluster groups |
| immich_copy_assetB | Copy asset Copy asset information like albums, tags, etc. from one asset to another. Immich operation: PUT /assets/copy · tag: Assets |
| immich_create_activityB | Create an activity Create a like or a comment for an album, or an asset in an album. Immich operation: POST /activities · tag: Activities |
| immich_create_albumB | Create an album Create a new album. The album can also be created with initial users and assets. Immich operation: POST /albums · tag: Albums |
| immich_create_api_keyC | Create an API key Creates a new API key. It will be limited to the permissions specified. Immich operation: POST /api-keys · tag: API keys |
| immich_create_cluster_group_requestA | Create a cluster group request Ask another user to join the cluster group of the current user. Immich operation: PUT /cluster-groups/{id}/requests · tag: Cluster groups |
| immich_create_faceB | Create a face Create a new face that has not been discovered by facial recognition. The content of the bounding box is considered a face. Immich operation: POST /faces · tag: Faces |
| immich_create_jobB | Create a manual job Run a specific job. Most jobs are queued automatically, but this endpoint allows for manual creation of a handful of jobs, including various cleanup tasks, as well as creating a new database backup. Immich operation: POST /jobs · tag: Jobs |
| immich_create_libraryB | Create a library Create a new external library. Immich operation: POST /libraries · tag: Libraries |
| immich_create_memoryC | Create a memory Create a new memory by providing a name, description, and a list of asset IDs to include in the memory. Immich operation: POST /memories · tag: Memories |
| immich_create_notificationB | Create a notification Create a new notification for a specific user. Immich operation: POST /admin/notifications · tag: Notifications (admin) |
| immich_create_partnerC | Create a partner Create a new partner to share assets with. Immich operation: POST /partners · tag: Partners |
| immich_create_partner_deprecatedB | Create a partner Create a new partner to share assets with. Immich operation: POST /partners/{id} · tag: Partners DEPRECATED — prefer the replacement operation if one exists. |
| immich_create_personC | Create a person Create a new person that can have multiple faces assigned to them. Immich operation: POST /people · tag: People |
| immich_create_profile_imageB | Create user profile image Upload and set a new profile image for the current user. Immich operation: POST /users/profile-image · tag: Users |
| immich_create_sessionB | Create a session Create a session as a child to the current session. This endpoint is used for casting. Immich operation: POST /sessions · tag: Sessions |
| immich_create_shared_linkC | Create a shared link Create a new shared link. Immich operation: POST /shared-links · tag: Shared links |
| immich_create_stackB | Create a stack Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack. Immich operation: POST /stacks · tag: Stacks |
| immich_create_tagB | Create a tag Create a new tag by providing a name and optional color. Immich operation: POST /tags · tag: Tags |
| immich_create_user_adminC | Create a user Create a new user. Immich operation: POST /admin/users · tag: Users (admin) |
| immich_create_workflowB | Create a workflow Create a new workflow, the workflow can also be created with empty filters and actions. Immich operation: POST /workflows · tag: Workflows |
| immich_delete_activityB | Delete an activity Removes a like or comment from a given album or asset in an album. Immich operation: DELETE /activities/{id} · tag: Activities |
| immich_delete_albumA | Delete an album Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process. Immich operation: DELETE /albums/{id} · tag: Albums |
| immich_delete_all_sessionsA | Delete all sessions Delete all sessions for the user. This will not delete the current session. Immich operation: DELETE /sessions · tag: Sessions |
| immich_delete_api_keyA | Delete an API key Deletes an API key identified by its ID. The current user must own this API key. Immich operation: DELETE /api-keys/{id} · tag: API keys |
| immich_delete_asset_fileB | Delete an asset file Delete a file and remove it from the database. Immich operation: DELETE /asset-files/{id} · tag: Asset files |
| immich_delete_asset_metadataB | Delete asset metadata by key Delete a specific metadata key-value pair associated with the specified asset. Immich operation: DELETE /assets/{id}/metadata/{key} · tag: Assets |
| immich_delete_assetsC | Delete assets Deletes multiple assets at the same time. Immich operation: DELETE /assets · tag: Assets |
| immich_delete_bulk_asset_metadataA | Delete asset metadata Delete metadata key-value pairs for multiple assets. Immich operation: DELETE /assets/metadata · tag: Assets |
| immich_delete_cluster_group_requestB | Decline a cluster group request Delete a pending request to join a cluster group. Immich operation: DELETE /cluster-groups/requests/{id} · tag: Cluster groups |
| immich_delete_database_backupB | Delete database backup Delete a backup by its filename Immich operation: DELETE /admin/database-backups · tag: Database Backups (admin) |
| immich_delete_duplicateA | Dismiss a duplicate group Dismiss a duplicate group by its ID, unlinking all assets in the group without deleting them. Immich operation: DELETE /duplicates/{id} · tag: Duplicates |
| immich_delete_duplicatesB | Delete duplicates Delete multiple duplicate assets specified by their IDs. Immich operation: DELETE /duplicates · tag: Duplicates |
| immich_delete_faceC | Delete a face Delete a face identified by the id. Optionally can be force deleted. Immich operation: DELETE /faces/{id} · tag: Faces |
| immich_delete_integrity_reportA | Delete integrity report item Delete a given report item and perform corresponding deletion (e.g. trash asset, delete file) Immich operation: DELETE /admin/integrity/report/{id} · tag: Maintenance (admin) |
| immich_delete_libraryB | Delete a library Delete an external library by its ID. Immich operation: DELETE /libraries/{id} · tag: Libraries |
| immich_delete_memoryA | Delete a memory Delete a specific memory by its ID. Immich operation: DELETE /memories/{id} · tag: Memories |
| immich_delete_notificationC | Delete a notification Delete a specific notification. Immich operation: DELETE /notifications/{id} · tag: Notifications |
| immich_delete_notificationsC | Delete notifications Delete a list of notifications at once. Immich operation: DELETE /notifications · tag: Notifications |
| immich_delete_peopleB | Delete people Bulk delete a list of people at once. Immich operation: DELETE /people · tag: People |
| immich_delete_personC | Delete person Delete an individual person. Immich operation: DELETE /people/{id} · tag: People |
| immich_delete_profile_imageB | Delete user profile image Delete the profile image of the current user. Immich operation: DELETE /users/profile-image · tag: Users |
| immich_delete_server_licenseA | Delete server product key Delete the currently set server product key. Immich operation: DELETE /server/license · tag: Server |
| immich_delete_sessionA | Delete a session Delete a specific session by id. Immich operation: DELETE /sessions/{id} · tag: Sessions |
| immich_delete_stackB | Delete a stack Delete a specific stack by its ID. Immich operation: DELETE /stacks/{id} · tag: Stacks |
| immich_delete_stacksA | Delete stacks Delete multiple stacks by providing a list of stack IDs. Immich operation: DELETE /stacks · tag: Stacks |
| immich_delete_sync_ackC | Delete acknowledgements Delete specific synchronization acknowledgments. Immich operation: DELETE /sync/ack · tag: Sync |
| immich_delete_tagB | Delete a tag Delete a specific tag by its ID. Immich operation: DELETE /tags/{id} · tag: Tags |
| immich_delete_user_adminC | Delete a user Delete a user. Immich operation: DELETE /admin/users/{id} · tag: Users (admin) |
| immich_delete_user_licenseB | Delete user product key Delete the registered product key for the current user. Immich operation: DELETE /users/me/license · tag: Users |
| immich_delete_user_onboardingB | Delete user onboarding Delete the onboarding status of the current user. Immich operation: DELETE /users/me/onboarding · tag: Users |
| immich_delete_workflowB | Delete a workflow Delete a workflow by its ID. Immich operation: DELETE /workflows/{id} · tag: Workflows |
| immich_detect_prior_installB | Detect existing install Collect integrity checks and other heuristics about local data. Immich operation: GET /admin/maintenance/detect-install · tag: Maintenance (admin) |
| immich_download_archiveA | Download asset archive Download a ZIP archive containing the specified assets. The assets must have been previously requested via the "getDownloadInfo" endpoint. Immich operation: POST /download/archive · tag: Download |
| immich_download_assetB | Download original asset Downloads the original file of the specified asset. Immich operation: GET /assets/{id}/original · tag: Assets |
| immich_download_asset_fileB | Download an asset file Serve the contents of a specific asset file. Immich operation: GET /asset-files/{id}/download · tag: Asset files |
| immich_download_database_backupC | Download database backup Downloads the database backup file Immich operation: GET /admin/database-backups/{filename} · tag: Database Backups (admin) |
| immich_edit_assetB | Apply edits to an existing asset Apply a series of edit actions (crop, rotate, mirror) to the specified asset. Immich operation: PUT /assets/{id}/edits · tag: Assets |
| immich_empty_queueB | Empty a queue Removes all jobs from the specified queue. Immich operation: DELETE /queues/{name}/jobs · tag: Queues |
| immich_empty_trashB | Empty trash Permanently delete all items in the trash. Immich operation: POST /trash/empty · tag: Trash |
| immich_end_sessionB | End HLS streaming session Releases server resources for the streaming session. Immich operation: DELETE /assets/{id}/video/stream/{sessionId} · tag: Assets |
| immich_finish_o_authA | Finish OAuth Complete the OAuth authorization process by exchanging the authorization code for a session token. Immich operation: POST /oauth/callback · tag: Authentication |
| immich_get_about_infoC | Get server information Retrieve a list of information about the server. Immich operation: GET /server/about · tag: Server |
| immich_get_activitiesA | List all activities Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first. Immich operation: GET /activities · tag: Activities |
| immich_get_activity_statisticsA | Retrieve activity statistics Returns the number of likes and comments for a given album or asset in an album. Immich operation: GET /activities/statistics · tag: Activities |
| immich_get_admin_configC | Get the admin configuration Retrieve admin configuration. Immich operation: GET /admin/config · tag: Config (admin) |
| immich_get_admin_config_defaultsA | Get the system configuration defaults Retrieve the default value of every system configuration property. Immich operation: GET /admin/config/defaults · tag: Config (admin) |
| immich_get_admin_onboardingB | Retrieve admin onboarding Retrieve the current admin onboarding status. Immich operation: GET /system-metadata/admin-onboarding · tag: System metadata |
| immich_get_album_infoB | Retrieve an album Retrieve information about a specific album by its ID. Immich operation: GET /albums/{id} · tag: Albums |
| immich_get_album_map_markersB | Retrieve album map markers Retrieve map marker information for a specific album by its ID. Immich operation: GET /albums/{id}/map-markers · tag: Albums |
| immich_get_album_statisticsB | Retrieve album statistics Returns statistics about the albums available to the authenticated user. Immich operation: GET /albums/statistics · tag: Albums |
| immich_get_all_albumsB | List all albums Retrieve a list of albums available to the authenticated user. Immich operation: GET /albums · tag: Albums |
| immich_get_all_librariesB | Retrieve libraries Retrieve a list of external libraries. Immich operation: GET /libraries · tag: Libraries |
| immich_get_all_peopleC | Get all people Retrieve a list of all people. Immich operation: GET /people · tag: People |
| immich_get_all_shared_linksC | Retrieve all shared links Retrieve a list of all shared links. Immich operation: GET /shared-links · tag: Shared links |
| immich_get_all_tagsA | Retrieve tags Retrieve a list of all tags. Immich operation: GET /tags · tag: Tags |
| immich_get_api_keyA | Retrieve an API key Retrieve an API key by its ID. The current user must own this API key. Immich operation: GET /api-keys/{id} · tag: API keys |
| immich_get_api_keysA | List all API keys Retrieve all API keys of the current user. Immich operation: GET /api-keys · tag: API keys |
| immich_get_apk_linksB | Get APK links Retrieve links to the APKs for the current server version. Immich operation: GET /server/apk-links · tag: Server |
| immich_get_asset_duplicatesB | Retrieve duplicates Retrieve a list of duplicate assets available to the authenticated user. Immich operation: GET /duplicates · tag: Duplicates |
| immich_get_asset_editsB | Retrieve edits for an existing asset Retrieve a series of edit actions (crop, rotate, mirror) associated with the specified asset. Immich operation: GET /assets/{id}/edits · tag: Assets |
| immich_get_asset_fileB | Retrieve an asset file Returns metadata about a specific asset file. Immich operation: GET /asset-files/{id} · tag: Asset files |
| immich_get_asset_infoB | Retrieve an asset Retrieve detailed information about a specific asset. Immich operation: GET /assets/{id} · tag: Assets |
| immich_get_asset_metadataA | Get asset metadata Retrieve all metadata key-value pairs associated with the specified asset. Immich operation: GET /assets/{id}/metadata · tag: Assets |
| immich_get_asset_metadata_by_keyC | Retrieve asset metadata by key Retrieve the value of a specific metadata key associated with the specified asset. Immich operation: GET /assets/{id}/metadata/{key} · tag: Assets |
| immich_get_asset_ocrB | Retrieve asset OCR data Retrieve all OCR (Optical Character Recognition) data associated with the specified asset. Immich operation: GET /assets/{id}/ocr · tag: Assets |
| immich_get_asset_statisticsB | Get asset statistics Retrieve various statistics about the assets owned by the authenticated user. Immich operation: GET /assets/statistics · tag: Assets |
| immich_get_assets_by_cityA | Retrieve assets by city Retrieve a list of assets with each asset belonging to a different city. This endpoint is used on the places pages to show a single thumbnail for each city the user has assets in. Immich operation: GET /search/cities · tag: Search |
| immich_get_assets_by_original_pathC | Retrieve assets by original path Retrieve assets that are children of a specific folder. Immich operation: GET /view/folder · tag: Views |
| immich_get_auth_statusB | Retrieve auth status Get information about the current session, including whether the user has a password, and if the session can access locked assets. Immich operation: GET /auth/status · tag: Authentication |
| immich_get_cluster_group_requestsA | Retrieve cluster group requests Retrieve the pending requests for the current user to join a cluster group. Immich operation: GET /cluster-groups/requests · tag: Cluster groups |
| immich_get_cluster_group_requests_for_groupB | Retrieve the requests sent by a cluster group Retrieve the pending requests for other users to join the cluster group. Immich operation: GET /cluster-groups/{id}/requests · tag: Cluster groups |
| immich_get_cluster_group_usersC | Retrieve the users of a cluster group Retrieve the users that are a member of the cluster group. Immich operation: GET /cluster-groups/{id}/users · tag: Cluster groups |
| immich_get_configB | Get system configuration Retrieve the current system configuration. Immich operation: GET /system-config · tag: System config DEPRECATED — prefer the replacement operation if one exists. |
| immich_get_config_defaultsB | Get system configuration defaults Retrieve the default values for the system configuration. Immich operation: GET /system-config/defaults · tag: System config DEPRECATED — prefer the replacement operation if one exists. |
| immich_get_download_infoB | Retrieve download information Retrieve information about how to request a download for the specified assets or album. The response includes groups of assets that can be downloaded together. Immich operation: POST /download/info · tag: Download |
| immich_get_explore_dataB | Retrieve explore data Retrieve data for the explore section, such as popular people and places. Immich operation: GET /search/explore · tag: Search |
| immich_get_facesB | Retrieve faces for asset Retrieve all faces belonging to an asset. Immich operation: GET /faces · tag: Faces |
| immich_get_integrity_reportB | Get integrity report by type Get all flagged items by integrity report type Immich operation: GET /admin/integrity/report · tag: Maintenance (admin) |
| immich_get_integrity_report_csvB | Export integrity report by type as CSV Get all integrity report entries for a given type as a CSV Immich operation: GET /admin/integrity/report/{type}/csv · tag: Maintenance (admin) |
| immich_get_integrity_report_fileB | Download flagged file Download the untracked/broken file if one exists Immich operation: GET /admin/integrity/report/{id}/file · tag: Maintenance (admin) |
| immich_get_integrity_report_summaryB | Get integrity report summary Get a count of the items flagged in each integrity report Immich operation: GET /admin/integrity/summary · tag: Maintenance (admin) |
| immich_get_libraryB | Retrieve a library Retrieve an external library by its ID. Immich operation: GET /libraries/{id} · tag: Libraries |
| immich_get_library_statisticsB | Retrieve library statistics Retrieve statistics for a specific external library, including number of videos, images, and storage usage. Immich operation: GET /libraries/{id}/statistics · tag: Libraries |
| immich_get_main_playlistB | Get HLS main playlist Returns an HLS main playlist with all available variants for the asset. Immich operation: GET /assets/{id}/video/stream/main.m3u8 · tag: Assets |
| immich_get_maintenance_statusA | Get maintenance mode status Fetch information about the currently running maintenance action. Immich operation: GET /admin/maintenance/status · tag: Maintenance (admin) |
| immich_get_map_markersB | Retrieve map markers Retrieve a list of latitude and longitude coordinates for every asset with location data. Immich operation: GET /map/markers · tag: Map |
| immich_get_media_playlistB | Get HLS media playlist Returns an HLS media playlist for one variant of the streaming session. Immich operation: GET /assets/{id}/video/stream/{sessionId}/{variantIndex}/playlist.m3u8 · tag: Assets |
| immich_get_memoryA | Retrieve a memory Retrieve a specific memory by its ID. Immich operation: GET /memories/{id} · tag: Memories |
| immich_get_my_api_keyB | Retrieve the current API key Retrieve the API key that is used to access this endpoint. Immich operation: GET /api-keys/me · tag: API keys |
| immich_get_my_calendar_heatmapB | Retrieve calendar heatmap activity Retrieve activity counts for a specified period, in a calendar heatmap format. Immich operation: GET /users/me/calendar-heatmap · tag: Users |
| immich_get_my_preferencesB | Get my preferences Retrieve the preferences for the current user. Immich operation: GET /users/me/preferences · tag: Users |
| immich_get_my_shared_linkC | Retrieve current shared link Retrieve the current shared link associated with authentication method. Immich operation: GET /shared-links/me · tag: Shared links |
| immich_get_my_userB | Get current user Retrieve information about the user making the API request. Immich operation: GET /users/me · tag: Users |
| immich_get_notificationA | Get a notification Retrieve a specific notification identified by id. Immich operation: GET /notifications/{id} · tag: Notifications |
| immich_get_notification_template_adminB | Render email template Retrieve a preview of the provided email template. Immich operation: POST /admin/notifications/templates/{name} · tag: Notifications (admin) |
| immich_get_notificationsC | Retrieve notifications Retrieve a list of notifications. Immich operation: GET /notifications · tag: Notifications |
| immich_get_partnersA | Retrieve partners Retrieve a list of partners with whom assets are shared. Immich operation: GET /partners · tag: Partners |
| immich_get_personC | Get a person Retrieve a person by id. Immich operation: GET /people/{id} · tag: People |
| immich_get_person_statisticsB | Get person statistics Retrieve statistics about a specific person. Immich operation: GET /people/{id}/statistics · tag: People |
| immich_get_person_thumbnailB | Get person thumbnail Retrieve the thumbnail file for a person. Immich operation: GET /people/{id}/thumbnail · tag: People |
| immich_get_pluginB | Retrieve a plugin Retrieve information about a specific plugin by its ID. Immich operation: GET /plugins/{id} · tag: Plugins |
| immich_get_profile_imageB | Retrieve user profile image Retrieve the profile image file for a user. Immich operation: GET /users/{id}/profile-image · tag: Users |
| immich_get_public_configA | Get the public configuration Retrieve the system configuration properties that are visible to everyone. Immich operation: GET /public/config · tag: Config (public) |
| immich_get_public_config_defaultsA | Get the public configuration defaults Retrieve the default value of the configuration properties that are visible to everyone. Immich operation: GET /public/config/defaults · tag: Config (public) |
| immich_get_queueB | Retrieve a queue Retrieves a specific queue by its name. Immich operation: GET /queues/{name} · tag: Queues |
| immich_get_queue_jobsB | Retrieve queue jobs Retrieves a list of queue jobs from the specified queue. Immich operation: GET /queues/{name}/jobs · tag: Queues |
| immich_get_queuesB | List all queues Retrieves a list of queues. Immich operation: GET /queues · tag: Queues |
| immich_get_queues_legacyA | Retrieve queue counts and status Retrieve the counts of the current queue, as well as the current status. Immich operation: GET /jobs · tag: Jobs DEPRECATED — prefer the replacement operation if one exists. |
| immich_get_reverse_geocoding_stateB | Retrieve reverse geocoding state Retrieve the current state of the reverse geocoding import. Immich operation: GET /system-metadata/reverse-geocoding-state · tag: System metadata |
| immich_get_search_suggestionsA | Retrieve search suggestions Retrieve search suggestions based on partial input. This endpoint is used for typeahead search features. Immich operation: GET /search/suggestions · tag: Search |
| immich_get_segmentB | Get HLS segment or init file Streams an HLS init segment (init.mp4) or media segment (seg_N.m4s). Immich operation: GET /assets/{id}/video/stream/{sessionId}/{variantIndex}/{filename} · tag: Assets |
| immich_get_server_configC | Get config Retrieve the current server configuration. Immich operation: GET /server/config · tag: Server DEPRECATED — prefer the replacement operation if one exists. |
| immich_get_server_featuresB | Get features Retrieve available features supported by this server. Immich operation: GET /server/features · tag: Server DEPRECATED — prefer the replacement operation if one exists. |
| immich_get_server_licenseB | Get product key Retrieve information about whether the server currently has a product key registered. Immich operation: GET /server/license · tag: Server |
| immich_get_server_statisticsB | Get statistics Retrieve statistics about the entire Immich instance such as asset counts. Immich operation: GET /server/statistics · tag: Server |
| immich_get_server_versionB | Get server version Retrieve the current server version in semantic versioning (semver) format. Immich operation: GET /server/version · tag: Server |
| immich_get_sessionsB | Retrieve sessions Retrieve a list of sessions for the user. Immich operation: GET /sessions · tag: Sessions |
| immich_get_shared_link_by_idB | Retrieve a shared link Retrieve a specific shared link by its ID. Immich operation: GET /shared-links/{id} · tag: Shared links |
| immich_get_stackB | Retrieve a stack Retrieve a specific stack by its ID. Immich operation: GET /stacks/{id} · tag: Stacks |
| immich_get_storageA | Get storage Retrieve the current storage utilization information of the server. Immich operation: GET /server/storage · tag: Server |
| immich_get_storage_template_optionsB | Get storage template options Retrieve exemplary storage template options. Immich operation: GET /system-config/storage-template-options · tag: System config |
| immich_get_supported_media_typesB | Get supported media types Retrieve all media types supported by the server. Immich operation: GET /server/media-types · tag: Server |
| immich_get_sync_ackB | Retrieve acknowledgements Retrieve the synchronization acknowledgments for the current session. Immich operation: GET /sync/ack · tag: Sync |
| immich_get_sync_streamB | Stream sync changes Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes. Immich operation: POST /sync/stream · tag: Sync |
| immich_get_tag_by_idB | Retrieve a tag Retrieve a specific tag by its ID. Immich operation: GET /tags/{id} · tag: Tags |
| immich_get_time_bucketB | Get time bucket Retrieve a string of all asset ids in a given time bucket. Immich operation: GET /timeline/bucket · tag: Timeline |
| immich_get_time_bucketsC | Get time buckets Retrieve a list of all minimal time buckets. Immich operation: GET /timeline/buckets · tag: Timeline |
| immich_get_unique_original_pathsA | Retrieve unique paths Retrieve a list of unique folder paths from asset original paths. Immich operation: GET /view/folder/unique-paths · tag: Views |
| immich_get_userC | Retrieve a user Retrieve a specific user by their ID. Immich operation: GET /users/{id} · tag: Users |
| immich_get_user_adminB | Retrieve a user Retrieve a specific user by their ID. Immich operation: GET /admin/users/{id} · tag: Users (admin) |
| immich_get_user_calendar_heatmap_adminB | Retrieve calendar heatmap activity Retrieve activity counts for a specified period, in a calendar heatmap format. Immich operation: GET /admin/users/{id}/calendar-heatmap · tag: Users (admin) |
| immich_get_user_configB | Get the configuration with user visibility Retrieve the system configuration properties that are visible to logged in users. Immich operation: GET /config · tag: Config (user) |
| immich_get_user_config_defaultsA | Get the default configuration with user visibility Retrieve the default value of the configuration properties that are visible to logged in users. Immich operation: GET /config/defaults · tag: Config (user) |
| immich_get_user_licenseB | Retrieve user product key Retrieve information about whether the current user has a registered product key. Immich operation: GET /users/me/license · tag: Users |
| immich_get_user_onboardingB | Retrieve user onboarding Retrieve the onboarding status of the current user. Immich operation: GET /users/me/onboarding · tag: Users |
| immich_get_user_preferences_adminA | Retrieve user preferences Retrieve the preferences of a specific user. Immich operation: GET /admin/users/{id}/preferences · tag: Users (admin) |
| immich_get_user_sessions_adminB | Retrieve user sessions Retrieve all sessions for a specific user. Immich operation: GET /admin/users/{id}/sessions · tag: Users (admin) |
| immich_get_user_statistics_adminB | Retrieve user statistics Retrieve asset statistics for a specific user. Immich operation: GET /admin/users/{id}/statistics · tag: Users (admin) |
| immich_get_version_checkA | Get version check status Retrieve information about the last time the version check ran. Immich operation: GET /server/version-check · tag: Server |
| immich_get_version_check_stateB | Retrieve version check state Retrieve the current state of the version check process. Immich operation: GET /system-metadata/version-check-state · tag: System metadata |
| immich_get_version_historyB | Get version history Retrieve a list of past versions the server has been on. Immich operation: GET /server/version-history · tag: Server |
| immich_get_workflowB | Retrieve a workflow Retrieve information about a specific workflow by its ID. Immich operation: GET /workflows/{id} · tag: Workflows |
| immich_get_workflow_for_shareC | Retrieve a workflow Retrieve a workflow details without ids, default values, etc. Immich operation: GET /workflows/{id}/share · tag: Workflows |
| immich_get_workflow_logsB | Retrieve workflow logs Retrieve logs of a workflows runs by ID Immich operation: GET /workflows/{id}/logs · tag: Workflows |
| immich_get_workflow_triggersB | List all workflow triggers Retrieve a list of all available workflow triggers. Immich operation: GET /workflows/triggers · tag: Workflows |
| immich_leave_cluster_groupB | Leave a cluster group Move the current user into a new cluster group of their own. Immich operation: POST /cluster-groups/{id}/leave · tag: Cluster groups |
| immich_link_o_auth_accountB | Link OAuth account Link an OAuth account to the authenticated user. Immich operation: POST /oauth/link · tag: Authentication |
| immich_list_database_backupsB | List database backups Get the list of the successful and failed backups Immich operation: GET /admin/database-backups · tag: Database Backups (admin) |
| immich_lock_auth_sessionB | Lock auth session Remove elevated access to locked assets from the current session. Immich operation: POST /auth/session/lock · tag: Authentication |
| immich_lock_sessionB | Lock a session Lock a specific session by id. Immich operation: POST /sessions/{id}/lock · tag: Sessions |
| immich_loginB | Login Login with username and password and receive a session token. Immich operation: POST /auth/login · tag: Authentication |
| immich_logoutA | Logout Logout the current user and invalidate the session token. Immich operation: POST /auth/logout · tag: Authentication |
| immich_logout_o_authB | Backchannel OAuth logout Logout the OAuth account and invalidate the session specified by the sid claim or all sessions if the sid claim is not present. Immich operation: POST /oauth/backchannel-logout · tag: Authentication |
| immich_maintenance_loginA | Log into maintenance mode Login with maintenance token or cookie to receive current information and perform further actions. Immich operation: POST /admin/maintenance/login · tag: Maintenance (admin) |
| immich_memories_statisticsB | Retrieve memories statistics Retrieve statistics about memories, such as total count and other relevant metrics. Immich operation: GET /memories/statistics · tag: Memories |
| immich_merge_peopleA | Merge people Merge an ordered list of people together into a single person. The final name and birth date are always the first defined value, following the order. Also automatically merges people for other users in the cluster group, skipping people that would result in overriding a previously set name or birth date. Immich operation: POST /people/merge · tag: People |
| immich_merge_person_legacyA | Merge people Merge a list of people into the person specified in the path parameter. Immich operation: POST /people/{id}/merge · tag: People DEPRECATED — prefer the replacement operation if one exists. |
| immich_ping_serverC | Ping Pong Immich operation: GET /server/ping · tag: Server |
| immich_play_asset_videoB | Play asset video Streams the video file for the specified asset. This endpoint also supports byte range requests. Immich operation: GET /assets/{id}/video/playback · tag: Assets |
| immich_reassign_facesB | Reassign faces Bulk reassign a list of faces to a different person. Immich operation: PUT /people/{id}/reassign · tag: People |
| immich_reassign_faces_by_idB | Re-assign a face to another person Re-assign the face provided in the body to the person identified by the id in the path parameter. Immich operation: PUT /faces/{id} · tag: Faces |
| immich_redirect_o_auth_to_mobileB | Redirect OAuth to mobile Requests to this URL are automatically forwarded to the mobile app, and is used in some cases for OAuth redirecting. Immich operation: GET /oauth/mobile-redirect · tag: Authentication |
| immich_remove_asset_editsA | Remove edits from an existing asset Removes all edit actions (crop, rotate, mirror) associated with the specified asset. Immich operation: DELETE /assets/{id}/edits · tag: Assets |
| immich_remove_asset_from_albumC | Remove assets from an album Remove multiple assets from a specific album by its ID. Immich operation: DELETE /albums/{id}/assets · tag: Albums |
| immich_remove_asset_from_stackB | Remove an asset from a stack Remove a specific asset from a stack by providing the stack ID and asset ID. Immich operation: DELETE /stacks/{id}/assets/{assetId} · tag: Stacks |
| immich_remove_memory_assetsB | Remove assets from a memory Remove a list of asset IDs from a specific memory. Immich operation: DELETE /memories/{id}/assets · tag: Memories |
| immich_remove_partnerB | Remove a partner Stop sharing assets with a partner. Immich operation: DELETE /partners/{id} · tag: Partners |
| immich_remove_shared_linkB | Delete a shared link Delete a specific shared link by its ID. Immich operation: DELETE /shared-links/{id} · tag: Shared links |
| immich_remove_shared_link_assetsA | Remove assets from a shared link Remove assets from a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. Immich operation: DELETE /shared-links/{id}/assets · tag: Shared links |
| immich_remove_user_from_albumB | Remove user from album Remove a user from an album. Use an ID of "me" to leave a shared album. Immich operation: DELETE /albums/{id}/user/{userId} · tag: Albums |
| immich_reset_pin_codeA | Reset pin code Reset the pin code for the current user by providing the account password Immich operation: DELETE /auth/pin-code · tag: Authentication |
| immich_resolve_duplicatesB | Resolve duplicate groups Resolve duplicate groups by synchronizing metadata across assets and deleting/trashing duplicates. Immich operation: POST /duplicates/resolve · tag: Duplicates |
| immich_restore_assetsA | Restore assets Restore specific assets from the trash. Immich operation: POST /trash/restore/assets · tag: Trash |
| immich_restore_trashB | Restore trash Restore all items in the trash. Immich operation: POST /trash/restore · tag: Trash |
| immich_restore_user_adminB | Restore a deleted user Restore a previously deleted user. Immich operation: POST /admin/users/{id}/restore · tag: Users (admin) |
| immich_reverse_geocodeA | Reverse geocode coordinates Retrieve location information (e.g., city, country) for given latitude and longitude coordinates. Immich operation: GET /map/reverse-geocode · tag: Map |
| immich_rotate_api_keyA | Rotate an API key Generates a new secret for an API key, immediately invalidating the previous one. The current user must own this API key. Immich operation: POST /api-keys/{id}/rotate · tag: API keys |
| immich_run_asset_jobsC | Run an asset job Run a specific job on a set of assets. Immich operation: POST /assets/jobs · tag: Assets |
| immich_run_queue_command_legacyB | Run jobs Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. Immich operation: PUT /jobs/{name} · tag: Jobs DEPRECATED — prefer the replacement operation if one exists. |
| immich_scan_libraryA | Scan a library Queue a scan for the external library to find and import new assets. Immich operation: POST /libraries/{id}/scan · tag: Libraries |
| immich_search_asset_filesC | Search asset files Returns all matching asset files. Immich operation: GET /asset-files · tag: Asset files |
| immich_search_asset_statisticsC | Search asset statistics Retrieve statistical data about assets based on search criteria, such as the total matching count. Immich operation: POST /search/statistics · tag: Search |
| immich_search_assetsC | Search assets by metadata Search for assets based on various metadata criteria. Immich operation: POST /search/metadata · tag: Search |
| immich_search_large_assetsC | Search large assets Search for assets that are considered large based on specified criteria. Immich operation: POST /search/large-assets · tag: Search DEPRECATED — prefer the replacement operation if one exists. |
| immich_search_memoriesB | Retrieve memories Retrieve a list of memories. Memories are sorted descending by creation date by default, although they can also be sorted in ascending order, or randomly. Immich operation: GET /memories · tag: Memories |
| immich_search_personC | Search people Search for people by name. Immich operation: GET /search/person · tag: Search |
| immich_search_placesC | Search places Search for places by name. Immich operation: GET /search/places · tag: Search |
| immich_search_plugin_methodsC | Retrieve plugin methods Retrieve a list of plugin methods Immich operation: GET /plugins/methods · tag: Plugins |
| immich_search_plugin_templatesB | Retrieve workflow templates Retrieve workflow templates provided by installed plugins Immich operation: GET /plugins/templates · tag: Plugins |
| immich_search_pluginsB | List all plugins Retrieve a list of plugins available to the authenticated user. Immich operation: GET /plugins · tag: Plugins |
| immich_search_randomB | Search random assets Retrieve a random selection of assets based on the provided criteria. Immich operation: POST /search/random · tag: Search |
| immich_search_smartC | Smart asset search Perform a smart search for assets by using machine learning vectors to determine relevance. Immich operation: POST /search/smart · tag: Search |
| immich_search_stacksC | Retrieve stacks Retrieve a list of stacks. Immich operation: GET /stacks · tag: Stacks |
| immich_search_usersB | Get all users Retrieve a list of all users on the server. Immich operation: GET /users · tag: Users |
| immich_search_users_adminC | Search users Search for users. Immich operation: GET /admin/users · tag: Users (admin) |
| immich_search_workflowsB | List all workflows Retrieve a list of workflows available to the authenticated user. Immich operation: GET /workflows · tag: Workflows |
| immich_send_sync_ackB | Acknowledge changes Send a list of synchronization acknowledgements to confirm that the latest changes have been received. Immich operation: POST /sync/ack · tag: Sync |
| immich_send_test_email_adminA | Send test email Send a test email using the provided SMTP configuration. Immich operation: POST /admin/notifications/test-email · tag: Notifications (admin) |
| immich_set_maintenance_modeC | Set maintenance mode Put Immich into or take it out of maintenance mode Immich operation: POST /admin/maintenance · tag: Maintenance (admin) |
| immich_set_server_licenseB | Set server product key Validate and set the server product key if successful. Immich operation: PUT /server/license · tag: Server |
| immich_set_user_licenseB | Set user product key Register a product key for the current user. Immich operation: PUT /users/me/license · tag: Users |
| immich_set_user_onboardingB | Update user onboarding Update the onboarding status of the current user. Immich operation: PUT /users/me/onboarding · tag: Users |
| immich_setup_pin_codeB | Setup pin code Setup a new pin code for the current user. Immich operation: POST /auth/pin-code · tag: Authentication |
| immich_shared_link_loginC | Shared link login Login to a password protected shared link Immich operation: POST /shared-links/login · tag: Shared links |
| immich_sign_up_adminB | Register admin Create the first admin user in the system. Immich operation: POST /auth/admin-sign-up · tag: Authentication |
| immich_start_database_restore_flowA | Start database backup restore flow Put Immich into maintenance mode to restore a backup (Immich must not be configured) Immich operation: POST /admin/database-backups/start-restore · tag: Database Backups (admin) |
| immich_start_o_authC | Start OAuth Initiate the OAuth authorization process. Immich operation: POST /oauth/authorize · tag: Authentication |
| immich_tag_assetsB | Tag assets Add a tag to all the specified assets. Immich operation: PUT /tags/{id}/assets · tag: Tags |
| immich_unlink_all_o_auth_accounts_adminB | Unlink all OAuth accounts Unlinks all OAuth accounts associated with user accounts in the system. Immich operation: POST /admin/auth/unlink-all · tag: Authentication (admin) |
| immich_unlink_o_auth_accountA | Unlink OAuth account Unlink the OAuth account from the authenticated user. Immich operation: POST /oauth/unlink · tag: Authentication |
| immich_unlock_auth_sessionA | Unlock auth session Temporarily grant the session elevated access to locked assets by providing the correct PIN code. Immich operation: POST /auth/session/unlock · tag: Authentication |
| immich_untag_assetsB | Untag assets Remove a tag from all the specified assets. Immich operation: DELETE /tags/{id}/assets · tag: Tags |
| immich_update_admin_configC | Update the system configuration Update the system configuration with a new system configuration. Immich operation: PUT /admin/config · tag: Config (admin) |
| immich_update_admin_onboardingC | Update admin onboarding Update the admin onboarding status. Immich operation: POST /system-metadata/admin-onboarding · tag: System metadata |
| immich_update_album_infoA | Update an album Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album. Immich operation: PATCH /albums/{id} · tag: Albums |
| immich_update_album_userA | Update user role Change the role for a specific user in a specific album. Immich operation: PUT /albums/{id}/user/{userId} · tag: Albums |
| immich_update_api_keyA | Update an API key Updates the name and permissions of an API key by its ID. The current user must own this API key. Immich operation: PUT /api-keys/{id} · tag: API keys DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_assetB | Update an asset Update information of a specific asset. Immich operation: PUT /assets/{id} · tag: Assets DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_asset_metadataB | Update asset metadata Update or add metadata key-value pairs for the specified asset. Immich operation: PUT /assets/{id}/metadata · tag: Assets |
| immich_update_assetsB | Update assets Updates multiple assets at the same time. Immich operation: PUT /assets · tag: Assets DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_bulk_asset_metadataB | Upsert asset metadata Upsert metadata key-value pairs for multiple assets. Immich operation: PUT /assets/metadata · tag: Assets |
| immich_update_configC | Update system configuration Update the system configuration with a new system configuration. Immich operation: PUT /system-config · tag: System config DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_libraryA | Update a library Update an existing external library. Immich operation: PUT /libraries/{id} · tag: Libraries DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_memoryB | Update a memory Update an existing memory by its ID. Immich operation: PUT /memories/{id} · tag: Memories DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_my_preferencesB | Update my preferences Update the preferences of the current user. Immich operation: PUT /users/me/preferences · tag: Users DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_my_userB | Update current user Update the current user making the API request. Immich operation: PUT /users/me · tag: Users DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_notificationA | Update a notification Update a specific notification to set its read status. Immich operation: PUT /notifications/{id} · tag: Notifications |
| immich_update_notificationsA | Update notifications Update a list of notifications. Allows to bulk-set the read status of notifications. Immich operation: PUT /notifications · tag: Notifications |
| immich_update_partnerA | Update a partner Specify whether a partner's assets should appear in the user's timeline. Immich operation: PUT /partners/{id} · tag: Partners |
| immich_update_peopleB | Update people Bulk update multiple people at once. Immich operation: PUT /people · tag: People |
| immich_update_personC | Update person Update an individual person. Immich operation: PUT /people/{id} · tag: People DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_queueB | Update a queue Change the paused status of a specific queue. Immich operation: PUT /queues/{name} · tag: Queues |
| immich_update_sessionB | Update a session Update a specific session identified by id. Immich operation: PUT /sessions/{id} · tag: Sessions DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_shared_linkB | Update a shared link Update an existing shared link by its ID. Immich operation: PATCH /shared-links/{id} · tag: Shared links |
| immich_update_stackB | Update a stack Update an existing stack by its ID. Immich operation: PUT /stacks/{id} · tag: Stacks DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_tagB | Update a tag Update an existing tag identified by its ID. Immich operation: PUT /tags/{id} · tag: Tags DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_user_adminB | Update a user Update an existing user. Immich operation: PUT /admin/users/{id} · tag: Users (admin) DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_user_preferences_adminB | Update user preferences Update the preferences of a specific user. Immich operation: PUT /admin/users/{id}/preferences · tag: Users (admin) DEPRECATED — prefer the replacement operation if one exists. |
| immich_update_workflowB | Update a workflow Update the information of a specific workflow by its ID. This endpoint can be used to update the workflow name, description, trigger type, filters and actions order, etc. Immich operation: PUT /workflows/{id} · tag: Workflows DEPRECATED — prefer the replacement operation if one exists. |
| immich_upload_assetC | Upload asset Uploads a new asset to the server. Immich operation: POST /assets · tag: Assets |
| immich_upload_database_backupA | Upload database backup Uploads .sql/.sql.gz file to restore backup from Immich operation: POST /admin/database-backups/upload · tag: Database Backups (admin) |
| immich_upsert_tagsC | Upsert tags Create or update multiple tags in a single request. Immich operation: PUT /tags · tag: Tags |
| immich_validateC | Validate library settings Validate the settings of an external library. Immich operation: POST /libraries/{id}/validate · tag: Libraries |
| immich_validate_access_tokenB | Validate access token Validate the current authorization method is still valid. Immich operation: POST /auth/validateToken · tag: Authentication |
| immich_view_assetB | View asset thumbnail Retrieve the thumbnail image for the specified asset. Viewing the fullsize thumbnail might redirect to downloadAsset, which requires a different permission. Immich operation: GET /assets/{id}/thumbnail · tag: Assets |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| search_media | Guide the assistant to search for assets using the Immich search tools. |
| organize_album | Create or update an album based on search criteria. |
| library_report | Summarise the state of the Immich library. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| immich-server-about | Server version and build information. |
| immich-server-version | Current server version and release channel. |
| immich-server-storage | Disk usage per storage location. |
| immich-server-statistics | Aggregate asset, user and album statistics. |
| immich-user-me | Profile of the authenticated user. |
| immich-albums | All albums with asset counts and cover images. |
| immich-people | All recognized people. |
| immich-tags | All tags in the library. |
| immich-memories | Available memories for the current user. |
TDQS
Scored across 276 tools
With 276 tools there is heavy overlap: many near-identical config getters (get_config, get_admin_config, get_user_config, get_public_config, get_server_config plus their *_defaults variants), duplicate partner creators (create_partner vs create_partner_deprecated), and deprecated tools sitting alongside their replacements (update_tag/upsert_tags, update_asset/update_assets, get_user/get_user_admin). An agent will frequently struggle to pick the right tool. Some resource+action pairs are distinct, but the sheer volume of deprecated/duplicate variants muddies boundaries.
Names use a predictable immich_<verb>_<noun> snake_case pattern (immich_create_album, immich_get_asset_info, immich_delete_stack), which is highly consistent and readable. A few exceptions drop the noun (immich_login, immich_logout, immich_validate, immich_ping_server), but these are minor deviations within an otherwise uniform convention.
276 tools is an extreme count that far exceeds a manageable surface, reflecting a 1:1 mechanical mapping of the entire Immich REST API rather than a curated, agent-friendly set. This makes discovery, selection, and context management impractical.
The surface mirrors the full Immich API exhaustively — assets, albums, people, faces, tags, libraries, memories, queues, jobs, admin, auth, sync, workflows, and more — leaving essentially no CRUD or lifecycle gaps. Coverage is as complete as a tool set can be.