34 lines
1.2 KiB
Bash
34 lines
1.2 KiB
Bash
#!/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 "$@" |