Allows scanning and detecting nearby Bluetooth devices, with the ability to filter devices by name
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.
Related MCP server: API Tester MCP Server
โจ 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
Running the Server
Using with Claude
Expose your server to the internet using ngrok or deploy it to a server:
ngrok http 8000Configure 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:
๐๏ธ Architecture
The project follows a modular architecture with clear separation of concerns:
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