#!/usr/bin/env sh set -eu SCRIPT_DIR="$(CDPATH= cd "$(dirname "$0")" && pwd -P)" ENV_FILE="${ALPACA_MCP_ENV_FILE:-${SCRIPT_DIR}/.env}" if [ -f "${ENV_FILE}" ]; then set -a . "${ENV_FILE}" set +a fi if [ "${1:-}" = "--doctor" ]; then if [ -f "${ENV_FILE}" ]; then echo "ok: env file found (${ENV_FILE})" else echo "warn: env file not found (${ENV_FILE}); copy scripts/mcp/.env.example to scripts/mcp/.env" fi if [ -n "${ALPACA_API_KEY:-}" ] && [ -n "${ALPACA_SECRET_KEY:-}" ]; then echo "ok: Alpaca credential variables are set" else echo "warn: ALPACA_API_KEY and/or ALPACA_SECRET_KEY are not set" fi if command -v uvx >/dev/null 2>&1; then echo "ok: uvx available ($(command -v uvx))" exit 0 fi if command -v uv >/dev/null 2>&1; then echo "ok: uv available ($(command -v uv))" exit 0 fi if command -v pipx >/dev/null 2>&1; then echo "ok: pipx fallback available ($(command -v pipx))" exit 0 fi echo "error: install uv or pipx before starting the Alpaca MCP server" >&2 exit 127 fi if command -v uvx >/dev/null 2>&1; then exec uvx alpaca-mcp-server "$@" fi if command -v uv >/dev/null 2>&1; then exec uv tool run alpaca-mcp-server "$@" fi if command -v pipx >/dev/null 2>&1; then exec pipx run alpaca-mcp-server "$@" fi echo "error: install uv or pipx before starting the Alpaca MCP server" >&2 exit 127