article
README
🚀 蓝牙 MCP 服务器
本项目实现的模型上下文协议(MCP)服务器,可让 Claude 及其他 AI 助手扫描并与周围的蓝牙设备进行交互。采用测试驱动开发构建,提供经测试的接口,支持跨平台蓝牙操作。
🚀 快速开始
安装
# 克隆仓库
git clone https://github.com/yourusername/bluetooth-mcp-server.git
cd bluetooth-mcp-server
# 创建并激活虚拟环境
python -m venv venv
# 在 Windows 上
venv\Scripts\activate
# 在 macOS/Linux 上
source venv/bin/activate
# 安装依赖项
pip install -r requirements.txt
# 配置环境变量
cp .env.example .env
# 按需编辑 .env 文件
运行服务器
# 启动蓝牙 API 服务器
python run.py
# 在另一个终端,启动 MCP 服务器
python bluetooth_mcp_server.py
与 Claude 使用
-
使用 ngrok 或部署到服务器使您的服务器暴露于互联网:
ngrok http 8000 -
配置 Claude 使用您的 MCP 服务器:
npx @anthropic-ai/sdk install-model-context-protocol <YOUR_SERVER_URL> -
让 Claude 扫描附近的蓝牙设备:
能否扫描附近的蓝牙设备?
✨ 主要特性
- 📡 多协议扫描:可检测经典蓝牙和低能耗(BLE)蓝牙设备。
- 🔎 灵活过滤:能按名称、类型或其他属性过滤设备。
- 🔄 自动设备识别:可识别并分类常见设备(如 Freebox、电视等)。
- 📱 增强的设备信息:可获取制造商信息、设备类型和详细特征。
- 🖥️ 跨平台支持:适用于 Windows、macOS 和 Linux。
- ⚡ 平台特定优化:在 Windows 上有增强检测功能。
- 🤖 MCP 集成:可与 Claude 和兼容的 AI 助手无缝集成。
📦 安装指南
先决条件
- Python 3.7+
- 蓝牙适配器(内置或外部)
- 管理员/ sudo 权限(某些蓝牙操作需要)
- 互联网连接(用于包安装)
🧪 测试
该项目采用测试驱动开发(TDD)方法,具有全面的测试覆盖:
# 运行所有测试
pytest
# 运行特定测试类别
pytest tests/api/ # API 测试
pytest tests/models/ # 数据模型测试
pytest tests/services/ # 服务逻辑测试
pytest tests/utils/ # 工具测试
📄 许可证
该项目在 MIT License 下许可 - 请参阅 LICENSE 文件获取详细信息。
🙏 感谢
- FastAPI 提供 API 框架
- Bleak 提供跨平台蓝牙功能
- Anthropic Claude 支持 MCP 集成
微信扫一扫