能力标签
蓝牙MCP工具
🔌
MCP工具

蓝牙MCP工具

基于 Swift · 让 AI 助手直接操作你的系统与工具
英文名:blew
⭐ 6 Stars 🍴 1 Forks 💻 Swift 📄 BSD-2-Clause 🏷 AI 7.5分
7.5AI 综合评分
blebluetoothclimcpswift
✦ AI Skill Hub 推荐

经 AI Skill Hub 精选评估,蓝牙MCP工具 获评「推荐使用」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。

📚 深度解析

蓝牙MCP工具 是一款基于 MCP(Model Context Protocol)标准协议的 AI 工具扩展。MCP 协议由 Anthropic 开发并开源,旨在建立 AI 模型与外部工具之间的标准化通信接口,目前已被 Claude Desktop、Claude Code、Cursor 等主流 AI 工具采纳。

通过安装 蓝牙MCP工具,你的 AI 助手将获得额外的工具调用能力,可以用自然语言直接操控该工具的功能,无需学习复杂的命令行语法。MCP 工具的核心价值在于"一次配置,永久增强"——配置完成后,每次与 AI 对话时都可以无缝调用这些工具。

在技术实现上,MCP 工具通过标准的 JSON-RPC 协议与 AI 客户端通信,工具的功能以"工具列表"的形式暴露给 AI 模型,AI 可以按需调用。蓝牙MCP工具 提供了结构化的工具调用接口,使 AI 模型能够精确地理解和使用每个功能点,显著降低 AI 在工具使用上的错误率。

与传统的 API 集成相比,MCP 工具的优势在于无需编写代码——用户只需在配置文件中添加几行 JSON,即可让 AI 获得全新能力。AI Skill Hub 将 蓝牙MCP工具 评为 AI 评分 7.5 分,属于同类工具中的优质选择。

📋 工具概览

蓝牙MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。

GitHub Stars
⭐ 6
开发语言
Swift
支持平台
macOS / iOS
维护状态
轻量级项目,按需更新
开源协议
BSD-2-Clause
AI 综合评分
7.5 分
工具类型
MCP工具
Forks
1

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

蓝牙MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。

📌 核心特色
  • 通过标准 MCP 协议与 Claude、Cursor 等主流 AI 客户端深度集成
  • 提供结构化工具调用接口,显著降低 AI 集成复杂度
  • 支持 Claude Desktop 和 Claude Code 无缝接入,开箱即用
  • 可与其他 MCP 工具组合叠加,构建完整 AI 工作站
  • 轻量无侵入设计,不影响现有系统架构
🎯 主要使用场景
  • 在 Claude Desktop 对话中直接调用本地工具,实现 AI 与系统的深度联动
  • 通过自然语言驱动复杂的多步骤自动化任务,代替繁琐手动操作
  • 将多个 MCP 工具组合使用,构建个人专属 AI 工作站
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/stass/blew

# 方式二:手动配置 claude_desktop_config.json
{
  "mcpServers": {
    "--mcp--": {
      "command": "npx",
      "args": ["-y", "blew"]
    }
  }
}

# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
📋 安装步骤说明
  1. 确认已安装 Node.js(v18 或以上版本)
  2. 打开 Claude Desktop 或 Claude Code 的 MCP 配置文件
  3. 按「交给 Agent 安装 → Claude Desktop」标签中的 JSON 配置填入 mcpServers 字段
  4. 保存配置文件并重启 Claude 客户端
  5. 重启后,在对话中即可使用本工具
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 安装后在 Claude 对话中直接使用
# 示例:
用户: 请帮我用 蓝牙MCP工具 执行以下任务...
Claude: [自动调用 蓝牙MCP工具 MCP 工具处理请求]

# 查看可用工具列表
# 在 Claude 中输入:"列出所有可用的 MCP 工具"
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
// claude_desktop_config.json 配置示例
{
  "mcpServers": {
    "__mcp__": {
      "command": "npx",
      "args": ["-y", "blew"],
      "env": {
        // "API_KEY": "your-api-key-here"
      }
    }
  }
}

// 保存后重启 Claude Desktop 生效
📑 README 深度解析 真实文档 完整度 59/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

Requirements

  • macOS 14 (Sonoma) or later
  • Xcode 16 or later (Swift 6.0+ toolchain)

The MCP server (the blew mcp subcommand) depends on the MCP swift-sdk, which requires the Swift 6.1 toolchain (Xcode 16.3+). To keep blew building on older toolchains, MCP support is compiled in conditionally: when built with Swift 6.1 or newer the mcp subcommand is available; when built with Swift 6.0.x (Xcode 16.0–16.2) the MCP server is omitted and every other command works unchanged. No flags are needed — the detection happens automatically in Package.swift.

Installation

Build from source

git clone --recurse-submodules https://github.com/stass/blew.git
swift build -c release
cp .build/release/blew /usr/local/bin/blew

--recurse-submodules is required — the Bluetooth SIG name and characteristic databases are included as git submodules under Vendor/. The Swift build generates all data files automatically from the submodule data.

