Skip to main content
Glama

List systems

list_systems
Read-only

Lists the systems a MiSTer can launch, with indexed game counts and the core that runs each. Use a system's id to search games or launch a core without a game.

Instructions

The systems each MiSTer can launch (consoles, computers, arcade), with how many games each has indexed and the MiSTer core that runs it. Use a system's id with search_games, or launch(system=...) to open the core with no game (e.g. a computer core).

Input Schema

NameRequiredDescriptionDefault
hostNoMiSTer name from get_status. Omit when the call already says which (a ref does).

Output Schema

NameRequiredDescriptionDefault
systemsYes
unavailableYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint true and openWorldHint false, so the safety profile is covered. The description still adds useful substance: the listing is scoped per MiSTer (matching the host parameter), and each entry includes indexed game counts and the running core.

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

Conciseness4/5

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

Two sentences, front-loaded with what is listed and what each entry contains, then the follow-up usage. There is slight density in the comma-and-parenthesis parentheticals, but no wasted words.

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?

For a simple, side-effect-free single-parameter listing tool with an output schema, the description covers what is listed, per what host, and how the ids are used downstream. Return shape is handled by the output schema, so nothing important is missing.

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

Parameters3/5

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

The single parameter has 100% schema description coverage and already explains the host/ref convention, so the schema does the work. The description does not mention the host/ref selection behavior itself, so it adds nothing to what the schema provides. That meets the baseline for fully covered schemas.

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?

States a concrete verb and resource ('The systems each MiSTer can launch') and enumerates the categories (consoles, computers, arcade) plus what each row carries (game count, core). This makes the tool's distinct role clear relative to siblings like get_status, which reports hardware status, or search_games, which consumes the ids it produces.

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

Usage Guidelines4/5

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

It tells the agent such ids are the input to search_games, and that the id can also be passed to launch(system=...) for a core with no game (e.g. a computer core). That is a concrete use case and a pointer to two specific alternatives, though it does not say when *not* to call this listing (e.g. if the system id is already known from a ref).

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