From f425ec3bd7a936ccf57abb64a1ac6be21ab748ca Mon Sep 17 00:00:00 2001 From: Saravana Achu Mac Date: Wed, 6 May 2026 09:35:36 -0700 Subject: [PATCH] chore(vscode): add alpaca mcp env template --- .vscode/mcp.json | 16 ---------------- scripts/mcp/.env.example | 8 ++++++++ scripts/mcp/alpaca-mcp-server.sh | 21 +++++++++++++++++++++ 3 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 scripts/mcp/.env.example diff --git a/.vscode/mcp.json b/.vscode/mcp.json index ea86e1e..65076e6 100644 --- a/.vscode/mcp.json +++ b/.vscode/mcp.json @@ -1,18 +1,4 @@ { - "inputs": [ - { - "type": "promptString", - "id": "alpaca-api-key", - "description": "Alpaca API Key", - "password": true - }, - { - "type": "promptString", - "id": "alpaca-secret-key", - "description": "Alpaca Secret Key", - "password": true - } - ], "servers": { "alpaca": { "type": "stdio", @@ -21,8 +7,6 @@ "${workspaceFolder}/scripts/mcp/alpaca-mcp-server.sh" ], "env": { - "ALPACA_API_KEY": "${input:alpaca-api-key}", - "ALPACA_SECRET_KEY": "${input:alpaca-secret-key}", "MCP_CLIENT": "vscode" } } diff --git a/scripts/mcp/.env.example b/scripts/mcp/.env.example new file mode 100644 index 0000000..0b579a8 --- /dev/null +++ b/scripts/mcp/.env.example @@ -0,0 +1,8 @@ +# Copy this file to scripts/mcp/.env and replace the placeholder values. +# The real .env file is ignored by git. + +ALPACA_API_KEY=your_alpaca_api_key +ALPACA_SECRET_KEY=your_alpaca_secret_key + +# Optional: set to true for paper trading if supported by the installed server version. +ALPACA_PAPER_TRADE=true diff --git a/scripts/mcp/alpaca-mcp-server.sh b/scripts/mcp/alpaca-mcp-server.sh index 0558892..0407c02 100644 --- a/scripts/mcp/alpaca-mcp-server.sh +++ b/scripts/mcp/alpaca-mcp-server.sh @@ -1,7 +1,28 @@ #!/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