Package Exports
- mcpretentious
- mcpretentious/mcpretentious.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mcpretentious) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
MCPretentious - Universal Terminal MCP
MCP server for terminal control. Supports iTerm2 (macOS) via WebSocket API and tmux (cross-platform) via direct commands.
📋 Latest Release (v1.3.0 - 2025-09-03)
Added
- Alt key support - Comprehensive Alt key combinations for
mcpretentious-typetool- Alt + Letters (a-z):
alt-athroughalt-z - Alt + Shift + Letters:
alt-shift-athroughalt-shift-zfor uppercase - Alt + Numbers (0-9):
alt-0throughalt-9 - Alt + Navigation keys: arrow keys, home, end, pageup, pagedown
- Alt + Function keys (F1-F12):
alt-f1throughalt-f12 - Alt + Special keys: tab, enter, space, backspace
- Uses standard terminal escape sequences (ESC prefix and CSI modifiers)
- Alt + Letters (a-z):
For full changelog, see CHANGELOG.md
Installation
npm install -g mcpretentiousPrerequisites
iTerm2 (macOS):
- Enable Python API: iTerm2 → Preferences → General → Magic → Enable "Python API"
TMux (any platform):
- Install tmux:
brew install tmux/apt install tmux/ etc.
Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcpretentious": {
"command": "npx",
"args": ["mcpretentious"]
}
}
}Claude Code
claude mcp add mcpretentious npx mcpretentiousMain Applications
- TUI application testing: Simulates all human interactions - keyboard, mouse, screen reading
- Remote server management: Persistent terminal sessions allow remote system control over SSH
Features
- Multiple backends: iTerm2 (WebSocket, 20x faster than AppleScript) and tmux (direct commands)
- No focus stealing: Background terminal control
- Real terminal IDs: Access existing terminals, not just MCP-created ones
- Screen reading: Actual viewport content with cursor position and colors
- Mouse support: Full SGR protocol (click, drag, scroll) in both backends
- Token-optimized screenshots: 85-98% reduction via layered format
Backend Comparison
| Feature | iTerm2 | TMux |
|---|---|---|
| Platform | macOS | Cross-platform |
| Method | WebSocket + Protobuf | Direct commands |
| Performance | Fastest | Fast |
| Colors | Full RGB | ANSI 256 |
| Authentication | Cookie/key | Unix permissions |
Tools
mcpretentious-open- Create terminal sessionmcpretentious-type- Send text/keys/ASCII codesmcpretentious-screenshot- Get screen content (configurable layers)mcpretentious-mouse- Send mouse events (SGR protocol)mcpretentious-resize- Set terminal dimensionsmcpretentious-close- Close terminalmcpretentious-list- List active terminals
Testing
npx mcpretentious-test # Basic test
npx mcpretentious-test --verbose # Detailed outputSecurity
Full terminal access - the LLM can run any command you could. Be cautious with:
- Untrusted commands
- System passwords
- Destructive operations
Documentation
License
MIT - Tobias Oetiker tobi@oetiker.ch