使用说明
克劳德码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 桌面将以正确的为目标。
许可证
麻省理工学院