Skip to content

feat(tools): Add 11 new MCP tools for agent workflows#11

Open
tony wants to merge 2 commits intomainfrom
tui-tooling
Open

feat(tools): Add 11 new MCP tools for agent workflows#11
tony wants to merge 2 commits intomainfrom
tui-tooling

Conversation

@tony
Copy link
Copy Markdown
Member

@tony tony commented Apr 9, 2026

Summary

  • Add 11 new MCP tools: snapshot_pane, wait_for_content_change, select_pane, select_window, swap_pane, move_window, pipe_pane, display_message, enter_copy_mode, exit_copy_mode, paste_text
  • Add 2 new models: PaneSnapshot, ContentChangeResult
  • Add docs for all 11 new tools with usage guidance, JSON examples, and parameter tables
  • 22 new tests covering all new tools (207 → 229 total)

These tools fill gaps in the agent workflow: snapshot_pane provides rich screen capture (cursor, mode, scroll state), wait_for_content_change detects any screen change without knowing the expected output, select_pane/select_window enable navigation, and paste_text supports bracketed multi-line input via tmux buffers.

Test plan

  • uv run ruff check . --fix --show-fixes passes
  • uv run ruff format . — no changes
  • uv run mypy — no issues
  • uv run py.test --reruns 0 -vvv — 229 tests pass

tony added 2 commits April 8, 2026 17:24
New pane tools: snapshot_pane (rich capture with cursor/mode/scroll
metadata), wait_for_content_change (detect any screen change),
select_pane (directional navigation), swap_pane, pipe_pane,
display_message (tmux format string queries), enter_copy_mode,
exit_copy_mode, paste_text (bracketed paste via tmux buffers).

New session tool: select_window (navigate by ID/index/direction).

New window tool: move_window (reorder or cross-session moves).

Models: PaneSnapshot, ContentChangeResult.
Tests: 22 new tests covering all new tools.
Document snapshot_pane, wait_for_content_change, display_message,
select_pane, select_window, swap_pane, move_window, pipe_pane,
enter_copy_mode, exit_copy_mode, and paste_text with usage guidance,
JSON examples, and parameter tables following existing patterns.

Update tools/index.md with new grid cards and expanded "Which tool
do I want?" decision guide covering navigation, layout, scrollback,
and paste workflows.
@codecov-commenter
Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 91.06145% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.71%. Comparing base (c822f02) to head (f5de77a).

Files with missing lines Patch % Lines
src/libtmux_mcp/tools/pane_tools.py 90.00% 7 Missing and 6 partials ⚠️
src/libtmux_mcp/tools/session_tools.py 86.36% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
+ Coverage   71.10%   73.71%   +2.61%     
==========================================
  Files          20       20              
  Lines        1419     1598     +179     
  Branches      186      201      +15     
==========================================
+ Hits         1009     1178     +169     
- Misses        365      367       +2     
- Partials       45       53       +8     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants