关于 iterm-mcp
iterm-mcp 是一个 MCP 服务,可访问当前 iTerm 会话,在其中执行命令并读取输出。它适用于 REPL 和命令行辅助场景,用户与模型共享同一个终端。
主要功能
- 01向当前 iTerm 终端写入命令
- 02读取指定行数的终端输出
- 03发送控制字符(如 ctrl-c)
- 04支持启动并交互 REPL
- 05通过 npx 运行,依赖较少
适用场景
- 01让模型在 REPL 中执行并观察多步任务
- 02查看长时间运行命令的最后几行输出
- 03在 Claude Desktop 中辅助命令行操作
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 write_to_terminal、read_terminal_output 和 send_control_character 三个工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| command | string | 是 | 要运行或写入终端的命令或文本 |
详细介绍
iterm-mcp
一个可访问 iTerm 会话的模型上下文协议服务。

功能
高效使用 Token: iterm-mcp 让模型能够只查看自己感兴趣的输出。即使对于长时间运行的命令,模型通常也只想查看最后几行输出。
自然集成: 你与模型共享 iTerm。你可以询问屏幕上显示的内容,也可以将任务委托给模型,并观察它逐步执行。
完整的终端控制和 REPL 支持: 模型可以启动并交互使用 REPL,也可以发送 ctrl-c、ctrl-z 等控制字符。
依赖精简: iterm-mcp 仅依赖少量组件,可通过 npx 运行。它旨在方便地添加到 Claude Desktop 和其他 MCP 客户端中,应该可以直接使用。
安全注意事项
- 用户有责任安全地使用该工具。
- 无内置限制:iterm-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
{
"mcpServers": {
"iterm-mcp": {
"command": "npx",
"args": [
"-y",
"iterm-mcp"
]
}
}
}
通过 Smithery 安装
要通过 Smithery 为 Claude Desktop 自动安装 iTerm:
npx -y @smithery/cli install iterm-mcp --client claude
开发
安装依赖:
yarn install
构建服务:
yarn run build
使用自动重建进行开发:
yarn run watch
调试
由于 MCP 服务通过 stdio 通信,调试可能颇具挑战。我们建议使用 MCP Inspector,它以包脚本的形式提供:
yarn run inspector
yarn debug <command>
Inspector 会提供一个 URL,供你在浏览器中访问调试工具。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。