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 — System

Tools for querying station identity, health, version information, system updates, service logs, and Docker container lifecycle events.

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_info

Returns a composite identity block for this station.

Parameter Type Required Description
(none)

Returns: station, stationId, version (API version + runner versions)

Calls: GET /api/config/station-id + GET /api/health/version


get_system_health

Returns a full health check including database and Redis connectivity.

Parameter Type Required Description
(none)

Returns: health object with database.healthy, redis.healthy, connection details

Calls: GET /api/health/detailed


get_system_version

Returns the API assembly version and the version of every registered runner.

Parameter Type Required Description
(none)

Returns: version.apiVersion, version.runners[] (identifier, runnerType, version, healthy)

Calls: GET /api/health/version


trigger_system_update

Triggers a Watchtower on-demand container update. The API returns immediately; poll get_update_status to track progress.

Parameter Type Required Description
(none)

Returns: updateStatus with initial status

Calls: POST /api/system/update


get_update_status

Returns the current system update status.

Parameter Type Required Description
(none)

Returns: updateStatus.status — one of Idle, InProgress, Succeeded, Failed

Calls: GET /api/system/update-status


get_service_logs

Returns snapshot log lines from a named Maestro service container. Use this to diagnose runner-unavailable errors, container startup failures, or OOM kills without requiring SSH access to the host.

Parameter Type Required Default Description
service string No dotnet-runner Service name: dotnet-runner, python-runner, api, orchestra, redis, postgres
tail int No 100 Number of most-recent log lines to return

Returns: logs.service, logs.tail, logs.lines[], logs.unavailable (bool), logs.unavailableReason (string, when unavailable)

Calls: GET /api/system/service-logs?service=…&tail=…

Setup required: This tool requires the /station-logs volume to be mounted in the API container. When the mount is absent (e.g. bare-metal development), the response returns unavailable: true with an explanation. See the docker-compose volume configuration in the deployment guide.


get_system_events

Returns recent Docker container lifecycle events (start, die, oom, restart) for Maestro services. Use this to diagnose container crashes, OOM kills, or unexpected restarts without SSH access to the host.

Pair with get_service_logs for full crash diagnosis: get_system_events reveals what happened (OOM kill, crash loop, unexpected restart); get_service_logs shows what the process logged just before it exited.

Parameter Type Required Default Description
minutes int No 30 How many minutes of history to return
actor string No (all) Optional container name filter (partial match), e.g. dotnet-runner

Returns: events.events[] — each entry has timestamp, source, actor, action, detail; events.unavailable (bool); events.unavailableReason (string, when unavailable)

Calls: GET /api/system/events?minutes=…&actor=…

Setup required: Requires the Docker socket to be mounted in the API container:

# docker-compose.yml
volumes:
  - /var/run/docker.sock:/var/run/docker.sock:ro

When the socket is absent the response returns unavailable: true. In bare-metal development, use host-native docker events instead.

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.