Lightroom Classic MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LIGHTROOM_ROOT | No | Overrides the default Lightroom support directory during install. | |
| LIGHTROOM_VENV_DIR | No | Overrides the Python runtime location. | |
| LIGHTROOM_AUTO_LAUNCH | No | Opens Lightroom automatically when the managed server starts when set to 1. | |
| LIGHTROOM_WRITE_PREFS | No | Skips the automatic Lightroom plugin-loader preference update when set to 0. | |
| LIGHTROOM_SKIP_INSTALL | No | Skips plugin reinstall when set to 1. | |
| LIGHTROOM_WAIT_SECONDS | No | Changes the bridge wait timeout (in seconds). | 180 |
| LIGHTROOM_FORCE_RESTART | No | Force restarts Lightroom before launch when set to 1. | |
| LIGHTROOM_BOOTSTRAP_PYTHON | No | Chooses the Python executable used for venv creation (e.g., python3.12). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| lightroom_pingB | Verify Lightroom bridge connectivity and plugin health. |
| lightroom_statusB | Get plugin status, command count, and socket state. |
| lightroom_list_commandsA | List command names currently exposed by the Lightroom plugin. |
| get_selected_photosB | List selected Lightroom photos with IDs and key metadata. |
| get_active_photoB | Get the active Lightroom photo in the current selection. |
| get_active_photo_fileB | Get active photo metadata plus direct file-inspection details. |
| find_photo_by_pathB | Find one Lightroom catalog photo by absolute file path. |
| get_selected_photo_filesB | List selected Lightroom photos with direct file-inspection details. |
| get_develop_settingsA | Get all ~175 develop settings for the active photo (or first in local_ids). Returns a settings dict with every slider value: exposure, contrast, HSL, split toning, tone curve, sharpening, noise reduction, effects, etc. Call this before editing to understand the photo's current state. |
| get_develop_param_rangeC | Get slider range for a develop parameter (when Lightroom can report it). |
| list_develop_parametersB | List develop parameters known by this Lightroom Classic install. |
| list_develop_param_rangesB | Get numeric ranges for known develop parameters (where available). |
| apply_develop_settingsA | Apply one or many develop settings to selected photos or local_ids. Settings is a dict of parameter names to values, e.g.: {"Exposure": 0.5, "Contrast": 25, "SplitToningHighlightHue": 35} Use strict=True to reject unknown parameters. clamp=True (default) auto-clamps to valid ranges. history_name creates a named undo step in Lightroom. |
| set_develop_paramC | Set a single develop parameter across selected photos or local_ids. |
| list_develop_groupsB | List grouped develop parameter sets for faster targeted edits. |
| get_develop_group_settingsC | Get only the settings for one named develop group. |
| set_develop_groupC | Apply a partial update to one develop parameter group. |
| list_develop_presetsB | List built-in editing presets that can be applied in one call. |
| apply_develop_presetC | Apply a named preset with optional parameter overrides. |
| batch_apply_develop_operationsA | Run multiple preset/settings/parameter/group operations in sequence. Each operation is a dict with one of: preset, settings, parameter, or group. Examples: [{"preset": "portrait_clean"}, {"settings": {"Exposure": 0.3}}, {"parameter": "Contrast", "value": 20}] Operations run in order. Use stop_on_error=True to halt on first failure. default_local_ids applies to all operations unless overridden per-operation. |
| auto_toneB | Run Auto Tone style adjustments for selected photos or local_ids. |
| auto_white_balanceB | Set white balance to Auto for selected photos or local_ids. |
| reset_current_photoA | Reset all develop adjustments on the currently active photo. |
| set_ratingC | Set Lightroom star rating (0..5). |
| set_labelB | Set Lightroom color label name (or empty string to clear). |
| set_pick_statusB | Set pick flag: -1 reject, 0 unflag, 1 pick. |
| set_titleB | Set Lightroom title metadata for selected photos or local_ids. |
| set_captionB | Set Lightroom caption metadata for selected photos or local_ids. |
| add_keywordsC | Add keywords (supports hierarchical format: A > B > C). |
| remove_keywordsC | Remove keywords by name/path from selected photos or local_ids. |
| select_mask_toolC | Select a mask tool: brush, graduated-filter, radial-filter, or range-mask. |
| create_ai_maskB | Create an AI-powered mask on the active photo. mask_type: subject, sky, background, person, object, depth, luminance, color operation: new (default), add, subtract, intersect |
| select_maskB | Select an existing mask by its numeric ID. |
| get_local_adjustment_settingsA | Read local_* adjustment parameters on the currently active mask. Returns values for local_Exposure, local_Contrast, local_Highlights, etc. A mask must be active (selected) first. |
| apply_local_adjustment_settingsA | Set local_* adjustment parameters on the currently active mask. Settings dict uses local_* parameter names, e.g.: {"local_Exposure": 1.5, "local_Contrast": 25, "local_Clarity": 40} A mask must be active (selected) first. |
| toggle_mask_overlayB | Toggle the mask overlay visualization on/off. |
| invert_maskB | Invert the active mask (or a specific mask by ID). |
| list_local_paramsB | List available local_* adjustment parameters for masks. |
| undoB | Undo the last Lightroom operation. |
| redoA | Redo the last undone Lightroom operation. |
| can_undoB | Check if undo/redo operations are available. |
| create_snapshotC | Create a named develop snapshot for the active photo. |
| list_snapshotsC | List develop snapshots for the active photo. |
| apply_snapshotC | Apply a develop snapshot by its ID. |
| delete_snapshotC | Delete a develop snapshot by its ID. |
| list_collectionsB | List all collections and collection sets in the catalog. |
| create_collectionB | Create a new collection (optionally inside a collection set). |
| add_to_collectionB | Add selected photos (or specific local_ids) to a collection. |
| remove_from_collectionC | Remove selected photos (or specific local_ids) from a collection. |
| delete_collectionB | Delete a collection by its ID. |
| create_virtual_copyC | Create virtual copies of selected photos or specific local_ids. |
| rotate_leftB | Rotate selected photos 90 degrees left. |
| rotate_rightB | Rotate selected photos 90 degrees right. |
| list_lightroom_presetsB | List Lightroom's built-in and user-created develop presets. |
| apply_lightroom_presetC | Apply a Lightroom develop preset by its UUID. |
| toggle_lens_blur_depth_vizB | Toggle the lens blur depth visualization overlay. |
| set_lens_blur_bokehC | Set the lens blur bokeh shape. |
| export_photosA | Export photos as JPG to a destination folder. Exports selected photos (or specific local_ids) with all develop edits applied as sRGB JPEG files to the given folder path. Creates the folder if it doesn't exist. |
| send_raw_lightroom_commandB | Send a raw command to the plugin (advanced/debug use). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/4xiomdev/lightroom-classic-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server