A distributed test infrastructure platform for running commands on remote test machines over iroh peer-to-peer connections
24 tools with complete input schemas and descriptions present. Naming follows verb_noun convention (exec, upload, download, mcp-add, etc.). Descriptions are concise (30-150 chars typical) and action-oriented. However, output schemas are not documented, LLMs cannot predict response structure for chaining. Parameter descriptions are minimal (10-30 chars) and lack format/constraint details. No error handling guidance. Risk annotations (WRITE/READ_ONLY) are present but not integrated into tool definitions. Missing idempotency, retry, and recovery patterns.
Enroll this client from a one-time control invitation
Show this client's Control identity and cached map revision
Fetch and apply the latest control map now
Show daemon status or stop the daemon
Download a file from a test machine (edge)
Add (or update) an edge in simple standalone mode
Create a one-time invitation for an edge owned by this Client
List configured edges
Remove an edge by name
Output schemas not documented. LLMs cannot predict response structure, breaking tool chaining and forcing discovery detours.
Parameter descriptions are minimal (10-30 chars) and lack format/constraint details. E.g., 'argv' lacks guidance on separator syntax; 'ttl_secs' lacks range bounds.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. LLMs cannot recover from failures.
Destructive operations (upload, delete, mcp-rm, edge-rm, control-sync) lack confirmation or dry-run patterns. Agents cannot preview changes before committing.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Run a command on a test machine (edge), streaming output live
Run the full fd applet embedded in the Edge binary. The applet is not installed in the remote machine's PATH
Run the full rg applet embedded in the Edge binary. The applet is not installed in the remote machine's PATH
Ensure the client identity exists and print its EndpointId
Register (or update) an MCP server on an edge. Give one of: `-- <command>` (stdio), `--http <url>` (Streamable HTTP), `--sse <url>`
Connect and complete an MCP initialize handshake
List MCP servers configured on an edge
Remove an MCP server from an edge
Run the selected edge's named MCP proxy as a stdio MCP server. Put this in a project MCP config with `-e EDGE mcp run NAME`
Synchronize selected edge MCP servers into project client configuration
List listeners owned by the current daemon process
Start a no-auth SOCKS5 listener (CONNECT and UDP ASSOCIATE)
Forward one local TCP listener to a fixed Edge-side target
Stop a listener by name
Upload a local file to a test machine (edge)
Tool composition assumes agent knows internal IDs (edge, name). No discovery tools to list available edges or MCP servers before operating on them.