Iterm MCP logo

Iterm MCP

by ferrislucas

Controls an active iTerm2 session through MCP, letting agents run commands, inspect output, and send control characters.

Install Iterm MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "ferrislucas-iterm-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "iterm-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 3 tools correctly (1mo ago).

Overview

The ferrislucas/iterm-mcp MCP server exposes an active iTerm terminal to an MCP-compatible agent. It can write commands, read a selected number of output lines, and send control characters for interactive processes such as REPLs. Use it when you want an agent to work in the same iTerm session you are watching, inspect terminal output, or interrupt a running task. iTerm2 must be running, and the server requires Node.js 18 or newer.

Use cases

  • Run shell commands in the active iTerm session
  • Inspect selected lines from long command output
  • Interact with a terminal REPL
  • Interrupt or suspend a running process

Key features

  • Write commands to the active iTerm terminal
  • Read a requested number of terminal output lines
  • Send control characters such as Ctrl-C and Ctrl-Z
  • Support interactive REPL workflows
  • Run locally through npx

Tools3

What Iterm MCP lets your agent do. Expand a tool for its parameters.

Verified live~203 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

7/7 checks healthy over the last 78d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8d ago via OSV.dev · iterm-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars570Stargazers on the source repository.
npm downloads583Package downloads in the last 30 days.
Last commit1y agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed3Callable tools this server registers over MCP.
Directory activity6 viewsConfig copies, upvotes, and views on AllMCPs.

How Iterm MCP works

What ferrislucas/iterm-mcp MCP server does

The ferrislucas/iterm-mcp MCP server connects an MCP client to the active iTerm session. It gives an agent access to the terminal you are using rather than creating a separate terminal abstraction. An agent can issue a command, inspect the resulting screen output, ask questions about what is visible, and continue an interactive workflow.

The server is intended for macOS environments running iTerm2. It requires Node.js version 18 or later.

How it works

The ferrislucas/iterm-mcp MCP server communicates with the MCP client over standard input and output. Its terminal operations target the active iTerm terminal session.

Three tools provide the interface:

  • write_to_terminal writes text to the active terminal, commonly to run a command. The tool reports how many output lines the command produced.
  • read_terminal_output retrieves a requested number of lines from the active terminal.
  • send_control_character sends a control character to the active terminal. This supports interactions such as interrupting or suspending a process with control characters like Ctrl-C or Ctrl-Z.

Reading only the lines needed by the agent can reduce unnecessary context when a command produces a large amount of output. Interactive programs and REPLs can also be started and operated through the terminal.

Setup and configuration

Start iTerm2 before using the server. Confirm that Node.js 18 or newer is installed, then add the server to the MCP client's configuration. The documented Claude Desktop configuration uses npx with the -y flag and the iterm-mcp package:

config.json
{
  "mcpServers": {
    "iterm-mcp": {
      "command": "npx",
      "args": ["-y", "iterm-mcp"]
    }
  }
}

The README identifies the Claude Desktop configuration locations as ~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%/Claude/claude_desktop_config.json on Windows. The server itself is described in the context of iTerm2, so iTerm2 availability remains a prerequisite.

For local development, the repository documents yarn install, yarn run build, and yarn run watch. It also documents an Inspector-based debugging workflow using the project's package scripts.

Tools and capabilities

The ferrislucas/iterm-mcp MCP server fits tasks that require direct terminal interaction rather than read-only command execution. An agent can run shell commands, read selected output from long-running work, operate a REPL, and send control characters when a process needs to be interrupted or suspended.

Because the tools write directly to the active terminal, the user can watch the agent's actions in the same iTerm session. This also makes the selected terminal state relevant: commands and reads apply to the active iTerm terminal exposed by the environment.

Limitations and notes

There are no built-in command safety restrictions. The server does not evaluate whether a command is safe before sending it to iTerm. Users are responsible for monitoring activity and stopping the agent when necessary. The README recommends beginning with smaller, focused tasks until the agent's behavior is familiar, particularly for multi-step operations.

The ferrislucas/iterm-mcp MCP server requires iTerm2 to be running and does not document an API key, OAuth flow, or hosted endpoint.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Iterm MCP

Add an MCP server entry that runs `npx -y iterm-mcp`, then start iTerm2. Node.js 18 or newer is required.

Yes. The README provides a Claude Desktop configuration using the `npx -y iterm-mcp` command.

It can write to the active iTerm terminal, read a requested number of output lines, and send control characters. It can also support interactive REPL sessions.

No API key or other credential is documented. The server requires iTerm2 to be running and Node.js 18 or newer.

The server has no built-in command safety restrictions. Users must monitor agent activity and interrupt it when needed.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewIterm MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/ferrislucas-iterm-mcp?style=directory)](https://allmcps.com/mcp/ferrislucas-iterm-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/ferrislucas-iterm-mcp"><img src="https://allmcps.com/api/badge/ferrislucas-iterm-mcp?style=directory" alt="Iterm MCP on AllMCPs" /></a>