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 |
|---|---|
| list_iterm_sessionsA | List iTerm2 sessions: id, tty, window/tab, name. The session Claude itself runs in is marked and can't be targeted. |
| propose_commandA | Type a single-line command into an iTerm2 session WITHOUT pressing Enter, for the user to review. Then ask the user; call execute_command only after they approve, or clear_proposed_command if they decline. Refuses if a command is already staged there (unless replace: true) and refuses multi-line commands. |
| execute_commandA | Press Enter on the staged command (only after the user approved it). By default waits until the output settles or a prompt returns, then returns just the new output — no separate read needed. |
| read_session_outputA | Read an iTerm2 session's screen. mode 'new' (default) returns only lines not already returned for this session; 'tail' returns the last N lines (scrollback included). |
| create_new_tabA | Create a new iTerm2 tab (default profile) and return its session ID. |
| clear_proposed_commandA | Clear the staged (unexecuted) command line in a session (Ctrl-U). |
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 6 tools
Each tool has a clearly distinct role: listing sessions, staging a command, executing a staged command, clearing a staged command, creating a tab, and reading screen output. The propose/execute/clear trio is tightly coupled but the descriptions make the boundaries explicit.
All names follow a consistent snake_case verb_noun pattern: list_iterm_sessions, propose_command, execute_command, create_new_tab, read_session_output, clear_proposed_command. Minor resource-name variation (iterm_sessions vs new_tab) does not break the pattern.
Six tools is well-scoped for controlling iTerm2 sessions without bloat. Each tool corresponds to a necessary step in the session/command workflow.
Core workflows are covered: discover sessions, create tabs, stage/execute/clear commands, and read output. Minor gaps exist, such as closing tabs/sessions, splitting panes, or focusing/naming sessions, but agents can work around them.