Bluetooth MCP Server
Hypijump31/bluetooth-mcp-server · 23 stars · Python · MIT
MCP server bluetooth-mcp-server for Claude AI
Install
The repo has no one-line install. Follow its README.
Files
Bluetooth MCP Server
Model Context Protocol Server for Bluetooth Device Detection
🔍 Overview
This project implements a Model Context Protocol (MCP) server that enables Claude and other AI assistants to scan and interact with Bluetooth devices in your vicinity. Built with a Test-Driven Development approach, it provides a robust, tested interface for Bluetooth operations across multiple platforms.
✨ Features
- 📡 Multi-protocol scanning: Detect both BLE and Classic Bluetooth devices
- 🔎 Flexible filtering: Filter devices by name, type, or other attributes
- 🔄 Automatic device recognition: Identify and categorize common devices (like Freebox, TVs, etc.)
- 📱 Enhanced device information: Get manufacturer info, device type, and detailed characteristics
- 🖥️ Cross-platform support: Works on Windows, macOS, and Linux
- ⚡ Platform-specific optimizations: Enhanced detection capabilities on Windows
- 🤖 MCP Integration: Seamless integration with Claude and compatible AI assistants
📋 Requirements
- Python 3.7+
- Bluetooth adapter (built-in or external)
- Admin/sudo privileges (required for some Bluetooth operations)
- Internet connection (for package installation)
🚀 Quick Start
Installation
# Clone the repository git clone https://github.com/yourusername/bluetooth-mcp-server.git cd bluetooth-mcp-server # Create and activate virtual environment python -m venv venv # On Windows venv\Scripts\activate # On macOS/Linux source venv/bin/activate # Install dependencies pip install -r requirements.txt # Configure environment variables cp .env.example .env # Edit the .env file as needed
Running the Server
# Start the Bluetooth API server python run.py # In another terminal, start the MCP server python bluetooth_mcp_server.py
Using with Claude
-
Expose your server to the internet using ngrok or deploy it to a server:
ngrok http 8000
-
Configure Claude to use your MCP server:
npx @anthropic-ai/sdk install-model-context-protocol <YOUR_SERVER_URL>
-
Ask Claude to scan for Bluetooth devices:
Could you scan for nearby Bluetooth devices?
🧪 Testing
This project follows a Test-Driven Development (TDD) approach with comprehensive test coverage:
# Run all tests pytest # Run specific test categories pytest tests/api/ # API tests pytest tests/models/ # Data model tests pytest tests/services/ # Service logic tests pytest tests/utils/ # Utility function tests
🏗️ Architecture
The project follows a modular architecture with clear separation of concerns:
bluetooth-mcp-server/
├── app/ # Main application package
│ ├── api/ # FastAPI endpoints
│ ├── core/ # Core configuration
│ ├── data/ # Static data (Bluetooth identifiers, etc.)
│ ├── models/ # Data models
│ ├── services/ # Business logic
│ └── utils/ # Utility functions
├── mcp_sdk/ # MCP integration SDK
└── tests/ # Test suites
For detailed architecture information, see architecture.md.
🔧 Troubleshooting
Bluetooth Issues
- "Access denied" errors: Run the server with admin/sudo privileges
- Adapter not detected: Ensure Bluetooth is enabled in your system settings
- No devices found: Make sure there are discoverable Bluetooth devices nearby
- Windows-specific issues: Check that Bluetooth services are active (
services.msc)
MCP Issues
- Tool not detected by Claude: Verify your MCP server URL is correct and accessible
- Execution errors: Check the server logs for detailed error information
👥 Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Write tests for your feature
- Implement your feature
- Ensure all tests pass
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgements
- FastAPI for the API framework
- Bleak for cross-platform Bluetooth functionality
- Anthropic Claude for MCP integration support
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 23
- License
- MIT
- Language
- Python
- Last push
- 2025-04-24
- Forks
- 8
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k