Live demo — data resets daily at 03:00 UTC. Nothing you enter is saved. Server UI →

product: maestro audience: test-developer, operator, ai-assistant authority: normative

MCP Tools — Config

Tools for reading and writing Station Config entries — the key-value settings that are injected into every test step as cfg.* variables.

For background on the two-tier (global + per-station) config model, see ../maestro/concepts.md.

All tool responses include a top-level station field containing the StationLabel configured for this server instance.

See also: tools-reference.md for the full tool index.


get_station_id

Returns the effective station ID of this API instance.

Parameter Type Required Description
(none)

Returns: stationId string

Calls: GET /api/config/station-id


list_config_keys

Lists all configuration entries for a given scope.

Parameter Type Required Description
scope string Yes global for global entries, or a station ID (e.g. ST-01) for station-local entries

Returns: entries[] — each has id, stationId, key, value, category, description, updatedBy, updatedAt

Secret entries (valueDisplayMode: WriteOnly) have their value masked as ***.

Calls: GET /api/config?stationId={scope}


get_merged_config

Returns the effective merged configuration for a station — global entries plus station-local overrides, with local values winning on collision.

Parameter Type Required Description
stationId string Yes The station ID to merge for

Returns: config — flat {key: value} dictionary. Secrets are masked.

Calls: GET /api/config/merged/{stationId}


get_config_value

Reads a single configuration entry by key.

Parameter Type Required Description
key string Yes The config key to look up (e.g. COM_PORT)
scope string Yes global or a station ID

Returns: found (bool) and entry if found

Calls: GET /api/config/{scope}/{key}


set_config_value

Creates or updates a configuration entry. Matches on (stationId, key) — if the entry already exists it is updated; otherwise a new entry is created.

Parameter Type Required Description
key string Yes Config key (e.g. COM_PORT)
value string Yes Value to store
scope string Yes global or a station ID
category string No Grouping label shown in the UI (e.g. Instruments)
description string No Human-readable description of what this setting controls

Returns: entry — the saved entry with its database id

Calls: PUT /api/config


delete_config_value

Deletes a configuration entry by its numeric database ID.

Parameter Type Required Description
id int Yes The numeric id from list_config_keys or set_config_value

Returns: message confirming deletion

Calls: DELETE /api/config/{id}

Use list_config_keys first to find the id of the entry you want to delete.


get_package_registry_settings

Returns the package registry URL and git credential status.

Parameter Type Required Description
(none)

Returns: settings.registryUrl, settings.gitUsername, settings.tokenIsSet (the token itself is never returned)

Calls: GET /api/config/package-registry


set_package_registry_settings

Updates the package registry URL and/or git credentials.

Parameter Type Required Description
registryUrl string Yes Git URL of the central package registry catalog
gitUsername string No Git username for authenticated push operations
gitToken string No Personal Access Token. Leave blank to keep the existing token unchanged

Returns: message confirming the update

Calls: PUT /api/config/package-registry

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.