set-keywords

MCP tool from Apple Photos MCP by sweetrb

Add and/or remove keywords on a photo with union semantics: the photo's current keywords are read first and the edits merged in, so keywords you don't mention are always preserved — never a blind replace.

How to use it

set-keywords is exposed by the Apple Photos MCP MCP server. Add the server to your MCP client (Claude Desktop, Cursor, Windsurf and others), and the set-keywords tool becomes available to the model automatically. See the full listing for setup details and every tool this server provides.

Install Apple Photos MCP

$claude mcp add apple-photos -s user -- npx -y apple-photos-mcp
FULL APPLE PHOTOS MCP LISTING

Other tools in Apple Photos MCP (20)

add-to-album

Add photos (by UUID) to an album (by name or UUID). Idempotent — Photos albums are sets.

create-album

Create an album — or return the existing one of that name (created: false), so re-running a filing workflow never piles up duplicates.

doctor

Run a full setup diagnostic — six checks: the resolved Python interpreter (path + version — warns when it's older than the required 3.11, with brew install python@3.12 advice), osxphotos installation, sidecar mode (persistent vs one-shot fallback, plus the last respawn), the write-tools gate (enable

export

Export one or more photos by UUID to a destination directory.

find-duplicates

Group exact duplicates using Photos' own fingerprint-based detection — the same data behind Photos' Duplicates album, no export or hashing required.

get-photo

Get full metadata for a single photo by UUID.

get-photos

Get full metadata for a batch of photos (up to 50) in one call — the batch equivalent of get-photo, for dedupe reviews, EXIF audits, and captioning passes.

get-selected-photos

Get the photos currently selected in the Photos.app window — the bridge from "act on these photos" to UUIDs you can feed into get-photos, get-thumbnail, export, or add-to-album.

get-thumbnail

Return one photo as an inline viewable image — an MCP image content block (base64 JPEG/PNG) that vision-capable clients render directly. Serves the preview derivatives Photos has already generated, so nothing is exported and originals aren't transferred. Prefer this over export whenever the goal is

health-check

Verify osxphotos is installed and the Photos library can be opened.

import-photos

Import image/video files from disk into the Photos library, optionally straight into an existing album. Add-only: nothing is modified or deleted, and source files stay where they are (Photos copies them in).

library-info

High-level stats about the Photos library.

list-albums

List all albums in the library.

list-folders

List all folders in the library.

list-keywords

List keywords sorted by usage count.

list-persons

List people detected by Photos face recognition, sorted by photo count.

query

Search the library with combinable filters. Returns photo summaries with UUIDs — use get-photo for full details on a specific match.

remove-from-album

Remove photos from an album — never from the library (they remain in All Photos and every other album).

set-photo-date

Fix a photo's date/time — set an absolute date or shift by a number of seconds. Dry run by default: nothing is written until you pass dryRun: false. This rewrites the date in the Photos library database only (the same thing Photos.app's Adjust Date & Time does) — the file's EXIF is never modified.

set-photo-metadata

Set a photo's title, description, and/or favorite flag. Only the fields you pass are touched.