From 1fef03b4d5baf0245d57ac28a0783cd58b0b6f68 Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Sun, 1 Mar 2026 18:38:13 -0600 Subject: [PATCH] store: Decision: mcp-tui-driver chosen over mcpterm for TUI testing --- ...sen-over-mcpterm-for-tui-testing-230a1d.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 graph/decisions/decision-mcp-tui-driver-chosen-over-mcpterm-for-tui-testing-230a1d.md diff --git a/graph/decisions/decision-mcp-tui-driver-chosen-over-mcpterm-for-tui-testing-230a1d.md b/graph/decisions/decision-mcp-tui-driver-chosen-over-mcpterm-for-tui-testing-230a1d.md new file mode 100644 index 00000000000..0f4526370c7 --- /dev/null +++ b/graph/decisions/decision-mcp-tui-driver-chosen-over-mcpterm-for-tui-testing-230a1d.md @@ -0,0 +1,43 @@ +--- +id: 230a1d01-d47b-46ee-91f1-7388e3255b19 +type: decision +title: "Decision: mcp-tui-driver chosen over mcpterm for TUI testing" +tags: [mcp, tui-testing, architecture-decision, claude-code, mcpterm, claude-home] +importance: 0.7 +confidence: 0.8 +created: "2026-03-02T00:38:13.416653+00:00" +updated: "2026-03-02T00:38:13.416653+00:00" +--- + +# Architecture Decision: TUI Testing MCP Server Selection + +## Context + +Needed an MCP server to enable Claude Code to automate and test TUI (terminal UI) applications. + +## Options Evaluated + +### mcpterm (Go) +- Only 2 tools +- Proof-of-concept quality +- Single session only +- Minimal feature set + +### mcp-tui-driver (Rust) +- 23 tools +- Playwright-like design philosophy +- Multi-session support +- PNG screenshots for visual verification +- Accessibility snapshots with element references (structured, not just raw text) +- Mouse support (click, double-click, right-click, coordinate-based) +- Proper wait primitives (`tui_wait_for_text`, `tui_wait_for_idle`) +- Asciicast recording +- JS scripting via `tui_run_code` + +## Decision + +Chose **mcp-tui-driver**. The accessibility snapshot approach (element references rather than raw terminal text) and proper wait primitives make systematic test development practical. mcpterm is too minimal for anything beyond simple PoC work. + +## Source + +https://github.com/michaellee8/mcp-tui-driver