fix: pass host args to ngrok readiness check
This commit is contained in:
parent
7813d32cd0
commit
63a3f41726
|
|
@ -1,5 +1,6 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
set -x
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
cat <<'USAGE'
|
cat <<'USAGE'
|
||||||
|
|
@ -36,7 +37,6 @@ USAGE
|
||||||
MCP_BIN=${MCP_BROWSER_BIN:-mcp-browser}
|
MCP_BIN=${MCP_BROWSER_BIN:-mcp-browser}
|
||||||
NGROK_BIN=${NGROK_BIN:-ngrok}
|
NGROK_BIN=${NGROK_BIN:-ngrok}
|
||||||
CONFIG_PATH=""
|
CONFIG_PATH=""
|
||||||
SERVER_NAME="builtin-only"
|
|
||||||
HTTP_HOST="127.0.0.1"
|
HTTP_HOST="127.0.0.1"
|
||||||
HTTP_PORT=""
|
HTTP_PORT=""
|
||||||
HTTP_PATH="/mcp"
|
HTTP_PATH="/mcp"
|
||||||
|
|
@ -52,8 +52,6 @@ while [[ $# -gt 0 ]]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
--config)
|
--config)
|
||||||
CONFIG_PATH=$2; shift 2;;
|
CONFIG_PATH=$2; shift 2;;
|
||||||
--server)
|
|
||||||
SERVER_NAME=$2; shift 2;;
|
|
||||||
--http-host)
|
--http-host)
|
||||||
HTTP_HOST=$2; shift 2;;
|
HTTP_HOST=$2; shift 2;;
|
||||||
--http-port)
|
--http-port)
|
||||||
|
|
@ -114,13 +112,13 @@ fi
|
||||||
|
|
||||||
HTTP_PATH="/${HTTP_PATH#/}"
|
HTTP_PATH="/${HTTP_PATH#/}"
|
||||||
|
|
||||||
MCP_CMD=("$MCP_BIN" --mode streamable-http --server "$SERVER_NAME" \
|
MCP_CMD=("$MCP_BIN" --mode streamable-http \
|
||||||
--http-host "$HTTP_HOST" --http-port "$HTTP_PORT" \
|
--http-host "$HTTP_HOST" --http-port "$HTTP_PORT" \
|
||||||
--http-path "$HTTP_PATH" --http-allow-origin "$ALLOW_ORIGIN")
|
--http-path "$HTTP_PATH" --http-allow-origin "$ALLOW_ORIGIN")
|
||||||
if [[ -n "$CONFIG_PATH" ]]; then
|
if [[ -n "$CONFIG_PATH" ]]; then
|
||||||
MCP_CMD+=(--config "$CONFIG_PATH")
|
MCP_CMD+=(--config "$CONFIG_PATH")
|
||||||
fi
|
fi
|
||||||
[[ ${#MCP_EXTRA_ARGS[@]} -gt 0 ]] && MCP_CMD+=("${MCP_EXTRA_ARGS[@]}")
|
#[[ ${#MCP_EXTRA_ARGS[@]} -gt 0 ]] && MCP_CMD+=("${MCP_EXTRA_ARGS[@]}")
|
||||||
|
|
||||||
MCP_LOG=$(mktemp -t mcp-browser-gateway.XXXXXX.log)
|
MCP_LOG=$(mktemp -t mcp-browser-gateway.XXXXXX.log)
|
||||||
NGROK_LOG=$(mktemp -t ngrok-mcp.XXXXXX.log)
|
NGROK_LOG=$(mktemp -t ngrok-mcp.XXXXXX.log)
|
||||||
|
|
@ -134,7 +132,7 @@ trap cleanup EXIT INT TERM
|
||||||
"${MCP_CMD[@]}" >"$MCP_LOG" 2>&1 &
|
"${MCP_CMD[@]}" >"$MCP_LOG" 2>&1 &
|
||||||
MCP_PID=$!
|
MCP_PID=$!
|
||||||
|
|
||||||
python3 - <<PY
|
python3 - "$HTTP_HOST" "$HTTP_PORT" <<'PY'
|
||||||
import socket, time, sys
|
import socket, time, sys
|
||||||
host, port = sys.argv[1], int(sys.argv[2])
|
host, port = sys.argv[1], int(sys.argv[2])
|
||||||
for _ in range(200):
|
for _ in range(200):
|
||||||
|
|
@ -149,10 +147,10 @@ for _ in range(200):
|
||||||
print('Port not ready', file=sys.stderr)
|
print('Port not ready', file=sys.stderr)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
PY
|
PY
|
||||||
"$HTTP_HOST" "$HTTP_PORT" || {
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "Failed to start mcp-browser gateway. See $MCP_LOG" >&2
|
echo "Failed to start mcp-browser gateway. See $MCP_LOG" >&2
|
||||||
exit 1
|
exit 1
|
||||||
}
|
fi
|
||||||
|
|
||||||
NGROK_CMD=("$NGROK_BIN" http --scheme=http "http://$HTTP_HOST:$HTTP_PORT")
|
NGROK_CMD=("$NGROK_BIN" http --scheme=http "http://$HTTP_HOST:$HTTP_PORT")
|
||||||
NGROK_CMD+=(--request-header-add "X-MCP-Gateway:true")
|
NGROK_CMD+=(--request-header-add "X-MCP-Gateway:true")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue