Immich Photo Manager
About
Manage your self-hosted Immich photo library through conversation — natural language search, geographic album curation, duplicate detection, and interactive HTML galleries
Details
- Author
- drolosoft
- GitHub stars
- 25
- Downloads
- 449
- Categories
- Productivity, Media, File Management, Other, Search
Jump to
- AI‑powered natural language search via CLIP
- Geographic albums combining GPS, CLIP, and temporal matching
- Metadata repair: timestamps, GPS inference, timezone correction
- Duplicate detection using perceptual hashing across imports
- Bulk rotation (90°/180°/270°) — non‑destructive and revertible
- People and face management: list, merge, reassign, view thumbnails
- Library health report: inventory, metadata quality, storage analysis
- Tags: create, apply, and bulk manage across assets
- Interactive HTML galleries with three themes and batch actions
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Immich Photo ManagerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install as a Claude plugin (claude plugin add immich-photo-manager) or configure any MCP‑compatible client with the package entry point via uvx. Set environment variables IMMICH_BASE_URL and IMMICH_API_KEY. The server defaults to stdio transport; set MCP_TRANSPORT=http for Streamable HTTP.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"immich photo manager": {
"immich": {
"command": "python3",
"args": [
"-m",
"immich_mcp_server"
],
"env": {
"PYTHONPATH": "${CLAUDE_PLUGIN_ROOT}/src",
"MCP_TRANSPORT": "stdio",
"IMMICH_BASE_URL": "https://your-immich-server.com",
"IMMICH_API_KEY": "YOUR-API-KEY-HERE"
}
}
}
}
}
McpServers
{
"immich": {
"command": "python3",
"args": [
"-m",
"immich_mcp_server"
],
"env": {
"PYTHONPATH": "${CLAUDE_PLUGIN_ROOT}/src",
"MCP_TRANSPORT": "stdio",
"IMMICH_BASE_URL": "https://your-immich-server.com",
"IMMICH_API_KEY": "YOUR-API-KEY-HERE"
}
}
}
Why immich-photo-manager?
Immich is excellent at storing and viewing your photos. But managing a large library — deduplication, metadata repair, album curation, storage analysis — still requires manual effort or custom scripts.
| | Manual / scripts | immich-photo-manager |
|:---:|---|---|
| 🔍 | Write API calls, parse JSON | Natural language — "find my sunset photos from Italy" |
| 🗺️ | Export GPS, cluster manually | Geographic albums — automatic GPS + CLIP + temporal matching |
| 🧹 | Hash files, diff checksums | Perceptual hashing — finds re-encoded duplicates across import sources |
| 🔧 | Edit EXIF one file at a time | Metadata repair — batch-fix timestamps, infer GPS, correct timezones |
| 📊 | Query database, build reports | Library health — one command for metadata quality, storage, recommendations |
| 🔄 | Rotate one photo at a time | Bulk rotation — rotate entire albums at once, non-destructive |
| 🏷️ | No tag management in UI | Tags — create, bulk apply/remove across assets |
| 🛡️ | Manual review of every action | Safety first — shows findings, asks before acting |
---
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



