Immich MCP Server
Allows interaction with an Immich instance, providing resources to retrieve user details, list users and partners, get asset details, and manage API keys, plus a simple ping tool.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Immich MCP Serverlist all users"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Immich MCP Server
This project provides a Model Context Protocol (MCP) server for the Immich photo management system. It allows you to interact with your Immich instance using MCP-compatible clients.
Features
The server exposes the following MCP resources and tools:
Resources
user://me: Get details about the current user.users://list: Get a list of all users on the Immich instance.partners://list: Get a list of all partners.asset://{asset_id}: Get details for a specific asset (photo or video) by its ID.apikey://me: Get details about the API key currently being used.apikeys://list: Get a list of all API keys.apikey://{api_key_id}: Get details for a specific API key by its ID.
Tools
ping(): A simple tool to check if the server can successfully connect to the Immich instance. Returns"pong"on success.
Deployment (Recommended)
The easiest way to deploy the Immich MCP server is by using Docker. A docker-compose.yml file is provided for your convenience.
Create a
.envfile: Copy the provided.env.exampleto a new file named.env:cp .env.example .envThen, edit the
.envfile to set the required environment variables.Run the server:
docker-compose up -dThe server will be available at
http://localhost:8000.
You can view the server logs with:
docker-compose logs -fOfficial container images are available on Docker Hub and ghcr.io.
Configuration
The server is configured using environment variables:
Variable | Description | Default | Required |
| The base URL of your Immich instance (e.g., | Yes | |
| Your Immich API key. | Yes | |
| The port on which the server will listen. |
| No |
| The keep-alive timeout for the server in seconds. |
| No |
| Sets the timezone inside the container to ensure timestamps are correct. |
| No |
Note on TZ: While the application does not directly use this variable, it is a standard in containerized environments to ensure that any timestamps (e.g., in logs) are correctly aligned with your local time.
When running with docker-compose, these variables are loaded from the .env file.
Installation (for Development)
For development purposes, you can install and run the server locally.
It is recommended to use a virtual environment.
# Install the package in editable mode with development dependencies
pip install -e ".[dev]"Running the Development Server
The recommended way to run the development server is with uv:
# First, ensure uv is installed
pip install uv
# Run the server
uv run mcp dev src/immich_mcp/server.pyFor Developers
The MCP initialization handshake is documented in
docs/INITIALIZATION.md.Functional tests that run against a real Immich instance are documented in
tests/functional/README.md.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/zygou-31/immich-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server