Skip to main content
Glama
rishabkoul
by rishabkoul
README.md
# 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

A3.6/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessUnresponsive