PaintPilot
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PHOTOSHOP_PATH | No | Path to Photoshop; only required when Photoshop is not detected automatically. | |
| PHOTOSHOP_GUARD_MODE | Yes | Connection mode setting: set to 'required' for PaintPilot Painting Mode or 'off' for direct PaintPilot Photoshop Tools commands. | |
| PHOTOSHOP_MCP_ALLOW_UI_ACTIVATION | No | Set to '1' to permit UI activation or automatic Photoshop launch for bounded diagnostic integration; leave unset for normal background workflows. |
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 | {} |
| prompts | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| photoshop_guard_cycle_autoB | When the user requests PaintPilot Photoshop/MCP drawing or forbids imagegen/image_gen, use only the connected PaintPilot Photoshop MCP tools for that task. Start with photoshop_get_state to establish the document, or photoshop_guard_resume for an interrupted run; reuse an already confirmed target. Draw through photoshop_guard_cycle_auto. If the intended open document is inactive, discover photoshop_set_active_document via photoshop_guard_capabilities(tool_names) even when no standalone tool appears. With explicit authorization to switch focus, activate its exact document_id through photoshop_guard_cycle_auto, then verify photoshop_get_state before painting. Without focus permission ask permission to activate through MCP, not for a manual tab click. Never switch silently or remove document_id pinning. A decision-loop stall is advisory, not a mutation blocker: dispatch the next meaningful visual pass or one bounded diagnostic. Do not call built-in/external image generation, even for a reference, preview or fallback. If the selected tools are unavailable, report the exact blocker and stop; only an explicit later user change authorizes another execution mode. Run one bounded semantic pass, not an entire artistic stage, in local Photoshop; keep this route unless the user explicitly changes execution mode. After inspecting exact review images, send previous_operation_id + previous_observation (critic_review at its checkpoint) with optional next_pass; fetch missing images via photoshop_guard_review_image and poll returned job_id via photoshop_guard_job_poll. |
| photoshop_guard_art_directorB | Manage Director plans: review issues tasks, interrupt returns to planning, complete closes a satisfied directive; does not certify painted quality. |
| photoshop_guard_resumeA | Recover the local Photoshop workflow without replaying uncertain mutations; keep it unless the user explicitly changes execution mode. After a UXP session change, same_document_confirmed=true requires user confirmation and internally compares fresh pixels/owners with the preserved frame; mismatch keeps work quarantined. No source inspection is needed. |
| photoshop_guard_review_imageC | Deliver exact review images for operation_id without painting; inspect them before submitting previous_observation. |
| photoshop_guard_job_pollC | Poll job_id; fetch completed visual review via photoshop_guard_review_image; never replace running/uncertain work with another mutation. |
| photoshop_guard_reconcileA | Reconcile uncertain execution without replay. For a user-confirmed closed document, send id + outcome=abandoned + document_closed_confirmed=true + reason; Guard collects fresh document-list evidence internally. Do not read source or manufacture evidence ids. |
| photoshop_guard_set_art_runB | Bind document and immutable process_dir. Honor presentation_context.painting_profile_selection from the Photoshop panel for NEW art runs; auto allows an explicit choice based on the brief and defaults to nontrivial_painting if omitted. Brush preflight is required before dependent brush operations. |
| photoshop_guard_statusC | Read state/readiness, lint next_pass, or solve construction_model / construction_ref without painting. Keep the established local Photoshop workflow unless its route is unavailable; never replay uncertain mutations. Construction is a geometric target, not image proof; diagnostic_timing_marker is benchmark-only. |
| photoshop_guard_capabilitiesB | Read Guard capabilities and recovery contract; tool_name returns one exact executable argument schema without source inspection. |
| photoshop_guard_brush_pack_ingestA | Import supplied .abr assets and return brush_pack_id with verified presets; changes Photoshop brush inventory, not canvas pixels. |
| photoshop_guard_brush_pack_profileC | Plan/probe a brush pack, record observed media or stamp behavior, or build its preflight role map; probe_media draws a disposable sheet. |
| photoshop_guard_keep_logical_layerB | Commit a visually accepted temporary component on a predeclared independent unit using its journal-bound hypothesis_id and layer_id; does not alter pixels or layer structure. A temporary composition-scaffold unit cannot be promoted or relabelled. |
| photoshop_guard_lint_next_passB | Optional read-only validation of a complete continuation, including previous observation. cycle_auto already validates; do not lint each normal component or separately close a reviewed previous pass. |
| photoshop_guard_request_stopA | Explicit PaintPilot Stop for one known Guard execution operation_id. Blocks subsequent Photoshop mutations in that execution, including queued work. This does not detect or replace the MCP host chat Stop button, and cannot undo an already dispatched command. |
| photoshop_guard_set_prioritiesC | Record whole-frame problem priorities; open larger must-fix problems block finer work. |
| photoshop_guard_recover_lockA | Release locks only for dead owners; embedded_guard_job_stalled with a live PID requires MCP-child restart before recovery, never mutation replay. |
| photoshop_pingA | Verify Photoshop/UXP readiness and report transport, version, bridge revision, active document and document count. Use for route/bootstrap checks, not every call. |
| photoshop_get_versionA | Return the detected Photoshop version string. For feature support use photoshop_get_capabilities. |
| photoshop_get_document_infoC | Read information about the active Photoshop document. |
| photoshop_list_documentsA | List all open Photoshop documents, their ids/dimensions, and the active document without changing tabs. |
| photoshop_get_layersA | List all layers in the active document with kind, visibility, and opacity. Use photoshop_get_state for a lighter session summary. |
| photoshop_list_fontsA | List Photoshop fonts, optionally filtered by name/family/PostScript name. Returns font records, total count, and truncation state without changing Photoshop. |
| photoshop_get_selection_boundsA | Read the active pixel selection bounds in document pixels (read-only). |
| photoshop_get_historyB | Read the active document history states without mutation. |
| photoshop_get_stateB | When the user requests PaintPilot Photoshop/MCP drawing or forbids imagegen/image_gen, use only the connected PaintPilot Photoshop MCP tools for that task. Start with photoshop_get_state to establish the document, or photoshop_guard_resume for an interrupted run; reuse an already confirmed target. Draw through photoshop_guard_cycle_auto. If the intended open document is inactive, discover photoshop_set_active_document via photoshop_guard_capabilities(tool_names) even when no standalone tool appears. With explicit authorization to switch focus, activate its exact document_id through photoshop_guard_cycle_auto, then verify photoshop_get_state before painting. Without focus permission ask permission to activate through MCP, not for a manual tab click. Never switch silently or remove document_id pinning. A decision-loop stall is advisory, not a mutation blocker: dispatch the next meaningful visual pass or one bounded diagnostic. Do not call built-in/external image generation, even for a reference, preview or fallback. If the selected tools are unavailable, report the exact blocker and stop; only an explicit later user change authorizes another execution mode. Read current document/layer/selection state without mutation; establish or recover the document target. |
| photoshop_get_previewB | Capture a JPEG preview of the active/pinned document, optionally with a local focus crop or materialized filesystem copy. |
| photoshop_get_capabilitiesB | Report version-derived Photoshop feature flags plus current UXP bridge availability. |
| photoshop_sample_colorA | Sample the visible composite color at a document-space pixel coordinate. With radius=0, returns a point sample. With radius>0, returns the Photoshop Average-equivalent color of the clipped square neighborhood without changing the source document. Useful for painting from references, skin/hair/lip palette pickup, and local color checks. |
| photoshop_sample_colorsA | Sample many visible-composite point colors from one pinned Photoshop document in a single operation. Large requests are automatically split into bounded batches; up to 1024 total point samples are returned without changing the source document. Use for reference-driven painting value maps, palette studies, and dense visual checkpoints where repeated photoshop_sample_color calls would be inefficient. |
| photoshop_list_brush_presetsA | List installed Photoshop brush presets. Supports optional case-insensitive filtering and a result limit. |
| photoshop_get_brush_settingsA | Read active Photoshop paint-brush settings used for digital painting, including geometry, opacity/flow, pressure overrides, airbrush and smoothing. |
| photoshop_measure_pointsA | Measure user-supplied named points in the active Photoshop document. Returns pixel and normalized coordinates, vector distances, and optional ratios between named measurements. This tool does not detect facial/anatomical landmarks automatically. |
| photoshop_geometry_calculateB | Pure deterministic source-pixel geometry for Scene Geometry Model / Geometry Preflight work. The caller supplies semantic line endpoints, points or polygons plus exact source-frame provenance; this tool performs no semantic detection and creates no Photoshop history. |
| photoshop_list_guidesA | List Photoshop guides with index, orientation, pixel position, and normalized position for the active document. |
| photoshop_transform_landmarksA | Transform a caller-supplied named landmark set from one axis-aligned semantic frame to another while preserving local u/v coordinates. Pure geometry: does not inspect Photoshop or detect landmarks. |
| photoshop_compare_landmarksA | Compare two caller-supplied named landmark sets in their own semantic frames. Returns per-point normalized error plus mean/RMSE/max error. Pure geometry: does not inspect Photoshop or detect landmarks. |
| photoshop_get_painting_method_capabilitiesB | Return the executable painting-method capability map derived from tools actually registered in this runtime. Unsupported methods remain explicit instead of being invented. |
| photoshop_select_painting_methodC | Select an executable Photoshop painting method from the actual runtime capability map. This is a planning/read-only tool; it does not mutate Photoshop. |
| photoshop_analyze_value_structureB | Analyze the exact delivered Guard frame and automatically register materialized grayscale/luminance evidence. Returns a real evidence_operation_id and SHA for Director updates without source or journal inspection. Standalone preview-only catalogs capture a non-destructive preview. Returns a full grayscale JPEG, a low-frequency downsampled grayscale thumbnail, and descriptive luminance summaries for Art Director review. The low-frequency view suppresses small texture/noise so major-form claims can be checked independently of surface activity. It never declares artistic PASS automatically and does not modify the PSD. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| ps.gradient_blend | Plan a reversible linear transition on an existing or newly created layer mask. |
| ps.color_correct | Plan a neutral tonal correction with semantic Photoshop adjustment tools. |
| ps.dodge_burn_guide | Set up reversible dodge/burn on a neutral-gray layer using Overlay or Soft Light. |
| ps.composite_blend | Plan a reversible external-image composite using placement, masks and explicit blend-mode control. |
| ps.digital_painting_control | Guide Photoshop painting through multiscale checks, rollback and state-based completion. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 39 tools
Many tools have overlapping boundaries: photoshop_get_state, photoshop_ping, photoshop_get_document_info, and photoshop_list_documents all help establish document context; photoshop_get_capabilities and photoshop_get_painting_method_capabilities overlap; and the guard suite includes several recovery/status/lint tools whose distinctions require careful reading. The extremely long descriptions often reference other tools rather than making each tool's unique role immediately obvious.
Names are consistently snake_case, but the set mixes several prefixes and naming conventions: photoshop_* read tools, photoshop_guard_* workflow tools, and geometry tools without the photoshop_ prefix. Many guard names are process-oriented nouns or compound labels rather than a uniform verb_noun pattern.
With 39 tools, the surface is heavy for a Photoshop painting assistant and appears to expose many internal guard, recovery, validation, and diagnostics operations as first-class tools. Several tools seem specialized enough that an agent would rarely need them, inflating the set.
The server covers state inspection, previews, color sampling, brush presets, geometry, and guarded painting cycles, but obvious Photoshop lifecycle operations are missing: creating/deleting/reordering layers, direct selection editing, undo/history navigation, and save/export. Agents would likely hit dead ends for common editing workflows outside the narrow guarded painting path.