tmux桥接工具

一个连接Claude Desktop与tmux终端的MCP服务器,实现实时交互式代码会话。

  • by PiMPStudios
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 DaRealDaHoodie/claude-tmux-bridge

使用说明

克劳德码MCP-tmux桥

一个MCP服务器,将Claude Desktop连接到在tmux终端中运行的交互式Claude Code会话。它不是为每个提示符生成一个一次性进程,而是与一个持久的、可见的会话进行通信——这样你就可以在Desktop编排任务的同时实时观看Claude的工作。

运作原理

Claude Desktop  →  claude_code MCP tool  →  tmux session  →  Claude Code (interactive)
                        (this repo)
  • 克劳德桌面版 保存您的项目上下文、设计决策和任务历史。它会生成提示,并知道接下来需要做什么。
  • 克劳德代码 在您可以观看的tmux终端中交互式运行。它可以访问您配置的所有MCP工具,并保留通话之间的完整对话历史。
  • 此服务器 是它们之间的管道——它将Desktop的提示传递给Code的会话,并将响应带回。

需求

  • macOS
  • Node.js v20或更高版本
  • 终端复用器 — brew install tmux
  • 克劳德代码CLI-- npm install -g @anthropic-ai/claude-code

设置

1.安装此服务器

git clone https://github.com/DaRealDaHoodie/claude-tmux-bridge.git
cd claude-tmux-bridge
npm install
npm run build

2.配置克劳德桌面

将此服务器添加到您的Claude Desktop MCP配置中(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "claude-tmux-bridge": {
      "command": "node",
      "args": ["/path/to/claude-tmux-bridge/dist/server.js"]
    }
  }
}

保存后重新启动Claude Desktop。

使用工具

配置后,Claude Desktop可以访问 claude_code 工具。发送提示时,告诉Desktop:

  • 该怎么办 --Claude Code的任务或问题
  • 哪个项目 --通行证 workFolder 作为项目目录的绝对路径

桌面示例说明:

将claude_code工具与workFolder一起使用 /Users/you/my-project 并要求Claude Code实现我们刚才设计的功能。

其他一切都是自动的——tmux会话和Claude Code实例是在第一次使用时创建的。

会话命名

tmux会话名称来源于项目文件夹的基名称:

工作文件夹 会话名称
/Users/you/my-project claude-my-project
/Users/you/other-project claude-other-project
(未提供) claude-code

看着克劳德工作

会话在后台自动运行。附上任何时间观看:

tmux attach -t claude-my-project
# Detach with Ctrl+B D

工具参数

参数 类型 必填 说明
prompt string yes 发送给Claude Code的提示
workFolder string no 项目的绝对路径--决定会话
timeout number no 等待响应的最长秒数(默认值:300)

行为

  • 会话未找到 --自动创建植根于以下位置的tmux会话 workFolder
  • Claude代码未运行 --自动发射 claude 在会话中,等待长达30秒才能准备就绪
  • 会话繁忙 --以“仍忙”消息拒绝;不排队
  • 超时 --通过检查Claude是否已结束通话,在下次通话时自动恢复
  • 对话历史 --通话之间完全保留(同一交互会话)

环境变量

变量 默认值 描述
MCP_CLAUDE_DEBUG false 设置为 true 用于详细的调试日志记录
MCP_STARTUP_DELAY_MS 1000 发送提示后等待轮询开始
MCP_POLL_INTERVAL_MS 1500 多久轮询一次窗格以查看输出更改
MCP_STABLE_THRESHOLD_MS 3000 回退:在宣布完成之前没有变化
MCP_CLAUDE_READY_TIMEOUT 30000 等待Claude Code启动的最大毫秒数

多个项目

每个项目都有自己的命名tmux会话。您可以同时打开多个会话——只需传递正确的 workFolder 桌面将以正确的为目标。

许可证

麻省理工学院