Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
IT2MCP_CONFIGNoOverride the config path with the IT2MCP_CONFIG environment variable (defaults to ~/.config/it2mcp/config.yaml).

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
session_list

List all iTerm2 sessions with their IDs, names, titles, sizes, TTYs, and mcp_enabled status.

Shows all sessions regardless of mcp_enabled status so you can see which sessions need to be tagged. Only mcp_enabled sessions can be targeted by other tools.

To enable a session for MCP access, run in that session's terminal: it2 session set-var user.mcp_enabled true

session_send

Send text to an iTerm2 session without pressing Enter.

Args: text: The text to send. session_id: Target session ID. Omit for the active session. all_sessions: If true, send to every session.

session_run

Execute a command in an iTerm2 session (sends text + Enter).

Args: command: The command string to execute. session_id: Target session ID. Omit for the active session. all_sessions: If true, run in every session.

session_read

Read the visible screen contents of an iTerm2 session.

Args: session_id: Target session ID. Omit for the active session. lines: Number of lines to return from the bottom. Omit for all visible lines.

session_split

Split an iTerm2 session into a new pane.

Args: vertical: If true, split vertically (side by side). Default is horizontal (top/bottom). session_id: Target session ID. Omit for the active session. profile: Profile name to use for the new pane.

session_close

Close an iTerm2 session.

Args: session_id: Target session ID. Omit for the active session.

session_restart

Restart an iTerm2 session.

Args: session_id: Target session ID. Omit for the active session.

session_focus

Focus (activate) a specific iTerm2 session.

Args: session_id: The session ID to focus.

session_clear

Clear the screen of an iTerm2 session (sends Ctrl+L).

Args: session_id: Target session ID. Omit for the active session.

session_set_name

Set the name of an iTerm2 session.

Args: name: The new session name. session_id: Target session ID. Omit for the active session.

session_get_variable

Get the value of an iTerm2 session variable.

Args: variable: The variable name (e.g. "session.name", "session.path"). session_id: Target session ID. Omit for the active session.

session_set_variable

Set the value of an iTerm2 session variable.

Args: variable: The variable name. value: The value to set. session_id: Target session ID. Omit for the active session.

window_list

List all iTerm2 windows with their IDs, tab counts, positions, sizes, and fullscreen state.

window_new

Create a new iTerm2 window.

Args: profile: Profile name to use. Omit for the default profile. command: Command to run in the new window.

window_close

Close an iTerm2 window.

Args: window_id: The window ID to close. Omit for the current window.

window_focus

Focus (activate) a specific iTerm2 window.

Args: window_id: The window ID to focus.

window_move

Move an iTerm2 window to a specific screen position.

Args: x: X coordinate (pixels from left). y: Y coordinate (pixels from top). window_id: The window ID. Omit for the current window.

window_resize

Resize an iTerm2 window.

Args: width: New width in pixels. height: New height in pixels. window_id: The window ID. Omit for the current window.

window_fullscreen

Set fullscreen state for an iTerm2 window.

Args: state: One of "on", "off", or "toggle". window_id: The window ID. Omit for the current window.

window_arrange_save

Save the current window arrangement.

Args: name: Name for the saved arrangement.

window_arrange_restore

Restore a saved window arrangement.

Args: name: Name of the arrangement to restore.

window_arrange_list

List all saved window arrangements.

tab_list

List all iTerm2 tabs with their IDs, window IDs, indices, session counts, and active state.

Args: window_id: Only list tabs from this window. Omit for all windows.

tab_new

Create a new tab in an iTerm2 window.

Args: profile: Profile name for the new tab. window_id: Window ID to create the tab in. Omit for the current window. command: Command to run in the new tab.

tab_close

Close an iTerm2 tab.

Args: tab_id: The tab ID to close. Omit for the current tab.

tab_select

Select a tab by its ID or numeric index.

Args: tab_id_or_index: Tab ID string, or a numeric index (0-based). window_id: Window ID for index-based selection. Omit for the current window.

tab_next

Switch to the next tab in the current window.

tab_prev

Switch to the previous tab in the current window.

tab_move

Move a tab to its own new window.

Args: tab_id: The tab ID to move. Omit for the current tab.

app_activate

Activate iTerm2 (bring to front).

app_get_focus

Get information about the currently focused window, tab, and session.

app_theme

Get or set the iTerm2 theme.

Args: value: Theme to set. One of: light, dark, light-hc, dark-hc, automatic, minimal. Omit to get the current theme.

app_version

Get the iTerm2 version.

broadcast_on

Enable input broadcasting to all sessions in the current tab.

broadcast_off

Disable input broadcasting.

broadcast_add

Create a broadcast group with specific sessions.

Args: session_ids: List of session IDs to include in the broadcast group.

profile_list

List all iTerm2 profiles with their GUIDs and names.

profile_show

Show detailed information about an iTerm2 profile.

Args: name: The profile name.

profile_apply

Apply an iTerm2 profile to a session.

Args: name: The profile name to apply. session_id: Target session ID. Omit for the active session.

batch

Execute a batch of iTerm2 operations sequentially within a single connection.

Each operation is a dict with an "op" field naming the operation, plus any parameters for that operation. A special "sleep" operation pauses between steps.

Args: operations: List of operation dicts. Each must have an "op" field. Available ops: session_send, session_run, session_read, session_split, session_close, session_focus, session_clear, session_set_name, session_list, session_get_variable, session_set_variable, session_restart, window_new, window_close, window_focus, tab_new, tab_close, tab_select, tab_next, tab_prev, app_activate, broadcast_on, broadcast_off, send_keystrokes, profile_apply, sleep.

    Sleep op: {"op": "sleep", "seconds": 0.5} or {"op": "sleep", "ms": 500}

    Example batch:
    [
        {"op": "session_run", "command": "echo hello"},
        {"op": "sleep", "seconds": 1.0},
        {"op": "session_read"},
        {"op": "session_send", "text": "world"}
    ]
stop_on_error: If true, abort the batch on the first error.

Returns: JSON array of results, one per operation, with index, op name, and result or error.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/urjitbhatia/it2mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server