a2ae74d582
- Backend: auth refresh reuse, schedule/retry/sync/agent/files fixes - Frontend: push WS, files ETag browse, vite build assets - Docs: audit/changelog, production deploy gate, bug scan registry B7-77 - Deploy: deploy-production.sh, prune assets, gate logs
38 lines
990 B
Bash
38 lines
990 B
Bash
#!/usr/bin/env bash
|
|
# Cursor MCP: @yclenove/mysql-mcp-server on native Linux (Node 20+).
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT="$(cd "${SCRIPT_DIR}/.." && pwd)"
|
|
cd "${PROJECT}"
|
|
|
|
if ! command -v node >/dev/null 2>&1; then
|
|
echo "ERROR: Node.js not found. Install Node 20+ (nvm/fnm/apt)." >&2
|
|
exit 1
|
|
fi
|
|
|
|
NODE_MAJOR="$(node -p "process.versions.node.split('.')[0]")"
|
|
if [ "${NODE_MAJOR}" -lt 20 ] 2>/dev/null; then
|
|
echo "ERROR: Node $(node -v) is too old; mysql-mcp-server needs Node 20+." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Package reads MYSQL_* from process env; project .env is synced via sync_mysql_mcp_env.py
|
|
if [ -f .env ]; then
|
|
set -a
|
|
# shellcheck disable=SC1091
|
|
while IFS= read -r line || [ -n "${line}" ]; do
|
|
line="${line%$'\r'}"
|
|
case "${line}" in
|
|
MYSQL_*=*)
|
|
key="${line%%=*}"
|
|
val="${line#*=}"
|
|
export "${key}=${val}"
|
|
;;
|
|
esac
|
|
done < .env
|
|
set +a
|
|
fi
|
|
|
|
exec npx -y @yclenove/mysql-mcp-server
|