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_listA

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_sendB

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_runA

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_readA

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_splitA

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_closeA

Close an iTerm2 session.

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

session_restartB

Restart an iTerm2 session.

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

session_focusB

Focus (activate) a specific iTerm2 session.

Args: session_id: The session ID to focus.

session_clearA

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

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

session_set_nameB

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_variableB

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_variableC

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_listA

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

window_newA

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_closeA

Close an iTerm2 window.

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

window_focusB

Focus (activate) a specific iTerm2 window.

Args: window_id: The window ID to focus.

window_moveA

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_resizeB

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_fullscreenA

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_saveB

Save the current window arrangement.

Args: name: Name for the saved arrangement.

window_arrange_restoreB

Restore a saved window arrangement.

Args: name: Name of the arrangement to restore.

window_arrange_listB

List all saved window arrangements.

tab_listA

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_newA

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_closeB

Close an iTerm2 tab.

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

tab_selectB

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_nextA

Switch to the next tab in the current window.

tab_prevA

Switch to the previous tab in the current window.

tab_moveA

Move a tab to its own new window.

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

app_activateA

Activate iTerm2 (bring to front).

app_get_focusA

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

app_themeA

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_versionB

Get the iTerm2 version.

broadcast_onB

Enable input broadcasting to all sessions in the current tab.

broadcast_offB

Disable input broadcasting.

broadcast_addC

Create a broadcast group with specific sessions.

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

profile_listA

List all iTerm2 profiles with their GUIDs and names.

profile_showB

Show detailed information about an iTerm2 profile.

Args: name: The profile name.

profile_applyB

Apply an iTerm2 profile to a session.

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

batchA

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