MCPretentious
A powerful Model Context Protocol (MCP) server that puppeteers iTerm2 terminals.
claude mcp add --transport stdio oetiker-mcpretentious npx mcpretentious
How to use
MCPretentious is a universal terminal MCP server that enables control of terminals via two backends: iTerm2 on macOS through a WebSocket API and tmux through direct commands. Once running, you can programmatically create and manage terminal sessions, send keystrokes and mouse input, capture screen content, resize terminals, and retrieve viewport information. The server exposes a set of tools to interact with active terminals, including opening new sessions, typing text, taking screenshots with layered content, sending mouse events, resizing, closing, and listing terminals. This makes it suitable for automated testing, remote terminal management, or integrating terminal automation into larger workflows. The included tools ensure you can simulate real user interactions and inspect terminal state from your client.
To use it, install mcpretentious globally via npm, then start using the provided CLI tools to open sessions and perform actions. For integration with orchestration or Claude-based workflows, configure the MCP server through your preferred MCP client (e.g., Claude Desktop or Claude Code) to point at the mcpretentious backend as shown in the example configuration. The server maintains real terminal IDs and supports Alt-key combinations and full mouse input, enabling complex automation scenarios across backends.
How to install
Prerequisites:
- Node.js and npm (or npx via npm)
- macOS with iTerm2 for the iTerm2 backend (optional, for that backend)
- tmux installed for the tmux backend (optional, cross-platform)
Installation steps:
- Install mcpretentious globally using npm: npm install -g mcpretentious
- Ensure your environment has the required backends available:
- iTerm2 (macOS) with Python API enabled in iTerm2 preferences
- tmux installed on your system (e.g., brew install tmux or apt install tmux)
- (Optional) Verify installation: npx mcpretentious --version
- Start using the CLI tools to create sessions and control terminals, or configure an MCP client to connect to the server via the npx-based command as shown in the configuration example.
Additional notes
Notes and tips:
- Backends: iTerm2 (macOS) via WebSocket API for fast, feature-rich terminal control and tmux via direct commands for cross-platform usage.
- Alt-key support has been added (alt-a to alt-z, alt-shift-* variants, alt-number keys, navigation keys, F-keys, and special keys) using standard terminal escape sequences.
- Real terminal IDs are exposed, not just MCP-created ones, enabling interaction with any existing terminal.
- If integrating with Claude-based tooling, use the provided mcpServers configuration example to register mcpretentious under Claude Desktop or Claude Code.
- Ensure proper security considerations when granting terminal access, as the server can execute commands and control terminals with full capabilities.
Related MCP Servers
tmux
A MCP server for our beloved terminal multiplexer tmux.
mcp-rest-api
A TypeScript-based MCP server that enables testing of REST APIs through Cline. This tool allows you to test and interact with any REST API endpoints directly from your development environment.
copilot-security-instructions
✨ A customizable copilot-instructions.md ruleset & prompts to guide GitHub Copilot toward secure coding defaults in Java, Node.js, C# and Python. Blocks risky patterns, teaches safe habits.
stt -linux
Local speech-to-text MCP server for Tmux on Linux (for use not only with Claude Code)
pagespeed-insights
MCP server for Google PageSpeed Insights API that enables web page performance analysis directly through Claude.
keyshade
This is the official repository of Keyshade MCP Server