What's Changed
Features
idamcp-hub tui <path>— an interactive r2-style terminal UI over the same headless idalib workers. Disassembly/pseudocode pane toggle (p), seek by name or address (g), xrefs (x), follow xref (f), rename (n), comment (m), call graph (G), and an ASCII CFG rendered fromget_basic_blocks(b), plus a function sidebar tree and an instance status bar. Built with textual as an optional dependency:pip install "idamcp-hub[tui]"oruvx --from idamcp-hub --extra tui idamcp-hub tui <path>.idamcp-hub dump <path>— non-interactive assembly/pseudocode export in the idalib-dump style: name-regex filter (-f),--asm-only/--pseudo-only,-o FILEoutput with failure counting. No textual dependency — plain text rendering, CI-friendly.
Design
Both run on the host (uvx) side, never inside a worker: the TUI and dump talk to workers through the normal bridge client and render from the existing tool catalog (disasm, decompile, xrefs_to, list_functions, get_basic_blocks, callgraph, rename_function, set_comment). Workers keep their zero-third-party-dependency stdlib bridge; multi-instance routing reuses the same stateless instance_id rules as MCP calls.
Tests
test_tui.py: dump parse/render layer exercised against canned tool outputs (no IDA needed).- The textual app is pilot-tested headlessly against a live worker (disasm/pseudo/xrefs/CFG panes all verified rendering).
- Full suite: 238 passed.
Full Changelog: v1.0.1...v1.1.0