Skip to main content
Glama
postinstall5.65 kB
#!/bin/bash # Post-install script for Foundry MCP Server on macOS # Runs after PKG installation to configure Claude Desktop and detect Foundry/ComfyUI set -e echo "Configuring Foundry MCP Server..." # Get the current user (the one who ran the installer) CURRENT_USER=$(stat -f '%Su' /dev/console) USER_HOME=$(eval echo ~$CURRENT_USER) # Paths CLAUDE_CONFIG_DIR="$USER_HOME/Library/Application Support/Claude" CLAUDE_CONFIG="$CLAUDE_CONFIG_DIR/claude_desktop_config.json" APP_BUNDLE="/Applications/FoundryMCPServer.app" MCP_SERVER_BUNDLE="$APP_BUNDLE/Contents/Resources/foundry-mcp-server/backend.bundle.cjs" MCP_APP_SUPPORT="$USER_HOME/Library/Application Support/FoundryMCPServer" echo "User: $CURRENT_USER" echo "Home: $USER_HOME" # Create MCP Server app support directory for logs if [ ! -d "$MCP_APP_SUPPORT" ]; then mkdir -p "$MCP_APP_SUPPORT" chown "$CURRENT_USER:staff" "$MCP_APP_SUPPORT" echo "✅ Created MCP Server app support directory" fi # Create Claude config directory if it doesn't exist if [ ! -d "$CLAUDE_CONFIG_DIR" ]; then mkdir -p "$CLAUDE_CONFIG_DIR" chown "$CURRENT_USER:staff" "$CLAUDE_CONFIG_DIR" fi # Configure Claude Desktop MCP server if [ -f "$CLAUDE_CONFIG" ]; then echo "Claude Desktop config already exists, backing up..." cp "$CLAUDE_CONFIG" "$CLAUDE_CONFIG.backup.$(date +%s)" fi # Create or update Claude config cat > "$CLAUDE_CONFIG" << EOF { "mcpServers": { "foundry-vtt-mcp": { "command": "node", "args": [ "$MCP_SERVER_BUNDLE" ], "env": { "FOUNDRY_HOST": "localhost", "FOUNDRY_PORT": "31415" } } } } EOF chown "$CURRENT_USER:staff" "$CLAUDE_CONFIG" chmod 644 "$CLAUDE_CONFIG" echo "✅ Claude Desktop configured" # Detect ComfyUI installation COMFYUI_PATHS=( "$USER_HOME/Library/Application Support/ComfyUI" "/Applications/ComfyUI.app/Contents/Resources/ComfyUI" "$USER_HOME/ComfyUI" "/opt/ComfyUI" "/usr/local/ComfyUI" ) COMFYUI_FOUND="" for COMFYUI_PATH in "${COMFYUI_PATHS[@]}"; do if [ -f "$COMFYUI_PATH/main.py" ]; then COMFYUI_FOUND="$COMFYUI_PATH" echo "✅ ComfyUI detected at: $COMFYUI_PATH" break fi done if [ -z "$COMFYUI_FOUND" ]; then echo "⚠️ ComfyUI not found" echo "" echo "To enable AI map generation, download ComfyUI Desktop from:" echo "https://www.comfy.org/download" echo "" echo "After installing ComfyUI, the MCP server will automatically detect it." fi # Detect Foundry VTT installation FOUNDRY_PATHS=( "$USER_HOME/Library/Application Support/FoundryVTT" "$USER_HOME/FoundryVTT" "/Applications/FoundryVTT" ) FOUNDRY_FOUND="" for FOUNDRY_PATH in "${FOUNDRY_PATHS[@]}"; do if [ -d "$FOUNDRY_PATH/Data/modules" ]; then FOUNDRY_FOUND="$FOUNDRY_PATH/Data/modules" echo "✅ Foundry VTT detected at: $FOUNDRY_PATH" # Check if module is already installed MODULE_PATH="$FOUNDRY_FOUND/foundry-mcp-bridge" if [ ! -d "$MODULE_PATH" ]; then echo "Installing Foundry module..." # Module will be auto-installed by MCP server on first connection echo "Module will be auto-installed on first connection to Foundry VTT" else echo "✅ Foundry module already installed" fi break fi done if [ -z "$FOUNDRY_FOUND" ]; then echo "ℹ️ Foundry VTT not detected" echo "The Foundry module will be auto-installed when you first connect." fi echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "📦 Installing ComfyUI (this will take 20-30 minutes)..." echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "This will download and install:" echo " - Python 3.11 (system installation)" echo " - ComfyUI headless server" echo " - PyTorch with MPS support (Apple Silicon GPU)" echo " - D&D Battlemaps SDXL Model (6.5GB)" echo " - SDXL VAE (335MB)" echo " Total: ~8GB download + 15GB installed" echo "" # Run ComfyUI setup script as the current user SETUP_SCRIPT="$APP_BUNDLE/Contents/Resources/setup-comfyui-headless.js" if [ -f "$SETUP_SCRIPT" ]; then # Check if node is available if command -v node >/dev/null 2>&1; then echo "Running ComfyUI setup..." # Run as the user who installed, not as root su "$CURRENT_USER" -c "node '$SETUP_SCRIPT'" || { echo "⚠️ ComfyUI setup encountered an error" echo "You can run the setup manually later:" echo " cd /Applications/FoundryMCPServer.app/Contents/Resources" echo " node setup-comfyui-headless.js" echo "" echo "Installation log: $USER_HOME/foundry-mcp-install.log" } else echo "⚠️ Node.js not found - cannot run ComfyUI setup automatically" echo "Please install Node.js from https://nodejs.org/" echo "Then run: node '$SETUP_SCRIPT'" fi else echo "⚠️ Setup script not found at: $SETUP_SCRIPT" fi echo "" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "🎉 Installation Complete!" echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" echo "" echo "Next steps:" echo "1. Restart Claude Desktop" echo "2. Launch Foundry VTT" echo "3. Enable 'Foundry MCP Bridge' in Module Management" echo "" echo "Optional:" echo "- Check settings in Foundry MCP Bridge module" echo "- View install log: $USER_HOME/foundry-mcp-install.log" echo "" echo "Documentation: https://github.com/adambdooley/foundry-vtt-mcp" echo "" exit 0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adambdooley/foundry-vtt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server