Pure Rust MCP server for headless terminal interactions with embedded HT library
ht-mcp has 6 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization), and input schemas are present but minimal. Parameters lack detailed constraints, format specifications, and dependency documentation. No output schemas are documented. Error handling is absent from tool definitions. Tool names follow verb_noun convention (good), but descriptions are too terse to guide LLM selection effectively. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classifications in the metadata.
Close an HT session
Create a new HT session
Execute a command and return output
List all active sessions
Send keys to an HT session
Take a snapshot of the terminal state
Descriptions are too short (10-50 chars vs. 50-200 char baseline). 'Create a new HT session' and 'Send keys to an HT session' lack context for LLM selection. No explanation of when to use each tool, prerequisites, or what 'HT' means.
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, preventing downstream tool chaining and forcing agents to guess at response structure.
Input parameters lack format constraints and validation guidance. 'command' is an array with no description of element type or expected format. 'keys' array has no specification of valid key names or format. LLMs will hallucinate invalid values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
No tool annotations despite clear risk classifications in metadata. Tools marked WRITE (ht_create_session, ht_send_keys, ht_execute_command) and REVERSIBLE (ht_close_session) should declare destructiveHint and idempotentHint to guide agent planning.
No error handling guidance in tool definitions. No documentation of failure modes, recovery steps, or what errors are retryable vs. fatal. Agents cannot self-correct on failures.