poof-mcp
Provides terminal control capabilities on macOS, enabling AI agents to manage Terminal.app sessions, send keystrokes, input text, and capture screen content.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@poof-mcpopen a new terminal session and run brew update"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
poof-mcp
An MCP (Model Context Protocol) server that provides AI agents with real terminal control capabilities on macOS.
Features
Terminal session management via zmx
Visible Terminal.app windows - watch the AI work in real-time
Keystroke control - send individual keys or modifier combinations
Text typing - fast text input
Screen text capture - read terminal content as plain text
Wait helpers - wait for text or screen stability
Resize & restart - control terminal dimensions and restart sessions
Related MCP server: mcp-interactive-terminal
Prerequisites
1. zmx - Terminal session manager
# macOS (Apple Silicon)
curl -LO https://zmx.sh/a/zmx-0.0.2-macos-aarch64.tar.gz
tar -xzf zmx-0.0.2-macos-aarch64.tar.gz
mv zmx ~/.local/bin/
# macOS (Intel)
curl -LO https://zmx.sh/a/zmx-0.0.2-macos-x86_64.tar.gz
tar -xzf zmx-0.0.2-macos-x86_64.tar.gz
mv zmx ~/.local/bin/2. macOS Permissions
poof-mcp uses AppleScript to control Terminal.app, which requires permissions:
Accessibility - Required for keyboard input
Automation - Required to control Terminal.app
Note: On first use, you may see macOS permission dialogs. Grant access to the app running the MCP server (e.g., Claude, VS Code, Terminal).
Installation
# Clone the repository
git clone https://github.com/mattapperson/poof-mcp.git
cd poof-mcp
# Install dependencies (including native modules)
bun installUsage
As an MCP Server
Add to your Claude Code MCP configuration:
claude mcp add poof-mcp -- /path/to/poof-mcp/bin/poof-mcpOr add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"poof-mcp": {
"command": "/path/to/poof-mcp/bin/poof-mcp"
}
}
}CLI
./bin/poof-mcp --help # Show help
./bin/poof-mcp --version # Show version
./bin/poof-mcp # Start MCP server (stdio)MCP Tools
Tool | Description |
| Send key presses (e.g., |
| Type a string |
| Get screen as plain text |
| Get terminal status |
| List active sessions |
| Kill a session |
| Create new zmx session + open Terminal.app |
| Resize the terminal |
| Restart the terminal (optionally with a new command) |
| Wait for text to appear on screen (5s default timeout) |
| Wait for screen to stop changing (500ms stable duration) |
Keystroke Examples
The send_keystrokes tool supports:
Single characters:
a,b,1, etc.Special keys:
enter,tab,escape,space,backspaceArrow keys:
up,down,left,rightFunction keys:
f1throughf12Modifiers:
ctrl+c,alt+f,shift+a,cmd+v
Development
# Run in development mode
bun run devArchitecture
Claude Code (AI Agent)
↓ (JSON-RPC over stdio)
MCP Server (TypeScript/Bun)
↓
Terminal Manager
├── zmx commands (session management)
└── AppleScript (Terminal.app control)
↓
macOS Terminal.app + zmx sessionHow It Works
Session Management: Uses zmx for terminal session persistence
Terminal Control: AppleScript controls macOS Terminal.app for keystrokes and text input
Text Extraction: AppleScript reads Terminal.app content directly
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote MCP server exposing your Node Command fleet (files, shell, processes, browser) to AI hosts.
- FensoryOAuthcom.fensory
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP 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.915 npm22MIT
- AlicenseAqualityCmaintenanceMCP server that gives AI agents real interactive terminal sessions for running REPLs, SSH, database clients, and any interactive CLI with clean text output and smart completion detection.783 npm19MIT
- AlicenseBqualityDmaintenanceMCP server that enables AI to fully control macOS — mouse, keyboard, terminal, screenshots, window management, UI element detection, and provides AI-optimized information reporting.3626 npmMIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that gives AI agents real OS-level control of macOS, enabling them to click real buttons, type real keys, and observe rendered screens just like a human would.1MIT