Skip to main content
Glama
seayniclabs

Bench

by seayniclabs

Bench 是一款原生的 macOS MCP 服务器,它让 Claude Code、Cursor 和 Windsurf 等 AI 工具能够识别已连接的 USB 硬件。它可以识别设备、查找串口并识别常见的创客开发板——让您的 AI 助手了解您的工作台上有什么。

无需 API 密钥。无需驱动程序。一条命令即可安装。

功能概览

涵盖四个类别的 22 个工具:

发现

工具

描述

ping

健康检查 — 返回服务器状态、版本、macOS 版本

list_usb_devices

列出所有已连接的 USB 设备,包括供应商、类型、速度、序列号

get_device_info

通过序列号、位置 ID 或名称获取特定设备的详细信息

identify_device

智能识别 83 种以上的已知创客/开发板

list_serial_ports

枚举串口并匹配对应的 USB 设备

hub_topology

USB 集线器树状视图,显示端口层级和连接情况

device_descriptors

完整的 USB 描述符链 — 接口、端点、类代码

chip_detect

通过 esptool 检测 ESP32/微控制器的确切芯片类型

监控

工具

描述

monitor_events

检测调用期间的 USB 连接/断开事件

snapshot_state

捕获并对比 USB 设备状态快照

diagnose_device

查询系统日志以获取特定设备的 USB 错误

power_info

每个设备的功耗、总线预算、充电检测

管理

工具

描述

eject_device

安全卸载并弹出可移动存储设备

tag_device

为设备设置持久化的用户自定义别名

port_reset

重置 USB 端口以恢复死机的设备

flash_firmware

通过 esptool/dfu-util/avrdude/UF2 烧录固件

hid_send

发送/接收原始 HID 报告

串口通信

工具

描述

serial_open

打开具有可配置波特率、数据位、校验位的串口连接

serial_read

从打开的串口连接中读取可用数据

serial_write

向打开的串口连接写入数据或命令

serial_close

关闭打开的串口连接

serial_monitor

捕获 N 秒的串口输出(启动日志、调试输出)

特性

  • 设备分类 — 自动将设备归类为存储、输入、集线器、视频、串口适配器、微控制器或调试器

  • 串口检测 — 将 USB 设备映射到其 /dev/cu.* 串口(创客最常问的问题)

  • 83 种以上已知开发板 — 识别 Arduino、Raspberry Pi、ESP32、Adafruit、SparkFun、Teensy、STM32 以及常见的 USB 转串口芯片

  • 存储信息 — USB 驱动器的挂载点、容量和剩余空间

  • USB 监控 — 事件跟踪、状态快照、诊断日志查询和电源分析

  • 固件烧录 — 直接烧录 ESP32、STM32、Arduino AVR 和 RP2040 开发板

  • HID 交互 — 与 Stream Deck、宏键盘和自定义 HID 设备发送及接收报告

  • 串口通信 — 通过可配置的波特率、数据位、校验位和停止位打开、读取、写入和监控串口

要求

  • macOS 14+ (Sonoma 或更高版本),运行于 Apple Silicon

  • 支持 MCP 的 AI 工具(Claude Code、Cursor、Windsurf 等)

  • 从源码构建:Xcode 16.3+ / Swift 6.1+

安装

Homebrew (推荐)

brew install seayniclabs/tap/bench

从源码构建

git clone https://github.com/seayniclabs/bench.git
cd bench
swift build -c release
codesign --force --sign - --entitlements Sources/Bench/Bench.entitlements .build/release/Bench

二进制文件位于 .build/release/Bench

添加到 Claude Code

claude mcp add bench -- $(which bench)

或者手动添加到 ~/.claude.json

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

使用方法

连接后,直接与您的 AI 工具对话即可:

  • “连接了哪些 USB 设备?”

  • “我的 Arduino 在哪个端口?”

  • “识别 /dev/cu.usbserial-2120 上的设备”

  • “弹出 Samsung T7”

  • “显示所有存储设备”

  • “以 9600 波特率打开到 /dev/cu.usbserial-2120 的串口连接”

  • “监控我的 ESP32 串口输出 10 秒”

工作原理

Bench 使用 Apple 的 IOKit 框架在 macOS 上原生枚举 USB 设备。它通过串口检测(扫描 /dev/cu.*)、存储信息(diskutil)以及内置的已知创客开发板数据库来丰富结果。它通过 Model Context Protocol (JSON-RPC) 使用 stdio 与 AI 工具进行通信。

AI Tool  --stdio/JSON-RPC-->  Bench  --IOKit-->  USB Device Tree
                                     --diskutil-->  Storage Info
                                     --/dev/cu.*-->  Serial Ports
                                     --DeviceDB-->  Board Recognition

无需特殊权限。IOKit USB 枚举无需 CLI 二进制文件的授权即可工作。

构建

swift build             # debug build
swift build -c release  # release build
swift test              # run tests

Bench 需要 Swift 6.1+ 并针对 macOS 14+ 进行编译。

许可证

MIT

致谢

Seaynic Labs 构建。

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seayniclabs/bench'

If you have feedback or need assistance with the MCP directory API, please join our Discord server