# Immich Photo Manager

Connect an AI agent to your Immich library to search photos, sort albums, and find duplicates.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 59
- Author: drolosoft
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/drolosoft/immich-photo-manager
- Updated: 2026-10-06
- HTML: https://affpapa.org/en/nevibecode/mcp/immich-photo-manager

## What it does

Immich Photo Manager gives an agent access to an Immich library through its API. It can search images, help organize photos, detect duplicates, and curate albums. The listing also mentions face search and PDF reports; the server includes 94 tools.

The server is for a self-hosted Immich instance and supports Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, and Zed. You need a running Immich server and an API key; without both, the agent cannot access the library. The Claude Code setup starts the server with `uvx` and passes the Immich address and key as environment variables.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `IMMICH_BASE_URL`, `IMMICH_API_KEY`, `MCP_ALLOWED_HOSTS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env IMMICH_BASE_URL=<IMMICH_BASE_URL> --env IMMICH_API_KEY=<IMMICH_API_KEY> --env MCP_ALLOWED_HOSTS=<MCP_ALLOWED_HOSTS> --transport stdio immich-photo-manager -- uvx immich-photo-manager
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from immich-photo-manager <command>

### Codex

**Platform CLI**
```bash
codex mcp add immich-photo-manager --env IMMICH_BASE_URL=<IMMICH_BASE_URL> --env IMMICH_API_KEY=<IMMICH_API_KEY> --env MCP_ALLOWED_HOSTS=<MCP_ALLOWED_HOSTS> -- uvx immich-photo-manager
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from immich-photo-manager <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "immich-photo-manager": {
            "command": "uvx",
            "args": [
                "immich-photo-manager"
            ],
            "env": {
                "IMMICH_BASE_URL": "<IMMICH_BASE_URL>",
                "IMMICH_API_KEY": "<IMMICH_API_KEY>",
                "MCP_ALLOWED_HOSTS": "<MCP_ALLOWED_HOSTS>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from immich-photo-manager <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "immich-photo-manager": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "immich-photo-manager"
            ],
            "env": {
                "IMMICH_BASE_URL": "<IMMICH_BASE_URL>",
                "IMMICH_API_KEY": "<IMMICH_API_KEY>",
                "MCP_ALLOWED_HOSTS": "<MCP_ALLOWED_HOSTS>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from immich-photo-manager <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e IMMICH_BASE_URL=<IMMICH_BASE_URL> -e IMMICH_API_KEY=<IMMICH_API_KEY> -e MCP_ALLOWED_HOSTS=<MCP_ALLOWED_HOSTS> immich-photo-manager uvx immich-photo-manager
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from immich-photo-manager <command>

## When to use it
- search a photo library from a prompt
- sort photos into albums
- find duplicate images
- curate photos for an album
- create a PDF photo report

## Example prompts
- Find photos from my trip in Immich and collect them in an album.
- Look for duplicate photos in my Immich library.
- Create a PDF report about the photos in this album.

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27669
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49845

From the same set: [drolosoft/immich-photo-manager](https://affpapa.org/en/nevibecode/by/drolosoft/immich-photo-manager.md) — 2 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
