Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_capabilitiesA

Manifest: operation categories/counts, edit-action types, mask types, formats, optional backends, security policy, workflows and error codes. Call once at the start of a session.

list_operationsB

Compact list of editing operations (id, title, group). Filter by category, ImageToolbox filter group (e.g. category='filter', group='blur') or keyword query (e.g. 'vignette', 'film grain', 'pixelate').

describe_operationsA

Full documentation for 1-50 operation ids: parameters with types, ranges, units, defaults, JSON schema, whether it can be masked, and examples.

inspect_imageB

Metadata and measured style of an image file: tone (median lightness, black/white points, contrast), colour cast / estimated white balance, zone tints, saturation, grain, vignette, palette, descriptors. include_thumbnail returns a small preview image.

open_imageA

Open an image as a new non-destructive editing project. Returns project_id and state.

open_projectC

Open a saved .lazyroom project (e.g. one a human edited in the GUI).

get_project_stateB

Complete editing state: ordered steps with ids, params, masks, opacity, blend; undo/redo availability.

edit_projectA

Apply edit actions atomically (all-or-nothing, one undo step). Action shapes: {"type":"add","op":ID,"params":{...},"index"?,"mask"?,"opacity"?,"blend"?,"label"?} {"type":"add_group","steps":[{op,params,...}],"label"?,"mask"?,"opacity"?} {"type":"update","step_id":ID,"params":{...merged},"mask"?,"opacity"?,"blend"?,"enabled"?} {"type":"remove"|"duplicate","step_id":ID} {"type":"move","step_id":ID,"index":N} {"type":"toggle","step_id":ID,"enabled"?} {"type":"set_steps","steps":[...]} {"type":"clear"} Mask example: {"shapes":[{"type":"radial","center":[0.5,0.4],"radius":[0.3,0.35],"feather":0.6}, {"type":"luminance","min":0,"max":0.4,"mode":"intersect"}]} (types: all, rect, ellipse, radial, linear, polygon, brush, luminance, color, hue, skin, image, subject).

project_historyB

List history, undo/redo N steps, or revert to a history entry (revert is itself undoable).

render_previewA

Render the project (or an earlier version: 'original' or a history id) and return the preview image, per-step timings and result statistics. compare='side_by_side' shows before | after.

compare_versionsB

Metrics (ΔE, SSIM, PSNR, colour-distribution distance) between two versions + side-by-side image.

export_imageB

Render at full resolution and write a NEW file (originals are protected; existing files need overwrite=true). Formats: jpg png webp avif heic tif bmp gif jp2 qoi ico tga pdf.

save_projectB

Save the project as human-readable JSON (.lazyroom) that the GUI, CLI and other agents can open.

apply_to_fileB

One-shot: apply steps (or a preset id) to an image file and export, without keeping a project.

list_presetsC

Built-in semantic looks (e.g. warm-70s-film, teal-orange, vintage-polaroid, faded-analog, cool-urban, earthy-muted, warm-editorial-portrait, bw-classic) and user presets. Search by mood words.

apply_presetC

Add a preset as an editable group step (strength = group opacity 0..1).

save_presetB

Save a reusable preset from a project's pipeline or explicit steps.

delete_presetA

Delete a user preset. Destructive: ask the user first, then call with confirm=true.

analyze_styleB

Detailed photographic style measurements of a (reference) image incl. tone histogram and grain size.

match_styleA

Fit an editable grading pipeline (white balance, tone curve, 3-way colour grade, saturation, HSL, grain, vignette) that gives the project the look of a reference photo. matching='look' transfers the grade without copying scene content; 'exact' matches the reference statistics (same scene). strength=null uses a confidence-based strength. Returns the steps and a report: similarity, confidence, limitations.

plan_editB

Translate a natural-language request ('warm faded 70s film, muted greens, subtle grain') into editable steps using the built-in rule engine (or a configured local/remote LLM). Review, then apply.

start_batchA

Process files/folders/globs with one pipeline in the background. Returns job_id immediately; poll job_status. normalize equalises exposure/WB per image for consistent series; match_reference adds a per-image style match. Failures are isolated per file; a JSON report is written to output_dir.

job_statusA

Status/progress of a job (optionally wait up to wait_seconds), or all jobs when job_id is omitted.

cancel_jobB

Cancel a running job; finished outputs are kept.

list_toolsC

Utility tools that produce data or new files: palette, histogram, compare, duplicates, metadata read/write/strip, QR/barcode generate/read, OCR, split, stitch, collage, stack, HDR, focus stack, panorama, gradients, noise, animations, PDF, compress to size, ASCII, SVG trace, rename...

describe_toolC

Parameter schema and documentation of a utility tool.

run_toolB

Run a utility tool (see list_tools/describe_tool). Destructive tools require confirm=true in params.

Prompts

Interactive templates invoked by user choice

NameDescription
grade_photo
match_reference
batch_grade

Resources

Contextual data attached and managed by the client

NameDescription
manifestFull capabilities manifest
agent-guideHow agents should use LazyRoom (workflows, conventions, examples)

TDQS

B3.2/5.0

Scored across 27 tools

Disambiguation4/5

The set has a clear layered architecture: discovery (get_capabilities/list_operations/describe_operations), project lifecycle (open/get_state/edit/history/render/export/save), style (analyze_style/match_style/presets), batch (start_batch/job_status/cancel_job), and a meta-tool layer (list_tools/describe_tool/run_tool). Most tools target a distinct resource+action, but a few pairs are easy to confuse: inspect_image vs analyze_style (both measure tone/colour/grain), and apply_preset vs match_style vs plan_edit all "add steps that create a look". The generic compare utility inside list_tools also overlaps compare_versions.

Naming Consistency4/5

The dominant pattern is verb_noun (open_image, edit_project, render_preview, apply_preset, delete_preset, list_presets, match_style), which is easy to generalize from. Deviations are minor: two noun-phrase names (project_history, job_status) and an action/noun split in the batch family (start_batch, cancel_job, job_status). Readable throughout, just not perfectly uniform.

Tool Count3/5

27 tools is heavy for a single server and sits above the comfortable 3-15 band. The count is partly mitigated by the meta-tool consolidation (list_tools/describe_tool/run_tool fold dozens of utilities into three entries), but the project/preset/style/batch surface still exposes a lot of individual endpoints an agent must choose among.

Completeness4/5

Coverage is broad: open (image or .lazyroom), inspect, edit atomically, history/undo/revert, preview, full-res export, save, presets CRUD, style analysis and matching, batch processing with progress/cancel, and a capabilities manifest. Remaining gaps are modest: no explicit close/discard/delete-project operation, and no direct 'add step by operation id without params lookup' shortcut, but agents can work around both.

Maintenance

ActivityMaintained
ResponsivenessNo issues