Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PYTHONPATHNoAbsolute path to the src/ directory of the cloned repository (required for manual setup)
MCP_TRANSPORTNoThe MCP transport mode (default is stdio)stdio
IMMICH_API_KEYYesYour Immich API key (required for authentication)
IMMICH_BASE_URLYesThe base URL of your Immich instance (e.g., https://your-immich-server.com)

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
pingA

Check Immich server connectivity. Returns 'pong' if connected.

get_server_versionA

Get the Immich server version.

get_statisticsB

Get library statistics: total photos, videos, and storage usage.

update_credentialsA

Update the Immich connection credentials. Use this when the API key has been rotated or when the server URL has changed. The new credentials are persisted to disk and take effect immediately — no restart required.

Args:
    base_url: The Immich server URL (e.g. 'https://photos.example.com').
    api_key: A valid Immich API key.
get_asset_infoA

Get full metadata for a specific asset (EXIF, GPS, dates, camera, etc).

Args:
    asset_id: The unique ID of the asset.
get_map_markersA

Get all GPS map markers from the library. Returns asset IDs with lat/lon coordinates. Use this to discover all geographic locations in the photo library.

Args:
    file_created_after: Optional ISO date filter (e.g. '2023-01-01').
    file_created_before: Optional ISO date filter.
    is_favorite: Filter favorites only.
search_metadataA

Search photos by EXIF metadata: location (city/state/country), camera (make/model), date range, favorites, and type (IMAGE/VIDEO).

Args:
    city: Filter by city name (e.g. 'Barcelona', 'Cairo').
    state: Filter by state/region.
    country: Filter by country (e.g. 'Spain', 'Egypt').
    make: Camera manufacturer (e.g. 'Apple', 'Canon').
    model: Camera model (e.g. 'iPhone 14 Pro').
    taken_after: ISO date — only photos after this date.
    taken_before: ISO date — only photos before this date.
    is_favorite: Filter favorites only.
    asset_type: 'IMAGE' or 'VIDEO'.
    page: Page number (default 1).
    size: Results per page (default 50, max 200).
search_smartA

AI-powered visual search using CLIP. Describe what you're looking for in natural language (e.g. 'sunset at the beach', 'birthday cake', 'mountain landscape').

Can be combined with location and date filters.

Args:
    query: Natural language description of what to find.
    city: Optional city filter.
    state: Optional state/region filter.
    country: Optional country filter.
    taken_after: ISO date — only photos after this date.
    taken_before: ISO date — only photos before this date.
    page: Page number (default 1).
    size: Results per page (default 50, max 200).
list_albumsB

List all albums with their asset counts.

Args:
    shared: Filter by shared status. None = all albums.
get_albumB

Get album details including all asset IDs.

Args:
    album_id: The album's unique ID.
create_albumB

Create a new album.

Args:
    name: Album name (e.g. 'Roma, Italia').
    description: Optional description.
    asset_ids: Optional list of asset IDs to add immediately.
update_albumA

Update an album's name or description.

Args:
    album_id: The album's unique ID.
    name: New name (empty = don't change).
    description: New description (empty = don't change).
delete_albumA

Delete an album. Photos are NOT deleted, only the album container.

Args:
    album_id: The album's unique ID.
add_assets_to_albumB

Add photos/videos to an album.

Args:
    album_id: Target album ID.
    asset_ids: List of asset IDs to add.
remove_assets_from_albumA

Remove photos/videos from an album. The photos themselves are NOT deleted.

Args:
    album_id: Target album ID.
    asset_ids: List of asset IDs to remove.
get_asset_thumbnailA

Get a base64-encoded thumbnail for a single asset. Returns JSON with 'data' (base64 string) and 'type' (mime type). Size can be 'thumbnail' (250px, fast) or 'preview' (1440px, larger).

Args:
    asset_id: The unique ID of the asset.
    size: 'thumbnail' (250px) or 'preview' (1440px). Default: thumbnail.
get_album_thumbnailsA

Get base64-encoded thumbnails for all photos in an album (up to limit). Returns album info and a list of thumbnail entries with asset IDs, base64 data, filenames, and dates. Used for generating visual HTML galleries.

Args:
    album_id: The album's unique ID.
    size: 'thumbnail' (250px) or 'preview' (1440px). Default: thumbnail.
    limit: Maximum number of thumbnails to fetch (default 20, max 50).
get_thumbnails_batchA

Get base64-encoded thumbnails for a list of asset IDs WITHOUT needing an album. Use this when you have search results (asset IDs) and want to display them visually without creating a temporary album. Returns thumbnail entries with asset IDs, base64 data, filenames, and dates.

Args:
    asset_ids: List of asset IDs to fetch thumbnails for.
    size: 'thumbnail' (250px) or 'preview' (1440px). Default: thumbnail.
    limit: Maximum number of thumbnails to fetch (default 20, max 50).
list_shared_linksB

List all shared links (public URLs for albums/assets).

create_shared_linkA

Create a public shared link for an album. This makes the album visible in the Immich Gallery frontend.

Args:
    album_id: The album to share.
    allow_download: Allow visitors to download photos.
    show_metadata: Show EXIF metadata to visitors.
    description: Optional link description.
get_connection_infoA

Return the Immich base URL and a masked API key. Used by skills to populate the {{IMMICH_URL}} placeholder in gallery templates. The API key is intentionally masked — thumbnails are delivered as base64 data URIs, so the plaintext key is never needed in generated HTML.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

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/drolosoft/immich-photo-manager'

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