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). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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