learning_ai_invt_trdg/scripts/mcp/alpaca-mcp-server.sh

56 lines
1.4 KiB
Bash

#!/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