--- title: Installation description: Install mcbluetooth and configure permissions --- import { Tabs, TabItem, Aside } from '@astrojs/starlight/components'; ## Install mcbluetooth ```bash # Run directly without installing uvx mcbluetooth # Or install globally uv tool install mcbluetooth ``` ```bash pip install mcbluetooth ``` ```bash git clone https://github.com/yourusername/mcbluetooth cd mcbluetooth uv sync uv run mcbluetooth ``` ## Add to Claude Code ```bash # Using uvx claude mcp add mcbluetooth -- uvx mcbluetooth # From source claude mcp add mcbluetooth -- uv run --directory /path/to/mcbluetooth mcbluetooth ``` ## Configure Permissions ### BlueZ Access mcbluetooth needs access to the BlueZ D-Bus interface. Most desktop Linux distributions allow this by default. ```bash # Option 1: Add user to bluetooth group (requires re-login) sudo usermod -aG bluetooth $USER # Option 2: Verify polkit allows access (check for errors when running) uvx mcbluetooth ``` ### HCI Packet Capture (Optional) For `bt_capture_*` tools (btmon integration): ```bash # Allow btmon without sudo sudo setcap cap_net_raw+ep /usr/bin/btmon ``` ### OBEX Profiles (Optional) For file transfer, phonebook, and message access: ```bash sudo pacman -S bluez-obex ``` ```bash sudo apt install bluez-obex ``` ```bash sudo dnf install bluez-obex ``` After installing, verify with: ``` bt_obex_status ``` ## Verify Installation ### Check the Server Starts ```bash # Should show startup banner and wait for MCP connections uvx mcbluetooth ``` Expected output: ``` 🔵 mcbluetooth v0.1.0 BlueZ MCP Server - Bluetooth management for LLMs ``` ### Test with Claude Code ```bash # In Claude Code, try: bt_list_adapters ``` Should return your Bluetooth adapter(s): ```json [ { "name": "hci0", "address": "AA:BB:CC:DD:EE:FF", "powered": true, "discoverable": false, "discovering": false } ] ``` ## Troubleshooting ### "org.bluez was not provided" BlueZ daemon isn't running: ```bash # Check status systemctl status bluetooth # Start if stopped sudo systemctl start bluetooth sudo systemctl enable bluetooth ``` ### "Permission denied" on D-Bus Add user to bluetooth group: ```bash sudo usermod -aG bluetooth $USER # Log out and back in ``` ### No Bluetooth adapter found Check if adapter is detected by the kernel: ```bash # List USB devices lsusb | grep -i bluetooth # Check kernel module lsmod | grep btusb # Check dmesg dmesg | grep -i bluetooth ``` ### obexd not found Install the bluez-obex package for your distribution (see OBEX section above). ## Tested Configurations | Distribution | BlueZ | Audio | Status | |--------------|-------|-------|--------| | Arch Linux | 5.85 | PipeWire 1.4 | ✓ Full support | | Ubuntu 22.04 | 5.64 | PulseAudio | ✓ Full support | | Ubuntu 24.04 | 5.72 | PipeWire | ✓ Full support | | Fedora 39 | 5.70 | PipeWire | ✓ Full support | | Debian 12 | 5.66 | PipeWire | ✓ Full support | ## Next Steps - [Quick Start Guide](/getting-started/quick-start/) — Try your first commands - [Adapter Management](/guides/adapters/) — Control your Bluetooth hardware