Skip to main content
Glama

Bond MCP Server

by madorn
README.md3.77 kB
# Bond MCP Server A Model Context Protocol (MCP) server that provides tools for controlling [Bond Bridge](https://bondhome.io/product/bond-bridge/) smart home devices. This server enables AI assistants like Claude to interact with ceiling fans, fireplaces, shades, lights, and other RF-controlled devices through Bond Bridge hubs. ## Features - **Device Management**: List and get information about all connected Bond devices - **Fan Control**: Control ceiling fan speed, direction, and power state - **Shade Control**: Open, close, and set positions for motorized shades - **Light Control**: Control dimmable lights and brightness levels - **Custom Actions**: Send any Bond API action to devices - **Bridge Information**: Get Bond Bridge status and configuration ## Quick Start ### Prerequisites - Bond Bridge on your local network - Bond API token (obtained from Bond Home app) ### Getting Your Bond Token 1. Open the Bond Home app on your mobile device 2. Go to Settings → Bond Bridge → Advanced → API 3. Copy the Local Token (not the Cloud Token) ### Add to your MCP settings: ```json { "mcpServers": { "bond": { "command": "podman", "args": [ "run", "-i", "--rm", "-e", "BOND_TOKEN=your_token_here", "-e", "BOND_HOST=192.168.1.100", "quay.io/madorn/bond-mcp-server:latest" ] } } } ``` ## Installation 1. **Create and activate virtual environment:** ```bash python3 -m venv bond-mcp-env source bond-mcp-env/bin/activate # On Windows: bond-mcp-env\Scripts\activate ``` 2. **Install dependencies:** ```bash pip install -r requirements.txt ``` 3. **Configure environment:** ```bash cp .env.example .env # Edit .env with your Bond Bridge settings ``` 4. **Run the server:** ```bash python -m bond_mcp.server ``` ### Configuration Create a `.env` file with your Bond Bridge configuration: ```env # Required: Bond Bridge settings BOND_TOKEN=your_bond_api_token_here BOND_HOST=192.168.1.100 # Optional: Connection settings BOND_TIMEOUT=10.0 BOND_MAX_RETRIES=3 BOND_RETRY_DELAY=1.0 # Optional: Logging LOG_LEVEL=INFO ``` ## Available Tools ### Device Management - `list_devices()` - List all Bond devices - `get_device_info(device_id)` - Get detailed device information - `get_device_state(device_id)` - Get current device state - `get_bridge_info()` - Get Bond Bridge information ### Device Control - `toggle_device_power(device_id)` - Toggle device on/off - `send_custom_action(device_id, action, argument?)` - Send custom Bond action ### Fan Control - `set_fan_speed(device_id, speed)` - Set fan speed (0-8) - `set_fan_direction(device_id, direction)` - Set direction ("forward"/"reverse") ### Shade Control - `control_shades(device_id, action, position?)` - Control shades - Actions: "open", "close", "set_position" - Position: 0-100 (for set_position action) ### Light Control - `set_light_brightness(device_id, brightness)` - Set brightness (0-100) ### Bond API Reference This server uses the Bond Local API v2: - Base URL: `http://{bridge_ip}/v2/` - Authentication: Bearer token in Authorization header - Docs: [Bond Local API Documentation](https://docs-local.appbond.com) ## Troubleshooting ### Common Issues 1. **Connection refused**: Ensure Bond Bridge IP is correct and accessible 2. **Authentication failed**: Verify Bond token is correct (use Local Token, not Cloud Token) 3. **Device not found**: Check device ID exists using `list_devices()` 4. **Action not supported**: Verify device supports the action using `get_device_info()` ### Debug Logging Enable debug logging by setting `LOG_LEVEL=DEBUG` in your environment. ## License This project is licensed under the MIT License. See the LICENSE file for details.

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/madorn/bond-mcp-server'

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