MCP server for LabTether hub providing tools for agent management, Docker operations, system information, alerts, schedules, webhooks, credentials, and topology queries
LabTether exposes 27 tools with basic naming and minimal descriptions. All tools have input schemas with typed parameters and descriptions, which is positive. However, descriptions are uniformly terse (10-50 chars), well below the 50-200 char baseline for LLM-optimized tools. No output schemas are documented. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. Irreversible operations (asset_reboot, asset_shutdown) lack confirmation patterns. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification in the data. Naming is verb-first and clear (list_, restart_, read_, etc.), which is good, but parameter descriptions are minimal and lack format/constraint details. No evidence of pagination support for list tools. Overall: functional but well below production baseline.
Acknowledge an alert
List all alerts in the hub
Reboot a connected asset
Shutdown a connected asset
Wake a connected asset using Wake-on-LAN
Get health status of all connectors
List all credential profiles in the hub (secrets stripped)
All tool descriptions are under 50 characters, well below the 50-200 char LLM-optimized baseline. Descriptions lack context on WHEN to use each tool, prerequisites, or what the response contains. Example: 'List services on a connected agent' (35 chars) does not explain what fields are returned or how to filter.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does docker_container_logs return container_id for chaining?). This violates the pattern:tool requirement and forces agents to guess response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Get logs from a Docker container on a connected asset
Restart a Docker container
Get resource statistics for a Docker container on a connected asset
List Docker containers on a specific host
List Docker hosts available in the hub
List files in a directory on a connected agent
Read a file from a connected agent
List all asset groups in the hub
Get metrics overview from the hub
List all saved actions in the hub
List all schedules in the hub
List services on a connected agent
Restart a service on a connected agent
Get disk information from a connected agent
Get network information from a connected agent
List installed packages on a connected agent
List running processes on a connected agent
Get topology edges for a specific asset
List all update plans in the hub
List all webhooks in the hub
Irreversible operations (asset_reboot, asset_shutdown) lack confirmation patterns or dry-run support. Agents can trigger destructive actions without safeguards. No error handling guidance for recovery.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification in the data (READ_ONLY, WRITE, IRREVERSIBLE). LLMs cannot distinguish safe from dangerous tools without explicit hints.
List tools (services_list, files_list, docker_hosts, etc.) lack pagination parameters (limit, offset, cursor) and no documented result caps. Returning unbounded lists risks context window exhaustion and LLM reasoning degradation.