56 lines
1.3 KiB
Bash
56 lines
1.3 KiB
Bash
#!/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
|