About Lightroom MCP
Lightroom MCP is an MCP server published by synthet in the Other category.
The repository has 8 stars and 2 forks, with the last commit 8 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/synthet/lightroom-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Lightroom MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 2 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- ✓Tests presentA test suite exists in the repository.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
2 checks have not been run yet.
README
Lightroom MCP
Bridge between Adobe Lightroom Classic and AI agents via the Model Context Protocol (MCP). Enables automated photo management, metadata editing, and catalog operations from Cursor and other MCP-capable clients.
Architecture
- Lightroom Plugin (
lightroom-plugin.lrplugin/) — Lua plugin running inside Lightroom Classic.- Connects to the Broker via Socket (port 8086) or HTTP polling.
- MCP Broker (
mcp-server/broker.py) — A lightweight Flask server that acts as a bridge.- Relays requests between the Python MCP server and the Lua plugin.
- Provides a dashboard at
http://localhost:8085.
- MCP Server (
mcp-server/server.py) — Python FastMCP server.- Exposes Lightroom tools to Cursor/Claude.
- Communicates with the Broker via HTTP.
graph LR
Agent[Cursor / Agent] <-->|MCP| Server[MCP Server]
Server <-->|HTTP| Broker[Broker :8085]
Broker <-->|Socket :8086| Plugin[Lightroom Plugin]
Prerequisites
- Adobe Lightroom Classic (LrSdk 10.0+)
- Python 3.10+ (for the MCP server and Broker)
- Lightroom running with the plugin enabled
Setup
1. Install the Lightroom plugin
- Copy
lightroom-plugin.lrplugininto your Lightroom plugins folder:- macOS:
~/Library/Application Support/Adobe/Lightroom/Modules/ - Windows:
%APPDATA%\Adobe\Lightroom\Modules\
- macOS:
- In Lightroom: File → Plug-in Manager → Add and select the plugin folder.
- Ensure the plugin is Enabled. It will attempt to connect to the Broker on port 8086.
2. Configure & Run MCP Server
The MCP server handles starting the Broker automatically.
-
Set up the Python environment:
cd mcp-server python -m venv .venv .venv\Scripts\activate # Windows # source .venv/bin/activate # macOS / Linux pip install -r requirements.txt -
Add to your Cursor MCP config (e.g. Settings → MCP or
.cursor/mcp.json):{ "mcpServers": { "lightroom": { "command": "d:/Projects/lightroom-mcp/mcp-server/.venv/Scripts/python.exe", "args": ["d:/Projects/lightroom-mcp/mcp-server/server.py"] } } }Note: Use absolute paths to your venv python and
server.py.
Usage
- Open Lightroom Classic.
- Start the MCP Server (Cursor does this automatically when you open the project or use the tool).
- The Broker will be started automatically by the MCP server if not running.
- You can view the Broker Dashboard at http://localhost:8085 to see connection status and logs.
- Select photos in Lightroom.
- Use Cursor to interact with your library!
Examples:
- "Get info about selected photos"
- "Rate these 5 stars"
- "Apply 'Vivid' preset"
- "Create a collection named 'Best of 2024'"
See agents.md for detailed tool semantics and agent workflows.
Project layout
lightroom-mcp/
├── README.md # This file
├── agents.md # Documentation for AI Agents
├── SDK_INTEGRATION.md # Deep dive into LrSDK integration
├── lightroom-plugin.lrplugin/ # Lua Plugin
│ ├── Init.lua # Startup & Server connection
│ ├── Server.lua # Socket client implementation
│ └── ...
└── mcp-server/ # Python Components
├── server.py # MCP Server (FastMCP)
├── broker.py # Relay Broker (Flask)
├── lrc_client.py # Client for Broker communication
└── ...
Troubleshooting
-
"Lightroom not connected":
- Check the Broker Dashboard at
http://localhost:8085. - Ensure the Lightroom Plugin is Enabled (Green light in Plug-in Manager).
- Reload the plugin in Plug-in Manager to force a reconnection attempt.
- Check
plugin_debug.logfor connection errors.
- Check the Broker Dashboard at
-
"Broker not running":
- The MCP server should start it automatically.
- You can manually start it:
python mcp-server/start_broker.py
-
Port Conflicts:
- Broker uses port 8085 (HTTP) and 8086 (Socket). Ensure these are free.
License
See repository license file.
README fetched from the repository 2 days ago. The original is authoritative.