spektrafilm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IMAGE | No | Path to a RAW or image file to load at startup; pass as --image /path/x.ARW. | |
| SPEKTRAFILM_TILE_MP | No | Override the tile size in megapixels used for tiled export (environment variable). Tiles are otherwise sized to 25% of available RAM. |
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
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| open_imageA | Load an image or RAW into the film lab and return a preview with the current recipe. |
| list_stocksA | List the film stocks and print papers available, with type (negative/positive) and use (still/cine). |
| developC | Change the film recipe (only the fields you pass) and return the developed preview. |
| frameA | Compose the picture: straighten, perspective correction, crop, rotate and flip. Only the fields you pass change. Every call measures the straight lines under the new framing and reports any remaining tilt or keystone, with the auto correction that would fix it. Returns the framed preview. Call with reset_framing=true and no other fields to look at the whole uncropped photo. |
| compareA | Render a labelled contact sheet of variations of the current recipe (up to 12 tiles). Axes you pass are combined (e.g. 3 films x 2 exposures = 6 tiles). Does not change the recipe. |
| loupeA | Render a full-resolution crop of the framed picture with grain and halation, to inspect fine detail at 100%. |
| exportB | Render the current recipe at full resolution and save it. Renders in tiles to bound memory; ~75 s for a 40 MP RAW. |
| get_stateC | Current image and recipe. |
| undoB | Revert the last recipe change and return the preview. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool maps to a distinct stage of the film-lab pipeline (load, recipe, framing, preview variants, detail inspection, export, state, undo), so misselection is unlikely. Minor overlap exists between develop and frame (both mutate state and return a preview with 'only the fields you pass change' semantics), and between loupe and export (both render full-resolution), but the crop-only vs save distinction is stated.
The set mixes verb_noun names (open_image, list_stocks, get_state) with bare verbs (develop, frame, compare, export, undo) and a lone noun (loupe). The darkroom vocabulary keeps it readable, but there is no predictable pattern an agent can extrapolate from.
Nine tools cover the workflow with no filler: one per operation, each earning its place. Well within the ideal 3-15 range for a scoped image-processing server.
The surface covers the full lifecycle: load, inspect stocks, adjust recipe and framing, compare variants, inspect detail, export, and undo. Gaps are minor: no redo/redo-history, no way to save or reload a named recipe preset, and no documented way to reset framing outside a frame() call.