#!/usr/bin/env zsh set -euo pipefail SCRIPT_DIR="${0:A:h}" ENV_FILE="${ALPACA_MCP_ENV_FILE:-${SCRIPT_DIR}/.env}" if [[ -f "${ENV_FILE}" ]]; then set -a source "${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