apply_develop_settings
Apply develop settings like exposure, contrast, and split toning to selected photos in Lightroom Classic. Configure strict parameter validation, auto-clamp values, and create named undo steps for editing workflows.
Instructions
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.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| settings | Yes | ||
| local_ids | No | ||
| strict | No | ||
| clamp | No | ||
| history_name | No |
Implementation Reference
- The handler function for 'apply_develop_settings'. It invokes '_apply_validated_settings' to process the parameters.
async def apply_develop_settings( settings: dict[str, Any], local_ids: list[int] | None = None, strict: bool = False, clamp: bool = True, history_name: str | None = None, ) -> dict[str, Any]: """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. """ response = await _apply_validated_settings( settings, local_ids=local_ids, strict=strict, clamp=clamp, history_name=history_name, ) return response - The internal helper '_apply_validated_settings' which performs the actual validation and communication with the underlying Lightroom system.
async def _apply_validated_settings( settings: dict[str, Any], *, local_ids: list[int] | None = None, strict: bool = False, clamp: bool = True, history_name: str | None = None, ) -> dict[str, Any]: ids = validate_local_ids(local_ids) result = validate_develop_settings(settings, strict=strict, clamp=clamp) payload: dict[str, Any] = {"settings": result.sanitized} if ids: payload["local_ids"] = ids if history_name: payload["history_name"] = history_name response = await _call("develop.apply_settings", payload) response["validation_warnings"] = result.warnings response["applied_settings"] = result.sanitized return response - src/lightroom_mcp_custom/server.py:319-320 (registration)Registration of the 'apply_develop_settings' tool using the @mcp.tool() decorator.
@mcp.tool() async def apply_develop_settings(