start_openapi.shā¢1.82 kB
#!/bin/bash
# Proxmox MCP OpenAPI startup script
# Expose MCP server as OpenAPI REST endpoints through mcpo proxy
# Configurable deployment address
# Get host and port from environment variables or use defaults
HOST=${OPENAPI_HOST:-"localhost"}
PORT=${OPENAPI_PORT:-"8811"}
echo "š°ļø Starting Proxmox MCP OpenAPI server..."
echo ""
# Check if mcpo is installed
if ! command -v mcpo &> /dev/null; then
echo "ā mcpo not installed, installing..."
pip install mcpo
fi
# Check virtual environment
if [ ! -d ".venv" ]; then
echo "ā Virtual environment does not exist, please run installation steps first"
exit 1
fi
# Check configuration file
if [ ! -f "proxmox-config/config.json" ]; then
echo "ā Configuration file does not exist: proxmox-config/config.json"
echo "Please ensure the configuration file is properly set up"
exit 1
fi
echo "ā
Configuration file: proxmox-config/config.json"
echo "ā
mcpo proxy ready"
echo ""
echo "š Starting OpenAPI proxy server..."
echo "š Service address: http://${HOST}:${PORT}"
echo "š API documentation: http://${HOST}:${PORT}/docs"
echo "š§ OpenAPI specification: http://${HOST}:${PORT}/openapi.json"
echo "ā¤ļø Health check: http://${HOST}:${PORT}/health"
echo ""
echo "Press Ctrl+C to stop the server"
echo ""
echo "š” To use a different host/port, set environment variables:"
echo " export OPENAPI_HOST=your-host"
echo " export OPENAPI_PORT=your-port"
echo ""
# Set environment variables
export PROXMOX_MCP_CONFIG="$(pwd)/proxmox-config/config.json"
export PYTHONPATH="$(pwd)/src:${PYTHONPATH}"
# Start mcpo proxy server, bind to all interfaces on specified port
mcpo --host 0.0.0.0 --port ${PORT} -- bash -c "cd $(pwd) && source .venv/bin/activate && PYTHONPATH=\"$(pwd)/src:$PYTHONPATH\" python -m proxmox_mcp.server"