Summary
Let your AI read your Immich photo library: how many photos and videos you have, your albums and who they are shared with, the date, place, camera and people of a photo, the people Immich recognised and how many pictures were taken each month. Read-only: it never uploads, edits or deletes anything. Works with self-hosted Immich 3.0 or newer.
Guided setup
Connect Immich to Cursor in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Immich in the guided setup, then add your MCP URL to Cursor. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for Immich
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Immich, paste your credentials, mint an MCP API key — done. No Docker, no
git clone, no local server.
Immich + Cursor
Let your AI read your Immich photo library: how many photos and videos you have, your albums and who they are shared with, the date, place, camera and people of a photo, the people Immich recognised and how many pictures were taken each month. Read-only: it never uploads, edits or deletes anything. Works with self-hosted Immich 3.0 or newer.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
IMMICH_URL, IMMICH_API_KEY
Step 1 — Get credentials
Setting up takes about 3 minutes. You need Immich 3.0 or newer and an API key from the user whose library the AI should read. No admin account is needed.
- Set
IMMICH_URLto the address you open Immich at, without/apiand without a trailing slash, for examplehttps://photos.example.comorhttp://192.168.1.10:2283(the default port is 2283). - Log in to Immich as that user, open Account Settings → API Keys → New API Key and grant only
user.read,asset.read,asset.statistics,album.readandperson.read. Copy the key intoIMMICH_API_KEY; Immich shows it only once. It is sent in thex-api-keyheader. - Install the connector and run
immich_get_my_user: it shows the user behind the key and its storage quota and usage.
Where Immich runs: on self-hosted AnythingMCP, Immich usually lives on a home server or NAS (http://192.168.x.x:2283). The outbound SSRF guard blocks private and local addresses by default, so an administrator must allow the host through SSRF_ALLOWED_HOSTS or the allowlist in the admin settings. AnythingMCP Cloud can only reach an Immich server exposed on the public internet over HTTPS, for example behind a reverse proxy. A private IP or a local hostname is refused, and the allowlist cannot be changed on Cloud.
What it reads: photo and video counts with immich_get_asset_statistics (without filters it counts every asset not in the trash, archived ones included; visibility=timeline matches the main timeline); albums and who they are shared with (immich_list_albums, immich_get_album); one photo or video with dates, camera, lens, exposure, GPS, city, country, people and tags (immich_get_asset); recognised people by name (immich_search_people); places by name with coordinates (immich_search_places); and counts per month by person, album, tag or favourites (immich_get_timeline_buckets). All ids are UUIDs.
Privacy: an Immich key sees only the library of the user who created it, plus albums shared with that user, and that means their photos, faces and locations. Assign this connector only to MCP servers whose users may see this library. Server file paths, checksums, thumbhashes, OAuth ids and license keys are removed from the answers.
Common errors: 401 means the key is wrong or was deleted; 401 "Elevated permission is required" means the locked folder, which an API key cannot read. 403 "Missing required permission" means the key lacks one of the five permissions. 400 "Not found or no ... access" means there is no asset or album with that id in this library (Immich answers 400, not 404). 400 "Validation failed" means an id is not a UUID, a value is not allowed, or name is missing on a people or place search. 404 on every call means IMMICH_URL is wrong or ends in /api.
The connector is read-only: it does not upload, edit, favourite, archive, trash or delete assets, change albums, tags or people, download originals, thumbnails or videos, run smart or metadata search, or open the locked folder, shared links, memories, admin endpoints or API key management.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Cursor
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Cursor reads MCP servers from ~/.cursor/mcp.json. Add this entry:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart Cursor.
- Open Cursor → Settings → MCP and check that
anythingmcpis listed and connected. - Start chatting — the agent can now call the
Immichtools.
Available tools
| Tool | What it does |
|---|---|
immich_get_my_user | Get the Immich user behind the API key: id, name, email, whether it is an admin, and the storage quota and usage in bytes |
immich_get_asset_statistics | Count the photos and videos in the library: {images, videos, total} |
immich_list_albums | List the albums this user owns or that are shared with them, shortened to id, name, description, asset count, shared flag, date range… |
immich_get_album | Get one album by id: name, description, asset count, first and last photo date, thumbnail asset id, sharing and every member with their role |
immich_get_asset | Get one photo or video by id: file name, type, capture and upload dates, favourite, archive and trash state, EXIF data (camera, lens… |
immich_search_people | Find people Immich recognised by face, by name: id, name, birth date, favourite and hidden flags |
immich_get_timeline_buckets | Count assets per month: one {timeBucket, count} per month that has assets, newest first, timeBucket being the first day of the month… |
immich_search_places | Find places by name in Immich's built-in geocoding data: name, region (admin1name, admin2name), latitude and longitude, e.g. to place a… |
FAQ
Does Cursor support custom MCP servers on the free tier? Yes — MCP is available on Hobby, Pro and Business plans.
Next steps
Was this guide helpful?