iterm-mcp 是一个 Model Context Protocol(MCP)服务器,提供对当前 iTerm 会话的访问能力。它主要用于在 iTerm 中执行命令,并让模型就终端中显示的内容进行提问或操作,适合 REPL 和 CLI 辅助场景。
主要能力:
- 高效 token 使用:iterm-mcp 让模型能够只检查自己感兴趣的输出。即使对于长时间运行的命令,模型通常也只需要查看输出的最后几行。
- 自然集成:用户与模型共享 iTerm。可以就屏幕上的内容提问,也可以将任务委托给模型,并观察它执行每一步。
- 完整的终端控制与 REPL 支持:模型可以启动 REPL 并与之交互,也可以发送 ctrl-c、ctrl-z 等控制字符。
- 依赖简单:iterm-mcp 以极少的依赖构建,可通过 npx 运行,设计上便于添加到 Claude Desktop 和其他 MCP 客户端。
工具接口:
- write_to_terminal:写入活动的 iTerm 终端,通常用于运行命令。返回命令产生的输出行数。
- read_terminal_output:从活动的 iTerm 终端读取指定行数的输出。
- send_control_character:向活动的 iTerm 终端发送控制字符。
使用方式:
- 前置条件:iTerm2 必须正在运行;Node 版本需为 18 或更高。
- 与 Claude Desktop 配合使用时,需添加服务器配置。macOS 路径为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 路径为 %APPDATA%/Claude/claude_desktop_config.json。
- 可通过 Smithery 自动为 Claude Desktop 安装 iTerm。
- 安装依赖、构建服务器,并可使用自动重建进行开发。
- 由于 MCP 服务器通过 stdio 通信,调试可能较困难,推荐使用 MCP Inspector,它作为包脚本提供,会给出一个 URL 以便在浏览器中访问调试工具。
安全注意事项:
- 用户需自行负责安全使用该工具。
- 无内置限制:iterm-mcp 不会尝试评估所执行命令的安全性。
- 模型可能以意外方式行事,用户应监控活动并在适当时中止。
- 对于多步骤任务,如果模型偏离轨道,可能需要中断模型。建议从较小、聚焦的任务开始,直到熟悉模型的行为方式。