Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ABBA_MCP_HOMENoSet this to use another folder for ABBA-MCP data such as fiji.log. Defaults to ~/.abba-mcp.
ABBA_MCP_HEADLESSNoSet to true to run Fiji/ABBA headless with no window, for servers and remote machines. The assistant shows snapshots instead, and manual registrations are not available.false

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
fiji_module_searchA

Find SciJava commands and scripts whose title, menu path, description or class contain all the words of the query. Every Fiji command and plugin is a module: search here before writing code. Every ABBA action is a command: search here, or grep the command docs.

fiji_module_describeA

Describe a module's inputs and outputs (types, labels, descriptions, defaults and choices after its initializers ran), the live objects that can fill its object inputs, and the artifact that provides it (provided_by: groupId:artifactId:version). id: a class name, menu path, title, or script file path.

fiji_module_runA

Run a module (command class, menu path, title, or the path of a script file) with inputs as a JSON object, e.g. {"sigma": 2, "image": "blobs.gif"}. Never opens the module's dialog: inputs not given keep their default; an object input with one live instance is bound to it, else pass its name (see fiji_objects). Returns status, outputs (objects by name, pictures as images), new objects, the modules it ran in turn (nested), and the warnings and errors it logged (messages). status is error when the module threw or reported success = false (error says why), canceled, or ok; ok with logged_errors (their number) and first_error means it ended normally but logged errors: check its outputs. Waits up to wait_seconds (default 30, at most 40: clients abort requests after about 60 s; follow a longer run with fiji_module_status). A run still going returns its job id, status running, and the titles of the modal dialogs open (dialogs); blocked_by_dialog means the job itself waits for a dialog. Starts Fiji first if it is not running: the first start downloads Fiji and ABBA and takes minutes.

fiji_module_run_scriptA

Run a script given as text (Groovy by default) as fiji_module_run runs a script file: same inputs, result, job id and status, nothing written to disk. For what no command does: search the commands first. Declare what it needs with #@ lines, e.g. '#@ ImagePlus image' (an object input with one live instance is bound to it) or '#@ CommandService command', and what it returns with '#@output String result'. Recorded in fiji_module_script with its code; '#@script(record="false")' leaves out a script that only looks. Write Groovy, as ABBA's docs and examples: 'python' here is Jython 2.7, not CPython. Read scripting/groovy-steps.md before the first script: a line starting with #@ is a parameter even inside a string. The ABBA window is a ch.epfl.biop.atlas.aligner.gui.bdv.BdvMultislicePositionerView, the session a ch.epfl.biop.atlas.aligner.MultiSlicePositioner (guides/window.md, scripting/).

fiji_module_statusA

Follow a run started by fiji_module_run: waits up to wait_seconds and returns its result as fiji_module_run does, or status running (or blocked_by_dialog) with the dialogs open. An empty job lists the runs - title, status (running, ok, error or canceled) and seconds each, the last 20 finished ones kept - and the modal dialogs open.

fiji_objectsA

The live objects Fiji holds (images, viewers, sessions...): without a type, the number of objects per type; with a type, the objects of that type by the names module inputs accept. An ABBA session is a MultiSlicePositioner.

fiji_module_scriptC

The successful fiji_module_run calls of this session as a Groovy script that replays them, every input explicit (modules declaring record=false, which only look, are left out). Once a result is right, save it (path) to keep the pipeline: edit it, turn values into #@ parameters, run it with fiji_module_run (its path is its id), or headless in a fresh Fiji.

fiji_ui_windows_readA

List visible AWT and Swing windows, including titles, classes, bounds, active state, and modality The ABBA window's title starts with its atlas; there may be several ABBA windows.

fiji_ui_dialogs_readA

List visible AWT and Swing dialogs, including each dialog's title, messages, buttons, and modal state A command that opened a dialog for the user (interactive registrations) waits until it is closed.

fiji_ui_dialog_respondA

Click an exact enabled button in one visible dialog. This tool rejects missing or ambiguous dialogs and never chooses a button implicitly Only for dialogs the user asked you to answer.

fiji_ui_dialog_closeA

Request the normal window-manager close action for one visible dialog. This tool rejects missing or ambiguous dialogs, does not choose a button, and reports whether the dialog remains visible Only for dialogs the user asked you to close.

abba_window_pictureA

Picture of one Fiji window, or dialog, as it is drawn, what the user sees in it: right even when the window is covered or the screen is locked, and never another application. Window mode only. Not recorded in fiji_module_script.

abba_window_viewA

Sets what an ABBA window shows the user: its mode, its current slice, the channels shown, and what is framed. Review mode: the atlas section of the current slice, whole or a region of it. Positioning mode: the current slice and its neighbours with the atlas above, or all the slices. Window mode only. Changes the view, not the session; not recorded in fiji_module_script. A session started without a window gets one. Then look with abba_window_picture. The window has no region names: to name what it shows, use ABBA - Snapshot with labels on the same region_mm.

abba_fiji_stopA

Stops the Fiji this extension started: the ABBA window closes and unsaved work is lost. Only when the user explicitly asks to stop or restart Fiji. Never to check, wait for or speed up a start: a start taking minutes is normal, and stopping it starts it all over again. To look at Fiji, use fiji_ui_windows_read or abba_window_picture.

abba_docs_searchA

Search the bundled ABBA documentation (guides, one file per command, scripting, examples) with a regular expression; returns matching lines with their file. For assistants without file access: with file access, grep the docs folder named in the instructions instead. This server: bundle abba-mcp 0.25.0.post2, for ABBA 0.25.0 only.

abba_docs_readA

Read one bundled documentation file, by its path relative to the docs folder (as abba_docs_search gives it).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 16 tools

Disambiguation5/5

Each tool targets a distinct resource+action: search/describe/run/status for modules, read/respond/close for dialogs, picture/view for windows, search/read for docs. The descriptions even explicitly cross-reference each other (e.g. use fiji_module_status to follow a long fiji_module_run), leaving little room for misselection, aside from a mild adjacency between the three script-related tools that the text clearly disambiguates.

Naming Consistency4/5

A predictable namespace_noun_verb, snake_case pattern dominates (fiji_module_search, fiji_ui_dialog_respond, abba_docs_read, abba_window_view) with clear prefixes (fiji_module_, fiji_ui_, abba_). Minor deviations exist: fiji_module_script has no verb, and fiji_module_run_script/abba_window_picture break the verb-final rhythm, but the scheme is still highly readable.

Tool Count4/5

16 tools is at the heavier end but each covers a genuine, non-redundant capability (module lifecycle, session replay, UI introspection/interaction, window control, docs, stop). Nothing feels padded, though the module/script/status cluster could conceivably be tightened.

Completeness4/5

The surface covers discovery, execution, monitoring, scripting, live-object inspection, UI read/interaction, window rendering, and docs — a full lifecycle for driving Fiji/ABBA. Minor asymmetries remain, e.g. an explicit stop but no explicit start/restart (start is implicit in run), and no standalone session save/load beyond script replay, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive