用 tmux-bridge-mcp 讓多個 AI Agent 在終端機互相溝通
前情提要
身為 DevOps,我常常需要同時跑多個 AI 工具:左邊 Claude Code 負責理解需求、右邊 Codex 負責寫 code。
但問題是兩邊各自為政,沒辦法互相溝通。
直到我發現了 tmux-bridge-mcp。
它是一個 MCP server,讓 Claude Code、Codex、Gemini CLI 等 AI agent 可以透過 tmux pane 互傳訊息,真正做到跨 agent 協作。
這篇筆記記錄整套環境的建立流程。
底層原理
tmux-bridge-mcp 的運作架構分三層:
AI Agent(Claude / Codex / Gemini)
↓ MCP protocol(JSON-RPC over stdio)
tmux-bridge-mcp server
↓ tmux CLI(send-keys / capture-pane)
tmux pane
MCP 是什麼
MCP(Model Context Protocol)是 Anthropic 提出的開放標準,讓 AI agent 能透過 JSON-RPC 呼叫外部工具。tmux-bridge-mcp 把 tmux 的操作包裝成 MCP tool,讓 agent 可以直接「打字」到任意 pane。
訊息怎麼傳
- Claude Code 呼叫
tmux_keystool,帶著目標 pane ID 和要發送的文字 - tmux-bridge-mcp server 收到後執行
tmux send-keys -t <pane> "<message>" Enter - 目標 pane(Codex / Gemini)接收到輸入,就像使用者親自打字一樣
- 用
tmux_readtool 可以讀回對方 pane 的輸出內容
為什麼用 tmux 而不是 socket
tmux pane 天生就是 terminal session,不需要另外開 IPC channel。任何跑在 terminal 的 AI agent 都能直接接入,不限工具或語言。
需求
- macOS(或 Linux)
- tmux 3.2+
- Node.js 18+
- Claude Code 已安裝
- Codex 已安裝
安裝 tmux-bridge-mcp
一鍵自動安裝(推薦)
npx tmux-bridge-mcp setup
這個指令會自動偵測你安裝了哪些 AI agent,並寫入對應的 MCP 設定。
確認安裝成功
npx tmux-bridge-mcp --help
試跑 Demo
npx tmux-bridge-mcp demo
手動設定(選用)
如果自動安裝沒有涵蓋你的 agent,可以手動加到設定檔。
Claude Code(加到 .mcp.json 或全域設定):
{
"mcpServers": {
"tmux-bridge": {
"command": "npx",
"args": ["-y", "tmux-bridge-mcp"]
}
}
}
Kimi CLI:
kimi mcp add tmux-bridge -- npx tmux-bridge-mcp
Gemini CLI(編輯 ~/.gemini/settings.json)、OpenCode(編輯 ~/.config/opencode/opencode.json)格式相同,填入上面的 command / args 即可。
建立啟動腳本 start-ai.sh
有了 tmux-bridge-mcp 之後,我寫了一個腳本,一鍵開啟 tmux session,左右各啟動一個 AI agent。
#!/bin/zsh
SESSION="ai"
DIR=${1:-$(pwd)}
# 如果 session 已存在就直接 attach
if tmux has-session -t $SESSION 2>/dev/null; then
tmux attach -t $SESSION
exit
fi
tmux new-session -s $SESSION -d -x 220 -y 50
# 左邊:claude
tmux send-keys -t $SESSION "cd $DIR && claude" Enter
tmux select-pane -t $SESSION:0.0 -T claude
# 右邊:codex
tmux split-window -h -t $SESSION
tmux send-keys -t $SESSION "cd $DIR && codex" Enter
tmux select-pane -t $SESSION:0.1 -T codex
tmux attach -t $SESSION
存成 ~/start-ai.sh,加上執行權限:
chmod +x ~/start-ai.sh
使用方式
# 在目前目錄啟動
./start-ai.sh
# 指定專案目錄
./start-ai.sh ~/Documents/my-project
加上 alias(選用)
在 ~/.zshrc 加入:
alias 2ai="~/start-ai.sh"
之後直接打 2ai 就能啟動整套環境,不需要切換目錄。
source ~/.zshrc
2ai
結果
執行後 tmux 會長這樣:
┌─────────────────────┬─────────────────────┐
│ │ │
│ claude │ codex │
│ │ │
└─────────────────────┴─────────────────────┘
兩個 agent 都跑在同一個專案目錄,透過 tmux-bridge-mcp 可以互傳訊息、分工協作。