We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielbushman/MCP-Quickbase'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
check_dependencies.shβ’5.73 KiB
#!/bin/bash
# Quickbase MCP Server v2 Dependency Checker
# This script checks for required dependencies for the TypeScript-based v2
# Initialize dependency flags
git_ok=false
node_ok=false
auto_install=false
# Check for macOS
if [[ "$OSTYPE" != "darwin"* ]]; then
echo "β This script is designed for macOS only."
echo "Please install dependencies manually for your operating system."
exit 1
fi
echo "β Detected macOS"
echo "π Checking dependencies for Quickbase MCP Server v2..."
# Ask user if they want to try auto-installing missing dependencies
ask_for_auto_install() {
read -p "Would you like to attempt to automatically install missing dependencies? (y/n): " answer
if [[ "$answer" == "y" || "$answer" == "Y" ]]; then
auto_install=true
echo "Auto-install enabled. Will attempt to install missing dependencies."
else
echo "Auto-install disabled. You will need to install dependencies manually."
fi
}
# Check if Homebrew is installed (needed for auto-installation)
check_homebrew() {
if ! command -v brew &> /dev/null; then
echo "β Homebrew is required for auto-installation but was not found."
echo "Would you like to install Homebrew?"
read -p "(y/n): " install_brew
if [[ "$install_brew" == "y" || "$install_brew" == "Y" ]]; then
echo "Installing Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Check if Homebrew was installed successfully
if command -v brew &> /dev/null; then
echo "β Homebrew installed successfully."
return 0
else
echo "β Failed to install Homebrew."
return 1
fi
else
echo "Please install Homebrew manually if you want to use auto-installation."
return 1
fi
fi
return 0
}
# Check for git
if ! command -v git &> /dev/null; then
echo "β Git is not installed."
if [ "$auto_install" = true ]; then
if check_homebrew; then
echo "Attempting to install Git..."
brew install git
if command -v git &> /dev/null; then
echo "β Git installed successfully."
git_ok=true
else
echo "β Failed to install Git."
fi
fi
else
echo "Please install Git before running auto_setup.sh."
fi
else
echo "β Git is installed."
git_ok=true
fi
# Note: Python is no longer required for v2 (TypeScript-based)
# Check Node.js version
if ! command -v node &> /dev/null; then
echo "β Node.js is not installed."
if [ "$auto_install" = true ]; then
if check_homebrew; then
echo "Attempting to install Node.js 18 or higher..."
brew install node@20
# Try to link the new Node.js version
brew link --force --overwrite node@20
if command -v node &> /dev/null; then
node_version=$(node --version | cut -c 2-)
echo "β Node.js $node_version installed successfully."
node_ok=true
else
echo "β Failed to install Node.js."
fi
fi
else
echo "Please install Node.js 18 or higher for v2."
fi
else
node_version=$(node --version | cut -c 2-)
node_major=$(echo $node_version | cut -d. -f1)
echo "π Detected Node.js version: $node_version"
if [ "$node_major" -lt 18 ]; then
echo "β Node.js 18 or higher is required for v2. Found Node.js $node_version"
if [ "$auto_install" = true ]; then
if check_homebrew; then
echo "Attempting to upgrade Node.js..."
brew upgrade node || brew install node@20
# Try to link the new Node.js version
brew link --force --overwrite node@20
node_version=$(node --version | cut -c 2-)
node_major=$(echo $node_version | cut -d. -f1)
if [ "$node_major" -ge 18 ]; then
echo "β Node.js $node_version installed successfully."
node_ok=true
else
echo "β Failed to install Node.js 18 or higher."
fi
fi
else
echo "Please upgrade Node.js to version 18 or higher."
fi
else
echo "β Node.js version is compatible."
node_ok=true
fi
fi
# First check if all dependencies are already satisfied
if [ "$git_ok" = true ] && [ "$node_ok" = true ]; then
echo ""
echo "β All dependencies are satisfied!"
echo ""
echo "π Next steps:"
echo "1. Clone the repository:"
echo " git clone https://github.com/danielbushman/mcp-quickbase.git"
echo "2. Install dependencies:"
echo " cd mcp-quickbase && npm install"
echo "3. Build the project:"
echo " npm run build"
echo "4. Configure Claude Desktop with the path to:"
echo " $(pwd)/mcp-quickbase/dist/mcp-stdio-server.js"
exit 0
else
# If not all dependencies are satisfied, offer to auto-install if not already enabled
if [ "$auto_install" = false ]; then
ask_for_auto_install
# Recursive call to the script itself, now with auto_install enabled if the user agreed
if [ "$auto_install" = true ]; then
exec $0
fi
else
# If we get here, auto-install was enabled but some dependencies still couldn't be installed
echo ""
echo "β Not all dependencies could be automatically installed."
echo "Please install the missing dependencies manually and try again."
exit 1
fi
fi