siril-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SIRIL_MCP_HOST | No | TCP host address. Override with SIRIL_MCP_HOST. | 127.0.0.1 |
| SIRIL_MCP_PORT | No | TCP port number. Override with SIRIL_MCP_PORT. | 27777 |
| SIRIL_MCP_SOCKET | No | Path to the Unix socket. Override with SIRIL_MCP_SOCKET. | |
| SIRIL_MCP_TRANSPORT | No | Transport protocol: unix or tcp. Default is unix where supported, otherwise tcp. Select explicitly with SIRIL_MCP_TRANSPORT=unix|tcp. |
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 |
|---|---|
| siril_pingA | Check that the Siril MCP bridge is running inside Siril. |
| siril_get_stateA | Get live Siril state: loaded image, size, filename, selection, working directory. |
| siril_list_commandsA | List Siril commands available for scripting. Args: query: Optional substring filter on command name or usage. scriptable_only: If true, only return scriptable commands. |
| siril_run_commandC | Run a single Siril command in the live GUI session. Args: command: Command name (e.g. "autostretch", "load", "cd"). args: Optional list of argument strings. |
| siril_run_scriptA | Run a multi-line Siril script (.ssf command script or .py via pyscript). Args: script_body: Full script contents. kind: "ssf" for command scripts, "py" for Python (executed with pyscript). |
| siril_get_previewA | Return an 8-bit autostretched preview of the current Siril image (or a ROI). Args: max_edge: Maximum width or height of the returned PNG. x, y, w, h: Optional ROI in image pixel coordinates (omit all for full image). linked: Use linked autostretch when True. save_debug_copy: Also write a PNG under Application Support for debugging. |
| siril_set_selectionB | Set the Siril image selection rectangle (x, y, width, height). |
| siril_get_statsA | Get per-channel statistics for the currently loaded image. |
| siril_undoA | Undo the last Siril operation (if undo history is available). |
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
Most tools target a clearly distinct purpose (ping, get_state, get_preview, set_selection, get_stats, undo, list_commands). The only mild overlap is siril_run_script vs siril_run_command, but their descriptions clearly distinguish multi-line scripts from single live commands.
Every tool uses the same siril_ prefix with snake_case and a consistent verb_noun or verb form (run_script, get_state, list_commands, set_selection, get_stats). The pattern is predictable throughout.
Nine tools is well-scoped for a live-session control bridge, with each tool covering a distinct capability (scripting, state, preview, selection, stats, undo). No redundant or filler tools.
The surface covers execution (script/command), inspection (state, stats, preview), selection, undo, and command discovery. Explicit image load/save/export operations are absent, but the generic run_command escape hatch largely compensates, leaving only minor gaps.