Releases: thenavidm/apple-photos-mcp-cli
Releases · thenavidm/apple-photos-mcp-cli
Release list
v1.0.4
Fixes found by a full review of the TypeScript surface.
look_at_photosreturned captions and no pictures. The bridge kept only text content parts, so the one tool whose purpose is seeing deleted every image before it reached the caller.- Engine failures were reported as success. The Python returns its errors as an ordinary value, which the protocol marks
isError: false, so a failed export exited 0 with the error on stdout andexport-originals ... && rm ...would carry on. - A crashed engine bricked the session. The dead client stayed cached, so every later call failed with "Connection closed" for the life of the process.
- The engine's stderr was piped and never read, which threw away the real cause of a failure and could block the child once the buffer filled.
- Timeouts were the protocol default of 60s, which a cold
uvrun and any real export both exceed. uv runnow passes--no-project, so it stops trying to sync whatever project the client happened to be started in.--refsaccepts several bare arguments:photo-info uuid1 uuid2used to be an error.- Empty strings reach the engine, so a title or description can be cleared.
whichmaps this library's vocabulary; "save my photos to disk" now answersexport-originalsrather than four browsing tools.- Removed
loginandcapturefrom the command list, and the Midjourney flag aliases and synonyms behind them. None of it existed here. limitcaps at 100 andsizeat 128-2048, matching the engine instead of advertising ceilings it silently clamped.photo_infoandexport_originalssay where they truncate.export_originalsis a read: it copies files out without changing the library, which is why the engine offers it under read-only.doctortold users to setAPPLE_PHOTOS_MCP_LIBRARY, which nothing reads. It isAPPLE_PHOTOS_LIBRARY.- Boolean environment variables are an allowlist on both sides, so
READ_ONLY=enabledcannot mean read-only in one layer and read-write in the other.
v1.0.2
- TypeScript MCP server and CLI over the Python engine, published as
@thenavidm/apple-photos-mcp-cli.npxwith no toolchain to install first, and every tool is also a shell command. - The tool array is exported, so the HQ connector imports it rather than listing tools by hand. That route had drifted to 11 of 13, missing
library_statsandlook_at_photos, which meant a model estimated library totals from keyword samples and recommended photos it had never seen. - A test asserts the TypeScript and Python tool lists match exactly.
- Python stays the engine:
osxphotosandphotoscriptare the only libraries that can read a Photos library, and both are Python-only. - Installs on any platform so tooling can read the schemas, and refuses to run anywhere but macOS with a message saying why.
- TypeScript output lives in
lib/, notdist/. Python packaging leaves adist/.gitignorecontaining*, which silently emptied the npm tarball.