iTerm2 MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| iterm2_side_paneA | Get the side pane in the current tab. Returns the pane to the right of the current pane, or the left if current is rightmost. Useful for interacting with an adjacent terminal pane. |
| iterm2_statusA | Check if iTerm2 Python API is properly configured and ready to use |
| iterm2_list_panesA | List all iTerm2 windows, tabs, and panes with their shorthand IDs (like t5p2), names, working directories, and running jobs. Shows which pane you are in. Use these shorthand IDs with other tools. |
| iterm2_read_paneC | Read the screen buffer contents of a specific iTerm2 pane. Returns the visible text in the terminal. |
| iterm2_current_paneB | Get information about the current iTerm2 pane where the MCP server is running |
| iterm2_enable_apiA | Enable the iTerm2 Python API in preferences. Note: iTerm2 must be restarted after enabling. |
| iterm2_send_textA | Send text/commands to an iTerm2 pane as if typed by the user. Can optionally press Enter after the text. |
| iterm2_send_control_characterA | Send control characters like Ctrl+C, Ctrl+D, Ctrl+Z, or Ctrl+L to an iTerm2 pane. Useful for interrupting processes or clearing the screen. |
| iterm2_split_paneA | Split an iTerm2 pane horizontally or vertically, creating a new pane. Returns the session ID of the newly created pane. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Each tool has a clearly distinct purpose: listing, reading, sending text, sending control characters, splitting panes, checking status, enabling API, getting current/side panes. While iterm2_side_pane and iterm2_current_pane both relate to pane location, their functions (getting adjacent pane vs. current pane info) are distinct enough not to cause confusion. No two tools appear to do the same thing.
All tools follow the iterm2_ prefix with verb_noun naming (send_text, send_control_character, split_pane, list_panes, read_pane, current_pane, side_pane, status, enable_api). There are minor deviations like iterm2_status and iterm2_enable_api where the noun is less explicit, but the pattern is largely consistent and predictable.
9 tools is well within the ideal 3-15 range for an MCP server focused on terminal pane control. Each tool serves a clear need for interacting with iTerm2 panes: discovery, inspection, and manipulation, without excessive bloat or redundancy.
The tool surface covers the core iTerm2 interaction workflows: setup (enable_api, status), discovery (list_panes, current_pane, side_pane), inspection (read_pane), and control (send_text, send_control_character, split_pane). Minor gaps include the absence of tools to close/resize/select panes or navigate between tabs/windows, but the core lifecycle of viewing, writing to, and creating panes is well covered.