Provides advanced terminal automation and control through iTerm2's Python API, enabling creation and management of terminals, panes, and sessions, executing commands, broadcasting input to multiple panes, monitoring session state, and customizing visual appearance with tab colors and profiles.
🚀 Enhanced iTerm MCP Server
Advanced iTerm2 automation with Python API integration - The ultimate terminal control solution for AI assistants.
⚡ Now with native Python API - Direct iTerm2 integration for maximum reliability and performance
⚡ Quick Start
1. Installation
Via NPM (Recommended) - Now Available!
🎉 Just Published! The package is now available on NPM registry for easy installation.
From Source
2. Enable iTerm2 Python API
Open iTerm2 → Preferences (⌘,)
Go to General → Magic
Check "Enable Python API"
Restart iTerm2
3. Add to MCP Configuration
4. Test Setup
📦 Installation Methods
Global Installation (NPM)
✅ Package is now live on NPM! Install with
npm install -g enhanced-iterm-mcp-server
Local Project Installation
Direct Usage (NPX)
🚀 Live on NPM Registry: https://www.npmjs.com/package/enhanced-iterm-mcp-server
🛠 Available Tools
Terminal Management
open-terminal- Create new terminals with profiles and commandslist-all-sessions- Complete overview of all iTerm2 windows/tabs/sessions
Advanced Pane Operations
split-terminal-horizontal/split-terminal-vertical- Split panes with profile supportexecute-command-in-pane- Execute commands in specific panesbroadcast-input- Send commands to multiple panes simultaneously
Real-time Information
get-session-info- Basic session information and statusget-session-details- Comprehensive session details with all variablesmonitor-session- Monitor session changes over time
Visual Customization
set-tab-color- Set tab colors (named colors or hex codes)
Legacy Compatibility
list-panes- List tracked panesget-terminal-state- Terminal state overview
🎯 Key Features
🐍 Python API Integration
Direct access to iTerm2's native Python API
Real-time session variable monitoring
Robust error handling with automatic retries
No AppleScript limitations
📊 Advanced Automation
Multi-pane broadcasting for simultaneous commands
Profile-based terminal creation with custom configurations
Real-time session monitoring with 10+ variables
Visual customization with tab coloring
🔧 Production Ready
Comprehensive error handling and logging
Timeout protection for all operations
Virtual environment isolation
Clean TypeScript implementation
📖 Usage Examples
Create and Split Terminals
Multi-pane Operations
Real-time Information
🔧 Development
Build & Run
Testing
🚨 Troubleshooting
"Python API not enabled"
Enable in iTerm2 Preferences → General → Magic → Python API
Restart iTerm2 after enabling
"Connection error"
Ensure iTerm2 is running
Check Python virtual environment:
source iterm_env/bin/activateVerify iterm2 package:
pip list | grep iterm2
"Session not found"
Use
list-all-sessionsto get valid session IDsSession IDs change when sessions are closed/reopened
📄 License
ISC License
🙏 Built With
TypeScript + Node.js
🎯 The Ultimate iTerm2 Automation Solution for AI Assistants
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Quick Start for Contributors
📜 Changelog
See CHANGELOG.md for detailed version history.
🙏 Acknowledgments
Model Context Protocol by Anthropic
iTerm2 Python API by George Nachman
TypeScript community for excellent tooling
⭐ Support
If this project helps you, please consider:
⭐ Starring the repository
🐛 Reporting issues
🔧 Contributing improvements
📢 Sharing with others
Built with ❤️ for the AI automation community