claude-coder-mac-mcp
Provides tools to manage iTerm2 windows and sessions, such as listing current windows and spawning new terminal sessions for Claude Code.
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., "@claude-coder-mac-mcpSpawn a Claude Code to refactor the API routes"
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.
claude-coder-mac-mcp
An MCP server that allows Claude Desktop to spawn new Claude Code instances in iTerm2 windows.
Features
spawn_claude_coder: Spawn a new Claude Code instance with a given prompt
Opens a new iTerm2 window
Optionally runs with
--dangerously-skip-permissions(must be enabled on server)Passes your prompt directly to Claude
The terminal becomes fully interactive
list_iterm_windows: List all iTerm2 windows and sessions
Related MCP server: teammate-mcp
Requirements
macOS
iTerm2 installed
Claude Code CLI installed
Automation permissions granted to the MCP host app
Installation
Via npm (recommended)
npm install -g claude-coder-mac-mcpFrom source
git clone https://github.com/pm990320/claude-coder-mac-mcp.git
cd claude-coder-mac-mcp
npm install
npm run buildVerify installation
claude-coder-mac-mcp checkThis runs environment checks to verify macOS, iTerm2, Claude Code CLI, and automation permissions are all configured correctly.
CLI Usage
The CLI has multiple commands:
# Show help
claude-coder-mac-mcp --help
# Start the MCP server (used by Claude Desktop)
# By default, spawned Claude instances run in normal mode (user must approve actions)
claude-coder-mac-mcp mcp
# Start the MCP server with --dangerously-skip-permissions enabled
# WARNING: This allows spawned Claude instances to run without user approval
claude-coder-mac-mcp mcp --dangerously-skip-permissions
# Test spawning a Claude Code instance directly (normal mode)
claude-coder-mac-mcp spawn "Help me write a REST API"
claude-coder-mac-mcp spawn "Fix the tests" -d ~/myproject -t "Test Fixer"
# Test spawning with --dangerously-skip-permissions
claude-coder-mac-mcp spawn "Fix the tests" --dangerously-skip-permissions
# List current iTerm2 windows
claude-coder-mac-mcp list
# Check environment is configured correctly
claude-coder-mac-mcp checkClaude Desktop Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
Normal mode (user must approve Claude Code actions):
{
"mcpServers": {
"claude-coder-mac": {
"command": "node",
"args": ["/path/to/claude-coder-mac-mcp/dist/index.js", "mcp"]
}
}
}With --dangerously-skip-permissions (Claude Code runs autonomously):
{
"mcpServers": {
"claude-coder-mac": {
"command": "node",
"args": ["/path/to/claude-coder-mac-mcp/dist/index.js", "mcp", "--dangerously-skip-permissions"]
}
}
}Usage with Claude Desktop
Once configured, you can ask Claude Desktop to spawn new Claude Code instances:
"Start a new Claude coder to work on my project at ~/myproject with the task: implement user authentication"
Claude will use the spawn_claude_coder tool to open iTerm2 with a new Claude Code session.
Permissions
On first use, macOS will ask you to grant automation permissions. Go to:
System Settings > Privacy & Security > Automation
And ensure the app running the MCP server (e.g., Claude Desktop) has permission to control iTerm2.
MCP Tool Parameters
spawn_claude_coder
Parameter | Required | Description |
| Yes | The task/prompt to give to Claude Code |
| No | Directory to run Claude Code in (defaults to ~) |
| No | Custom title for the iTerm2 window |
Note: Whether --dangerously-skip-permissions is passed to spawned Claude instances is controlled by the server startup flag, not by tool parameters.
list_iterm_windows
No parameters. Lists all open iTerm2 windows and their sessions.
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Lint
npm run lint
# Fix lint issues
npm run fix
# Type check
npm run typecheckProject Structure
src/
├── index.ts # CLI entrypoint (uses commander)
├── server.ts # MCP server setup and tool registration
├── spawn.ts # Core spawn functionality
├── iterm.ts # iTerm2 AppleScript utilities
└── check.ts # Environment verification checks
tests/
├── spawn.test.ts # Unit tests for spawn functions
└── iterm.test.ts # Unit tests for iTerm utilitiesThe modules are separated for testability - spawn.ts and iterm.ts contain pure functions that can be unit tested independently.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Share context and questions between Claude instances — VS Code, claude.ai web, and mobile.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Trade Robinhood through natural language in Claude Code.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Related MCP Servers
- AlicenseAqualityCmaintenanceThis MCP server enables users to execute shell commands in the current iTerm2 session through integration with Claude Desktop, facilitating seamless command execution via the Model Context Protocol.3195 npm567MIT
- AlicenseAqualityCmaintenanceEnables Claude Code and OpenAI Codex to ask each other questions through iTerm panes, with no daemon or per-project configuration.4MIT
- FlicenseNot gradedqualityCmaintenanceEnables running interactive terminals inside Claude Code and Claude Desktop, supporting multiple sessions for different tasks.-
- FlicenseNot gradedqualityDmaintenanceEnables launching Claude Code in a specified project directory by opening a new terminal session with optional initial prompt.-