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.mdfor 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_keysfirst to find theidof 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