#!/bin/sh
# Maktabah MCP Installer
# Usage: curl -sfL https://maktabah.underconst.com/mcp/install.sh | sh

set -eu

REPO="https://maktabah.underconst.com/mcp"
BIN_DIR="${HOME}/.local/bin"
BIN_NAME="maktabah-mcp"

# Detect OS and architecture
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)

case "${OS}" in
  linux)   OS_ALIAS="linux" ;;
  darwin)  OS_ALIAS="darwin" ;;
  mingw*|msys*|cygwin*) OS_ALIAS="windows" ;;
  *)       echo "❌ Unsupported OS: ${OS}"; exit 1 ;;
esac

case "${ARCH}" in
  x86_64|amd64) ARCH_ALIAS="amd64" ;;
  aarch64|arm64) ARCH_ALIAS="arm64" ;;
  *)            echo "❌ Unsupported arch: ${ARCH}"; exit 1 ;;
esac

# Windows binary has .exe extension
EXT=""
if [ "${OS_ALIAS}" = "windows" ]; then
  EXT=".exe"
fi

# macOS arm64 only for Apple Silicon
if [ "${OS_ALIAS}" = "darwin" ] && [ "${ARCH_ALIAS}" = "arm64" ]; then
  FILENAME="maktabah-mcp-darwin-arm64${EXT}"
elif [ "${OS_ALIAS}" = "darwin" ]; then
  FILENAME="maktabah-mcp-darwin-amd64${EXT}"
else
  FILENAME="maktabah-mcp-${OS_ALIAS}-${ARCH_ALIAS}${EXT}"
fi

URL="${REPO}/${FILENAME}"
INSTALL_PATH="${BIN_DIR}/${BIN_NAME}${EXT}"

echo "📦 Downloading ${FILENAME}..."

# Use available download tool
if command -v curl >/dev/null 2>&1; then
  curl -sfL "${URL}" -o "${INSTALL_PATH}"
elif command -v wget >/dev/null 2>&1; then
  wget -q "${URL}" -O "${INSTALL_PATH}"
else
  echo "❌ Neither curl nor wget found"
  exit 1
fi

# Make executable (not needed on Windows)
if [ "${OS_ALIAS}" != "windows" ]; then
  chmod +x "${INSTALL_PATH}"
fi

echo "✅ Installed to ${INSTALL_PATH}"
echo ""
echo "➡️  Add to Claude Code / Cursor:"
echo ""
echo '   {'
echo '     "mcpServers": {'
echo '       "maktabah": {'
echo '         "command": "'"${INSTALL_PATH}"'",'
echo '         "args": ["--base-url", "https://maktabah.underconst.com"]'
echo '       }'
echo '     }'
echo '   }'
echo ""
echo "🚀 Test: ${INSTALL_PATH} --help"
