#!/bin/bash set -euo pipefail # DSS MCP stdio launcher (client-agnostic) # # Use this when configuring MCP clients that don't support per-server env vars, # or when you want a single canonical entrypoint for DSS MCP across tools. DSS_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" # Prefer repo-local venv (recommended for DSS). if [ -x "$DSS_ROOT/.venv/bin/python3" ]; then PYTHON_BIN="$DSS_ROOT/.venv/bin/python3" elif [ -x "$DSS_ROOT/venv/bin/python3" ]; then PYTHON_BIN="$DSS_ROOT/venv/bin/python3" else echo "[dss-mcp] No venv found at $DSS_ROOT/.venv or $DSS_ROOT/venv" >&2 echo "[dss-mcp] Create one: python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt" >&2 exit 1 fi # Defaults (allow caller to override). export PYTHONPATH="${PYTHONPATH:-$DSS_ROOT}" export DSS_HOME="${DSS_HOME:-$DSS_ROOT/.dss}" export DSS_CACHE="${DSS_CACHE:-$DSS_ROOT/.dss/cache}" export DSS_BASE_PATH="${DSS_BASE_PATH:-$DSS_ROOT}" # Enable dev-only MCP workflow tools (shell-script wrappers). export DSS_ENABLE_DEV_COMMANDS="${DSS_ENABLE_DEV_COMMANDS:-1}" exec "$PYTHON_BIN" -m dss.mcp.server