summaryrefslogtreecommitdiff
path: root/start_mcp.sh
diff options
context:
space:
mode:
authorhaoyuren <13851610112@163.com>2026-03-29 15:07:43 -0500
committerhaoyuren <13851610112@163.com>2026-03-29 15:07:43 -0500
commitddd1fae455e9bac778088a54b7a694781b3508e2 (patch)
treeeb970e13ee51fab48bad86969b8e77ea5af9c504 /start_mcp.sh
Claude Bridge Worker - one-click setup for remote Claude Code workers
Diffstat (limited to 'start_mcp.sh')
-rwxr-xr-xstart_mcp.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/start_mcp.sh b/start_mcp.sh
new file mode 100755
index 0000000..30cc24e
--- /dev/null
+++ b/start_mcp.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# MCP server 启动 wrapper:检测 tmux session name 并传给 python
+# 用进程树反查 pane PID → session name
+
+SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
+
+# 检测 session name: 遍历 PID 往上找
+detect_session() {
+ local check_pid=$$
+ local pane_pids
+ pane_pids=$(tmux list-panes -a -F "#{pane_pid} #{session_name}" 2>/dev/null) || return
+
+ for i in $(seq 1 50); do
+ local match
+ match=$(echo "$pane_pids" | grep "^${check_pid} " | head -1 | cut -d' ' -f2)
+ if [ -n "$match" ]; then
+ echo "$match"
+ return
+ fi
+ # 获取 PPID
+ local ppid
+ ppid=$(awk '{print $4}' /proc/${check_pid}/stat 2>/dev/null) || return
+ [ "$ppid" -le 1 ] && return
+ check_pid=$ppid
+ done
+}
+
+export CLAUDE_SESSION_NAME=$(detect_session)
+exec python3 "$SCRIPT_DIR/mcp_lab_worker.py"