LeoWalker's picture
dev(start): source .env for local diagnostics so NOTION_* presence is visible before server start
7c33b8c
#!/usr/bin/env bash
set -euo pipefail
echo "[start.sh] $(date -Iseconds) :: Booting FoodWise MCP (FastAPI + FastMCP)"
echo "[start.sh] Python version: $(python -V || true)"
echo "[start.sh] Working dir: $(pwd)"
echo "[start.sh] Listing project root:"
ls -la || true
# Load .env if present for local/dev convenience
if [[ -f .env ]]; then
echo "[start.sh] Loading .env into environment"
# shellcheck disable=SC2046
set -a && source .env && set +a
fi
# Print key env (safe)
echo "[start.sh] Env snapshot (selected):"
echo "HOST=${HOST:-} PORT=${PORT:-} ENVIRONMENT=${ENVIRONMENT:-}"
echo "MCP_SERVER_NAME=${MCP_SERVER_NAME:-} MCP_LOG_LEVEL=${MCP_LOG_LEVEL:-}"
# Masked diagnostics for Notion envs (no secrets printed)
if [[ -n "${NOTION_SECRET:-}" ]]; then
echo "[start.sh] NOTION_SECRET: present (len=${#NOTION_SECRET})"
else
echo "[start.sh] NOTION_SECRET: MISSING"
fi
if [[ -n "${NOTION_INVENTORY_DB_ID:-}" ]]; then
echo "[start.sh] NOTION_INVENTORY_DB_ID: present (len=${#NOTION_INVENTORY_DB_ID})"
else
echo "[start.sh] NOTION_INVENTORY_DB_ID: MISSING"
fi
if [[ -n "${NOTION_SHOPPING_DB_ID:-}" ]]; then
echo "[start.sh] NOTION_SHOPPING_DB_ID: present (len=${#NOTION_SHOPPING_DB_ID})"
else
echo "[start.sh] NOTION_SHOPPING_DB_ID: MISSING"
fi
# Verify main.py presence
if [[ ! -f main.py ]]; then
echo "[start.sh] ERROR: main.py not found in $(pwd)" >&2
exit 1
fi
# Run FastMCP's HTTP server via main.py (serves /mcp/)
exec uv run python main.py