Skip to main content
Glama

Hostaway MCP Server

deploy_with_password.exp.template3.06 kB
#!/usr/bin/expect -f # Template for deployment script - Copy to deploy_with_password.exp and fill in values set timeout 300 set password {YOUR_SSH_PASSWORD_HERE} set host "root@YOUR_SERVER_IP" # Test SSH connection spawn ssh -o StrictHostKeyChecking=no $host "echo 'SSH connection successful'" expect { "password:" { send "$password\r" expect eof } timeout { puts "Connection timeout" exit 1 } } puts "\n=== Syncing files to VPS ===\n" # Sync files using rsync spawn rsync -avz --progress --exclude='.git' --exclude='.venv' --exclude='__pycache__' --exclude='*.pyc' --exclude='.pytest_cache' --exclude='logs/' --exclude='.env.local' /Users/darrenmorgan/AI_Projects/hostaway-mcp/ $host:/opt/hostaway-mcp/ expect { "password:" { send "$password\r" expect eof } timeout { puts "Rsync timeout" exit 1 } } puts "\n=== Installing Docker on VPS ===\n" # Install Docker spawn ssh -o StrictHostKeyChecking=no $host " if ! command -v docker &> /dev/null; then apt-get update && curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && apt-get install -y docker-compose-plugin && rm get-docker.sh else echo 'Docker already installed' fi docker --version docker compose version " expect { "password:" { send "$password\r" expect eof } timeout { puts "Docker installation timeout" exit 1 } } puts "\n=== Creating environment file ===\n" # Create .env file (template only - user must update with real credentials) spawn ssh -o StrictHostKeyChecking=no $host " cd /opt/hostaway-mcp if \[ ! -f .env \]; then cat > .env << 'EOF' HOSTAWAY_ACCOUNT_ID=your_account_id_here HOSTAWAY_SECRET_KEY=your_secret_key_here HOSTAWAY_API_BASE_URL=https://api.hostaway.com/v1 LOG_LEVEL=INFO ENVIRONMENT=production RATE_LIMIT_IP=15 RATE_LIMIT_ACCOUNT=20 MAX_CONCURRENT_REQUESTS=100 EOF chmod 600 .env echo '.env file created - YOU MUST UPDATE WITH YOUR HOSTAWAY CREDENTIALS' else echo '.env file already exists' fi " expect { "password:" { send "$password\r" expect eof } timeout { puts "Environment setup timeout" exit 1 } } puts "\n=== Deploying application ===\n" # Deploy application spawn ssh -o StrictHostKeyChecking=no $host " cd /opt/hostaway-mcp docker compose -f docker-compose.prod.yml down 2>/dev/null || true docker compose -f docker-compose.prod.yml up -d --build sleep 10 docker compose -f docker-compose.prod.yml ps docker compose -f docker-compose.prod.yml logs --tail=50 " expect { "password:" { send "$password\r" expect eof } timeout { puts "Deployment timeout" exit 1 } } puts "\n=== Deployment Complete ===\n" puts "NEXT STEPS:" puts "1. Update .env with production credentials: ssh $host 'nano /opt/hostaway-mcp/.env'" puts "2. Restart application: ssh $host 'cd /opt/hostaway-mcp && docker compose -f docker-compose.prod.yml restart'" puts "3. CHANGE ROOT PASSWORD for security"

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/darrentmorgan/hostaway-mcp'

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