On first run, macOS will prompt for Bluetooth permission. Grant it in System Settings → Privacy & Security → Bluetooth.

---

Quick start

```sh

Example structured output

A ble_scan call returns:

{
  "type": "devices",
  "devices": [
    {
      "id": "A1B2C3D4-...",
      "name": "Heart Rate Sensor",
      "rssi": -55,
      "serviceUUIDs": ["180D"],
      "serviceDisplayNames": ["Heart Rate"]
    }
  ]
}

A ble_read call returns:

{
  "type": "readValue",
  "readValue": {
    "char": "2A19",
    "name": "Battery Level",
    "value": "85",
    "format": "uint8"
  }
}

---

Global options

These options apply to all commands and must be placed before the subcommand name:

% blew [global-options] <command> [command-options]
FlagDescription
-v, --verboseIncrease log verbosity. Repeatable: -vv for debug-level detail.
-o, --out <format>Output format for results: text (default, human-readable) or kv (key=value, one record per line — easier to parse).
-t, --timeout <sec>Timeout in seconds for BLE operations.
-h, --helpShow help and exit.
--versionShow version and exit.

Device targeting options

Commands that connect to a device (scan, connect, gatt, read, write, sub, periph clone) accept these options to identify the target. Pass them after the subcommand name.

Use --id to target an explicit device, or combine selectors to let blew find a match automatically.

FlagDescription
-i, --id <device-id>Target a specific device by its identifier.
-n, --name <substring>Filter by device name (substring match).
-S, --service <uuid>Filter by advertised service UUID. Repeatable.
-m, --manufacturer <id>Filter by manufacturer ID.
-R, --rssi-min <dBm>Minimum RSSI threshold (e.g. -R -70).
-p, --pick <strategy>How to pick when multiple devices match: strongest (default, highest RSSI), first (first seen), only (error if multiple match).

---

Full GATT server from a config file

% blew periph adv --config device.json

Config file with name override

% blew periph adv -n "Override Name" --config device.json


Example config files are provided in the [`Examples/`](Examples/) directory:

| File | Description |
|------|-------------|
| `health-thermometer.json` | Health Thermometer (`1809`) — indicate temperature measurement (2A1C), read temperature type (2A1D), read/write/notify measurement interval (2A21) |
| `environmental-sensing.json` | Environmental Sensing (`181A`) — read/notify temperature (2A6E), humidity (2A6F), and pressure (2A6D) |
| `blood-pressure.json` | Blood Pressure (`1810`) — indicate measurement (2A35), read feature flags (2A49) |
| `custom-sensor.json` | Fully custom vendor service with 128-bit UUIDs — read/notify value, read/write config register, write-only command endpoint |

**Output (text mode):**
Advertising "My Sensor" [180F (Battery Service)] Service 180F (Battery Service) +-- 2A19 (Battery Level) [read, notify]

[12:34:56] central A1B2C3D4 connected [12:34:56] read 2A19 (Battery Level) by A1B2C3D4 [12:34:57] subscribe 2A19 (Battery Level) by A1B2C3D4 [12:35:01] write 2A19 (Battery Level) by A1B2C3D4 <- 2a ^C Stopped advertising.


**Output (kv mode):**
event=connected ts=12:34:56 central=A1B2C3D4-... event=read ts=12:34:56 central=A1B2C3D4-... char=2A19 event=subscribe ts=12:34:57 central=A1B2C3D4-... char=2A19 event=write ts=12:35:01 central=A1B2C3D4-... char=2A19 value=2a

#### `periph clone` — Clone a real device
blew periph clone [-n <name>] [-i <id>] [--save <file>]

Connects to a target device, discovers its full GATT tree, reads all readable characteristic values, disconnects, then starts advertising as a clone.

| Flag | Description |
|------|-------------|
| `-n, --name` | Target device name filter. |
| `-i, --id` | Target device identifier. |
| `-o, --save <file>` | Save the cloned GATT structure to a JSON config file for later reuse. |

**Clone scope:**
- Cloned: advertised name, service UUIDs, full GATT structure, initial characteristic values (for readable characteristics).
- Not cloned: manufacturer data, service data in ADV payload, ADV timing.

**Examples:**
sh % blew periph clone -n "Heart Rate Monitor" % blew periph clone -i F3C2A1B0-... --save hr-monitor.json

#### REPL-only periph commands

In REPL and `exec` mode, `periph adv` and `periph clone` run in two phases. The startup phase (configure + start advertising) is synchronous and confirms the peripheral came up. Once advertising is confirmed, the event loop runs as a background task and the prompt is returned immediately. This makes `periph stop`, `periph set`, and `periph notify` usable in the same session:

| Command | Description |
|---------|-------------|
| `periph stop` | Stop advertising and cancel the background event task. |
| `periph set [-f <fmt>] <char> <val>` | Update a characteristic's stored value. |
| `periph notify [-f <fmt>] <char> <val>` | Update value and push a notification to all subscribers. |
| `periph status` | Show advertising state, service/characteristic counts, subscriber count. |
blew> periph adv --config device.json Advertising "My Device" [180F] Advertising in background. Use 'periph stop' to stop. blew> periph notify -f uint8 2A19 42 blew> periph stop Stopped advertising.

In `exec` mode the same non-blocking behaviour applies, enabling scripts like:
sh % blew exec "periph adv -n 'My Device' --config device.json; periph set 2A19 ff; periph notify 2A19 ff" ```

