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.mdfor 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-logsvolume to be mounted in the API container. When the mount is absent (e.g. bare-metal development), the response returnsunavailable: truewith 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:roWhen the socket is absent the response returns
unavailable: true. In bare-metal development, use host-nativedocker eventsinstead.