claude-memory/graph/decisions/decision-mcp-tui-driver-chosen-over-mcpterm-for-tui-testing-230a1d.md
2026-03-01 18:38:32 -06:00

2.1 KiB

id type title tags importance confidence created updated relations
230a1d01-d47b-46ee-91f1-7388e3255b19 decision Decision: mcp-tui-driver chosen over mcpterm for TUI testing
mcp
tui-testing
architecture-decision
claude-code
mcpterm
claude-home
0.7 0.8 2026-03-02T00:38:13.416653+00:00 2026-03-02T00:38:32.468312+00:00
target type direction strength edge_id
1d8200b3-2413-41c0-86a7-26e246ff22ac RELATED_TO outgoing 0.58 0916a224-717d-48cc-8486-21492c68f4df
target type direction strength edge_id
bf0010bc-0225-43b9-8310-59da11af2386 RELATED_TO outgoing 0.59 1690f7a7-34ce-40c5-bbd6-e8fbedbcf1b0
target type direction strength edge_id
d326094f-63eb-4b42-8aa6-f2d53d6f2628 RELATED_TO outgoing 0.58 8b79335d-84fa-4763-9684-e0886ef20c90
target type direction strength edge_id
967ad46d-ba89-4207-b870-db4b8558f2bb CAUSES outgoing 0.9 9447b019-cc54-493b-9242-501fa0619734
target type direction strength edge_id
1177d1f5-6df7-42ae-beef-bbd6b22d2fae CAUSES outgoing 0.7 16da3c73-9895-4147-943a-d41786178394

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