使用说明
项目简介
iTerm MCP 是一个 Model Context Protocol (MCP) 服务器,它充当大型语言模型 (LLM) 与 iTerm2 终端之间的桥梁,使 LLM 能够控制和观察 iTerm2 会话。通过预定义的工具,LLM 可以与您的 iTerm2 终端进行交互,执行命令、读取输出,并发送控制字符,从而实现更强大的自动化和集成能力。
主要功能点
- 工具 (Tools): 提供 'write_to_terminal' (写入并执行命令)、'read_terminal_output' (读取终端输出)、'send_control_character' (发送控制字符) 等工具,让 LLM 可以与终端进行交互。
- 高效利用 Token: 模型可以只查看感兴趣的终端输出部分,通常是命令的最后几行输出,从而节省 Token 消耗。
- 自然集成: LLM 可以像用户一样与 iTerm 终端互动,提问或委派任务,并观察执行过程,实现更自然的交互体验。
- 完全终端控制: 支持与 REPL (Read-Eval-Print Loop) 环境交互,并发送 Ctrl-C, Ctrl-Z 等控制字符,提供更全面的终端控制能力。
- 轻量级易安装: 基于 Node.js 构建,依赖少,可以通过 'npx' 直接运行,易于集成到各种 MCP 客户端,如 Claude Desktop。
安装步骤
- 环境准备: 确保您的 macOS 系统上已安装 iTerm2 终端程序,并且已安装 Node.js (版本 18 或更高)。
- 无需安装: 该服务器可以通过 'npx' 命令直接运行,无需进行全局安装。
服务器配置
对于 MCP 客户端 (例如 Claude Desktop),需要在客户端的配置文件中添加 iTerm MCP 服务器的配置信息,以便客户端能够连接并使用该服务器提供的功能。以下是配置示例,请根据您的 MCP 客户端的具体配置方法进行添加。
{ "mcpServers": { "iterm-mcp": { // 服务器名称,可以自定义,用于在客户端中标识该服务器 "command": "npx", // 启动服务器的命令,这里使用 npx 运行 npm 包 "args": [ // 启动命令的参数 "-y", // 参数 "-y" 用于在使用 npx 运行未安装的 npm 包时,自动确认安装,避免交互式提示 "iterm-mcp" // 要运行的 npm 包名称,即 iterm-mcp,npx 会自动查找并执行该包 ] } } }
- Claude Desktop 客户端配置:
- macOS 客户端配置文件路径: '~/Library/Application Support/Claude/claude_desktop_config.json'
- Windows 客户端配置文件路径: '%APPDATA%/Claude/claude_desktop_config.json'
基本使用方法
- 启动 MCP 客户端: 启动您使用的 MCP 客户端程序 (例如 Claude Desktop),并确保已按照上述 服务器配置 步骤正确配置了 iTerm MCP 服务器。
- 在 LLM 中使用工具: 在 LLM 客户端的交互界面中,您可以指示 LLM 使用 iTerm MCP 服务器提供的工具来与 iTerm2 终端进行交互。
- 使用 'write_to_terminal' 工具并传入 '{"command": "具体的命令"}' 参数,即可在 iTerm 终端中执行命令,例如 '{"command": "ls -l"}' 执行 'ls -l' 命令。
- 使用 'read_terminal_output' 工具并传入 '{"linesOfOutput": 数字}' 参数,可以读取 iTerm 终端的指定行数的输出,例如 '{"linesOfOutput": 10}' 读取最后 10 行输出。
- 使用 'send_control_character' 工具并传入 '{"letter": "控制字符的字母"}' 参数,可以发送控制字符,例如 '{"letter": "C"}' 发送 Ctrl+C。
- 观察和交互: LLM 执行工具后,您可以观察 iTerm 终端的输出和变化,并根据需要与 LLM 进行进一步的交互,完成更复杂的任务。
注意: 使用 iTerm MCP 服务器时,请务必谨慎操作,确保只执行您信任的命令,并密切关注 LLM 的行为,避免潜在的安全风险。
信息
分类
桌面与硬件