终端会话控制协议

iterm-mcp是一个模型上下文协议服务器,提供对iTerm会话的访问,使模型能够检查终端输出并与终端交互。

  • by ferrislucas
  • TypeScript
  • 本地部署
  • 571 星标
  • 更新于
在 GitHub 查看 ferrislucas/iterm-mcp

使用说明

iterm-mcp

一个提供访问您iTerm会话的模型上下文协议服务器。

功能

高效使用标记: 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安装

要通过以下方式自动为Claude Desktop安装iTerm Smithery根据上面的信息,执行如下指令:

npx -y @smithery/cli install iterm-mcp --client claude

开发

安装依赖项:

yarn install

构建服务器:

yarn run build

对于带自动重建的开发:

yarn run watch

调试

由于MCP服务器通过stdio进行通信,调试可能会具有挑战性。我们建议使用 MCP 侦测器,这可以作为包脚本使用:

yarn run inspector
yarn debug <command>

检查器将提供一个URL,以便在您的浏览器中访问调试工具。