Forge vs Iterm MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Forge vs Iterm MCP
In-depth architectural comparison of the Forge and Iterm MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Forge
Command Line · Local stdio
Quality: 61/100 (Good) | Auth: No auth required
Iterm MCP
Command Line · Local stdio
Quality: 56/100 (Good) | Auth: No auth required
Verdict Summary: Choose Forge if you need specialized Command Line tools running via a local process. Choose Iterm MCP if your workspace requires Command Line integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Forge when:
You need dedicated capabilities in the Command Line domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
Terminal MCP server for AI coding agents with persistent PTY sessions, ring-buffer incremental reads, headless xterm screen capture, multi-agent orchestration, and a real-time web dashboard.
A Model Context Protocol server that provides access to iTerm. You can run commands and ask questions about what you see in the iTerm terminal.
Spawn a new PTY terminal session. Returns session ID for subsequent operations.
revive_terminal
Recreate a previously exited terminal session with the same command, working directory, name, tags, and dimensions. The old session is removed and a fresh one is spawned.
create_from_template
Create a terminal session from a pre-configured template (e.g., shell, next-dev, vite-dev, npm-test).
list_templates
List all available session templates.
spawn_claude
Spawn a Claude Code agent in a new terminal session. IMPORTANT: cwd must be set explicitly — there is no session inheritance. By default runs in interactive mode — the session stays alive and accepts follow-up messages via the dashboard. Use oneShot: true for autonomous --print mode. Use worktree + branch to run in an isolated git worktree.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Forge is categorized under Command Line and uses a local stdio subprocess. In contrast, Iterm MCP belongs to Command Line using local stdio subprocess. Select Forge when you need capabilities focused on command line and Iterm MCP when you require tools for command line.
Spawn a Codex agent in a new terminal session. By default runs in interactive mode — the session stays alive and accepts follow-up messages via the dashboard. Use oneShot: true for autonomous `codex exec` mode (requires prompt).
spawn_gemini
Spawn a Gemini CLI agent in a new terminal session. By default runs in interactive mode — the session stays alive and accepts follow-up messages via the dashboard. Use oneShot: true for headless mode (requires prompt).
write_terminal
Send input to a terminal session. Appends newline by default. Use submit=true for Claude Code sessions (sends Escape+Enter to exit multi-line mode and submit).
read_terminal
Read NEW output from a terminal since last read (incremental). Token-efficient — only returns what changed.
read_screen
Read the current terminal viewport as rendered text (no ANSI codes). Shows what a human would see on screen.
grep_terminal
Search terminal output buffer with a regex pattern. Returns matching lines with optional context.
wait_for
Wait for a regex pattern to appear in terminal output, OR wait for the process to exit. Checks existing buffer/status first, then watches live. Use waitForExit: true for commands that terminate (builds, tests, installs).
+13 more tools listed on main page
Iterm MCP Tools (3)
write_to_terminal
Writes to the active iTerm terminal, often used to run a command. Returns the number of lines of output produced by the command.
read_terminal_output
Reads the requested number of lines from the active iTerm terminal.
send_control_character
Sends a control character to the active iTerm terminal.