Spaces:
Running
Running
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 | |