#!/usr/bin/env bash # Run homey-mcp as a LAN-reachable HTTP MCP server for remote clients (e.g., Odysseus). # Usage: ./run-lan.sh # # Environment variables (with defaults): # HOMEY_MCP_TRANSPORT - streamable-http (default) or sse # HOMEY_MCP_HOST - 0.0.0.0 (default) # HOMEY_MCP_PORT - 8080 (default) # HOMEY_MCP_AUTH_MODE - none (compatible default) or bearer # HOMEY_MCP_AUTH_TOKEN - protects REST; also MCP when auth mode is bearer set -euo pipefail cd "$(dirname "$0")" # Create virtual environment if it doesn't exist if [ ! -d ".venv" ]; then echo "Creating virtual environment..." python3 -m venv .venv fi source .venv/bin/activate # Upgrade pip and install dependencies python -m pip install --upgrade pip >/dev/null 2>&1 pip install -e . >/dev/null 2>&1 # Set transport to streamable-http (recommended) or sse export HOMEY_MCP_TRANSPORT="${HOMEY_MCP_TRANSPORT:-streamable-http}" export HOMEY_MCP_HOST="${HOMEY_MCP_HOST:-0.0.0.0}" export HOMEY_MCP_PORT="${HOMEY_MCP_PORT:-8080}" echo "Starting homey-mcp (LAN mode) on http://${HOMEY_MCP_HOST}:${HOMEY_MCP_PORT}" echo "Transport: ${HOMEY_MCP_TRANSPORT}" exec python -m homey_mcp "$@"