A Model Context Protocol server that provides access to the currently active tab of iTerm
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (write_to_terminal, read_terminal_output, send_control_character), which is good. However, descriptions lack depth about when to use each tool, prerequisites, and return value structure. Parameter descriptions are minimal (e.g., 'The letter corresponding to the control character' lacks format constraints). No documented output schemas. Error handling guidance is absent. The server lacks idempotency guarantees, confirmation patterns for destructive operations, and actionable error messages.
Reads the output from the active iTerm terminal
Sends a control character to the active iTerm terminal (e.g., Control-C, or special sequences like ']' for telnet escape)
Writes text to the active iTerm terminal - often used to run a command in the terminal
No output schema documentation. Tools return text responses but LLMs cannot predict structure or extract fields for downstream calls.
send_control_character parameter 'letter' lacks format constraints. Description says 'e.g., C for Control-C' but does not specify: single char only? uppercase required? special sequences like ']', are they single chars or multi-char strings?
write_to_terminal is destructive (executes arbitrary commands) but has no confirmation pattern, dry-run option, or warning in description. Agents could accidentally delete files or corrupt systems.
No error handling guidance. If a command fails, times out, or returns non-zero exit code, the tool response does not tell the LLM what to do next (retry? ask user? abort?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
read_terminal_output parameter 'linesOfOutput' has no bounds. LLMs could request 1,000,000 lines, causing memory exhaustion or timeout. No min/max constraints documented.