MCPretentious
MCP server for terminal control enabling AI to manage terminal sessions via iTerm2 or tmux, with features like screen reading, keyboard/mouse input, and background execution.
README
MCPretentious - Universal Terminal MCP
MCP server for terminal control. Supports iTerm2 (macOS) via WebSocket API and tmux (cross-platform) via direct commands.
<!-- LATEST-CHANGES-START -->
📋 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 <!-- LATEST-CHANGES-END -->
Installation
npm install -g mcpretentious
Prerequisites
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 mcpretentious
Main 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 output
Security
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.