Skip to main content
Glama

list_signals

Retrieve all JMRI signal masts and their current aspects. Use to identify existing signals before setting or querying them.

Instructions

List every signal mast known to JMRI, with its current aspect.

Use to discover what signal masts exist before calling get_signal/set_signal, or to answer "what signals are there?"/ "what aspect is signal X showing?". No side effects.

A signal mast is a trackside signal (e.g. German Hauptsignal), distinct from a turnout (switch/points) or a layout light (scenery) — don't confuse with set_turnout/set_light. Only covers signalMast objects, not JMRI's lower-level signalHead objects (rarely used directly once a mast is configured).

"aspect" is a name like "Hp0"/"Hp1"/"Hp2" (German Hauptsignal) or a different vocabulary depending on the mast's configured signal system — aspect names are never hardcoded/translated, just passed through from JMRI.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavior: it has no side effects, it only returns signal mast objects (not signalHead), and aspect names are passed through verbatim from JMRI. This covers all relevant behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a front-loaded purpose, followed by usage guidelines and clarifications. Each sentence adds value without redundancy. It is concise yet complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description is complete. It explains what a signal mast is, how it differs from other objects, and what aspect means in context. An agent can correctly invoke this tool based on this description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema coverage is trivially 100%. The description adds value by explaining the meaning of 'aspect' in the output, which compensates for the lack of parameters. Baseline 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists every signal mast with its current aspect, and specifies its use before get_signal/set_signal. It distinguishes from sibling tools like list_turnouts and set_light by clarifying it covers signal masts, not turnouts or lights.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when to use (to discover masts before get/set_signal, to answer what signals exist or what aspect a signal shows) and when not to use (not for signalHead objects, not to be confused with set_turnout/set_light). It also notes no side effects.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HO44-PROJECT/MrJ-JMRI-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server