Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IMMICH_API_KEYYesAPI key from Immich → Account Settings → API Keys
IMMICH_TIMEOUTNoHTTP timeout in seconds30.0
IMMICH_BASE_URLYesImmich server URL (e.g. https://photos.example.com)
IMMICH_MAX_RETRIESNoRetry attempts on transient errors3
IMMICH_EXTERNAL_URLNoPublic URL used for web_url links (useful when base URL is internal)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
immich.pingA

Verify connectivity and authentication with the Immich server. Returns server version and status.

immich.capabilitiesB

Discover Immich server features and supported API capabilities.

immich.assets.listB

List assets with optional filters. Returns paginated results.

immich.assets.getB

Get full metadata for a single asset by its ID.

immich.assets.viewA

Get direct URLs for viewing or downloading an asset. Returns thumbnail, original file, and Immich web UI links. URLs include the API key as a query parameter for direct browser access.

immich.assets.uploadA

Upload an asset to Immich from a local file path or a URL. For file paths, the MCP server process must have read access to the file. For URLs (http/https), the server downloads the file then uploads it to Immich.

immich.assets.updateB

Update metadata for a single asset (favorite, archived, description, rating).

immich.assets.bulk_updateA

Update metadata for multiple assets at once. Supports dry_run to preview changes.

immich.assets.deleteA

Delete one or more assets. Set force=true to permanently delete (skip trash). Always use dry_run=true first to preview.

immich.assets.statisticsB

Get asset counts broken down by type (images, videos, total).

immich.search.metadataB

Search assets using metadata filters: date range, type, location, camera model, person, filename.

immich.search.smartA

Semantic search using CLIP/ML. Describe what you're looking for in natural language (e.g. 'sunset at the beach', 'birthday party').

immich.search.exploreB

Get discovery data: popular places, recognized people, and notable things in your library.

immich.albums.listA

List all albums. Optionally filter by shared status.

immich.albums.getB

Get full details of an album including its assets.

immich.albums.createC

Create a new album with an optional list of asset IDs.

immich.albums.updateB

Update album metadata: name, description, or cover asset.

immich.albums.deleteA

Delete an album. This does not delete the assets inside it.

immich.albums.add_assetsB

Add one or more assets to an album.

immich.albums.remove_assetsA

Remove one or more assets from an album. The assets themselves are not deleted.

immich.people.listA

List all recognized people from face recognition. Supports pagination.

immich.people.getB

Get details for a specific person by ID.

immich.people.updateB

Update a person's name or visibility (hidden/visible).

immich.people.mergeA

Merge two person clusters into one. The source person will be merged into the target.

immich.people.statisticsB

Get asset count statistics for a specific person.

immich.tags.listB

List all tags in the library.

immich.tags.getB

Get details of a specific tag by ID.

immich.tags.createA

Create a new tag. Use '/' as separator for nested tags (e.g. 'Travel/Japan').

immich.tags.updateB

Update a tag's name or color.

immich.tags.deleteB

Delete a tag by ID.

immich.shared_links.listB

List all shared links.

immich.shared_links.getB

Get details of a specific shared link by ID.

immich.shared_links.createC

Create a shareable link for an album or specific assets. Optionally set expiry and password.

immich.shared_links.updateB

Update shared link settings: expiry, password, download permission.

immich.shared_links.removeA

Remove a shared link, revoking access to its content.

immich.activities.listB

List comments and likes for an album, optionally filtered by asset.

immich.activities.createC

Add a comment or like to an album or specific asset within an album.

immich.activities.deleteB

Delete a comment or like by activity ID.

immich.activities.statisticsB

Get comment count for an album or specific asset within an album.

immich.duplicates.listA

List all duplicate asset groups detected by Immich. Each group contains assets with matching content hashes. Returns full metadata needed for deletion decisions: file format, size, resolution, favorite status, album membership, Live Photo status.

immich.duplicates.deleteA

Delete specific assets from duplicate groups. Always run with dry_run=true first to confirm what will be deleted. Set force=true to permanently delete (bypass trash). Do NOT delete assets that are favorited or belong to albums without explicit user approval.

immich.duplicates.dismissA

Dismiss duplicate groups without deleting any assets. Use this when the assets are intentionally kept as separate copies and should no longer appear in the duplicate list. The asset files are NOT deleted — only the duplicate grouping is removed. Always run with dry_run=true first.

immich.user.meA

Get the profile of the currently authenticated user (name, email, quota, role).

Prompts

Interactive templates invoked by user choice

NameDescription
immich/review_duplicates
immich/organize_album
immich/find_untagged

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/whitehara/immich-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server