---

Agent configuration

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "blew": {
      "command": "/path/to/blew",
      "args": ["mcp"]
    }
  }
}

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "blew": {
      "command": "/path/to/blew",
      "args": ["mcp"]
    }
  }
}

Find a device in a crowded environment

% blew scan -n "Sensor" -S 180F -R -65 -t 10

blew -- BLE scanner and CLI tool for Mac OS X

Stop fumbling with GUI apps to debug Bluetooth Low Energy devices. blew gives you full BLE control from the macOS command line: scan the airwaves, drill into any device's GATT tree, read and write characteristics, stream live notifications, and even spin up a virtual peripheral that other devices can connect to.

<img src="img/scan.avif" alt="BLE scan" width="100%">

<img src="img/gatttree.avif" alt="GATT tree" width="49%"> <img src="img/uart.avif" alt="UART" width="49%">

stdout vs stderr

StreamContent
stdoutCommand results — tables, values, notification lines
stderrOperational messages (errors, verbose info, debug)
🎯 aiskill88 AI 点评 A 级 2026-05-28

高质量的开源蓝牙MCP工具

📚 实用指南(长尾问题)
适合谁
  • 需要让 Claude / Cursor 操作本地工具的 AI 工程师
  • 构建多智能体协作系统的 Agent 开发者
最佳实践
  • 配置 MCP 服务器时建议使用 stdio 传输 + JSON-RPC,避免暴露公网
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • MCP 配置路径拼错或权限不足,重启 Claude Desktop 才生效
部署方案
  • CLI:直接 npm install -g / pip install,命令行调用
  • 云端托管:可放在 Vercel / Railway / Fly.io 等 PaaS 平台
相关搜索
blew 中文教程blew 安装报错怎么办blew MCP 配置blew Agent 工作流blew 与同类工具对比blew 最佳实践blew 适合谁用

⚡ 核心功能

👥 适合谁
  • 需要让 Claude / Cursor 操作本地工具的 AI 工程师
  • 构建多智能体协作系统的 Agent 开发者
⭐ 最佳实践
  • 配置 MCP 服务器时建议使用 stdio 传输 + JSON-RPC,避免暴露公网
  • Agent 任务先做 dry-run 验证工具调用链,再开启自主执行
⚠️ 常见错误
  • API key 直接提交到 git 仓库(请用 .env 并加入 .gitignore)
  • MCP 配置路径拼错或权限不足,重启 Claude Desktop 才生效

👥 适合人群

Claude Desktop / Claude Code 用户AI 工具开发者需要扩展 AI 能力的专业人士自动化工程师

🎯 使用场景

  • 在 Claude Desktop 对话中直接调用本地工具,实现 AI 与系统的深度联动
  • 通过自然语言驱动复杂的多步骤自动化任务,代替繁琐手动操作
  • 将多个 MCP 工具组合使用,构建个人专属 AI 工作站

⚖️ 优点与不足

✅ 优点
  • +标准化 MCP 协议,生态互联性强
  • +与 Claude 官方生态无缝对接
  • +即插即用,配置简单快捷
⚠️ 不足
  • 依赖 Claude 客户端,非 Claude 用户无法使用
  • MCP 协议仍在持续演进,接口可能变更
  • 需要一定的配置步骤
⚠️ 使用须知

该工具使用 BSD-2-Clause 协议,商用场景请仔细阅读协议条款,必要时咨询法律意见。

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ BSD 2-Clause — 极度宽松,几乎可以任意使用,仅需保留版权声明。

🔗 相关工具推荐

📚 相关教程推荐
📰 相关 AI 新闻
🍿 AI 圈相关吃瓜
🗺️ 相关解决方案
🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

blew 是一款Swift开发的AI辅助工具。开源MCP工具:Mac OS X command line BLE tool and MCP server。⭐6 · Swift 主要应用场景包括:蓝牙设备管理和调试。
💡 AI Skill Hub 点评

AI Skill Hub 点评:蓝牙MCP工具 的核心功能完整,质量良好。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ BSD-2-Clause 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 蓝牙MCP工具
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 blew
原始描述 开源MCP工具:Mac OS X command line BLE tool and MCP server。⭐6 · Swift
Topics blebluetoothclimcpswift
GitHub https://github.com/stass/blew
License BSD-2-Clause
语言 Swift
🔗 原始来源
🐙 GitHub 仓库  https://github.com/stass/blew

收录时间:2026-05-28 · 更新时间:2026-05-30 · License:BSD-2-Clause · AI Skill Hub 不对第三方内容的准确性作法律背书。