iTerm MCP Server
# ITerm MCP Server
A Model Context Protocol (MCP) server implementation for iTerm2 terminal integration. This server allows AI assistants to interact with iTerm2 terminals through the Model Context Protocol.
## Features
- Create and manage iTerm2 terminal sessions
- Execute commands in terminals
- Read terminal output
- List active terminals
- Close terminals
## Requirements
- Node.js >= 14.x
- iTerm2
- macOS (since iTerm2 is macOS-only)
## Configuration
### Standard Configuration
The server uses the standard MCP configuration options. No additional configuration is required.
### Cursor Configuration
To use this server with Cursor, add the following configuration to your `~/.cursor/mcp.json` file:
```json
{
"mcpServers": {
"terminal": {
"command": "npx",
"args": ["iterm_mcp_server"]
}
}
}
```
## Tools
- `open_terminal`: Open a new terminal instance
- `execute_command`: Execute a command in a specific terminal
- `read_output`: Read the output from a specific terminal
- `close_terminal`: Close a specific terminal
- `list_terminals`: List all active terminals and their information
## Security Considerations
- The server validates all input using Zod schemas
- Commands are executed in isolated terminal sessions
- Proper error handling and input sanitization is implemented
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
ISC
## Author
Rishab Koul
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap: list-terminals enumerates terminals, open-terminal creates new ones, close-terminal removes them, execute-command runs commands, and read-output retrieves output. An agent can easily differentiate these functions without confusion.
All tools follow a consistent verb-noun pattern with hyphen separation (e.g., list-terminals, open-terminal, execute-command). The naming is uniform, predictable, and readable throughout the set.
With 5 tools, this server is well-scoped for terminal management. Each tool earns its place by covering essential operations: listing, opening, closing, executing commands, and reading output, which is appropriate for the domain.
The tool set provides complete lifecycle coverage for terminal management: create (open-terminal), read (list-terminals, read-output), update (execute-command), and delete (close-terminal). There are no obvious gaps, and agents can perform all core workflows without dead ends.