feat: add tmux MCP tools for LLM communication#265
Merged
Conversation
Add comprehensive tmux session management and interrogation tools: - tmux.nu: Full-featured tmux MCP tool with 8 different capabilities - Session listing with nested window/pane structure - Command execution to specific panes - Content capture from panes - Smart pane finding by name or context - Detailed session information with expandable tables - Process information retrieval - Context-aware pane resolution (e.g., "docs pane", "build pane") - Nix package: mcp-tools derivation for easy installation - Installs to share/nushell/mcp-tools/tmux/ - Version synced with Cargo.toml - Documentation: Comprehensive README with usage examples - Installation instructions for Nix and manual setup - Configuration examples for nu-mcp integration - Security considerations and practical examples Features: - Command logging following k8s-tools pattern - Robust error handling with helpful suggestions - Nested table output with --expand support - Context-based pane finding for intuitive usage
- Reduce README from 150+ to 70 lines by removing verbose explanations - Remove JavaScript examples (this is Nushell!) - Fix YAML args format to use proper list syntax - Focus on essential information: what's available, how to install, how to use
- Remove shebang to standardize script mode - Change argument list syntax from comma-separated to space-separated for all function definitions - Update required argument arrays to use space separation for consistency - Refactor formatting in match blocks and table generation for improved readability - Consolidate multi-line pipelines into single lines where appropriate - Standardize whitespace and indentation throughout code for clarity
- Replace string-based output in session, pane, and process listing functions with tabular data structures - Aggregate session, window, and pane details into unified item lists for table rendering - Update pane search functions to return selected fields in table format for multiple matches - Refactor process information output to emit a single-row table with detailed fields - Remove legacy string formatting and output accumulation logic in favor of direct data mapping
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
tmux.nu: Helpful MCP tools for LLM-tmux interaction
Nix package: mcp-tools derivation for easy installation
Documentation: Concise README with installation and usage
Features
Scope
These are utility tools for LLM communication with tmux, not a full tmux session manager. The tools provide essential commands for:
Test plan