Skip to main content
Glama

Bench — это нативный macOS MCP-сервер, который предоставляет ИИ-инструментам, таким как Claude Code, Cursor и Windsurf, возможность видеть подключенное USB-оборудование. Он идентифицирует устройства, находит последовательные порты и распознает популярные платы для разработчиков — чтобы ваш ИИ-ассистент знал, что находится на вашем рабочем столе.

Никаких 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

Определение точного типа чипа ESP32/микроконтроллера через esptool

Мониторинг

Инструмент

Описание

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 секунд (логи загрузки, отладочный вывод)

Related MCP server: dwf-mcp-server

Возможности

  • Классификация устройств — автоматическая категоризация устройств как накопители, устройства ввода, концентраторы, видео, последовательные адаптеры, микроконтроллеры или отладчики

  • Обнаружение последовательных портов — сопоставление USB-устройств с их последовательными портами /dev/cu.* (самый частый вопрос мейкеров)

  • 83+ известных плат — распознавание Arduino, Raspberry Pi, ESP32, Adafruit, SparkFun, Teensy, STM32 и распространенных USB-serial чипов

  • Информация о накопителях — точки монтирования, емкость и свободное место на USB-дисках

  • USB-мониторинг — отслеживание событий, снимки состояния, запросы диагностических логов и анализ питания

  • Прошивка — прямая прошивка плат ESP32, STM32, Arduino AVR и RP2040

  • HID-взаимодействие — отправка и получение отчетов от Stream Deck, макро-падов и пользовательских HID-устройств

  • Последовательная связь — открытие, чтение, запись и мониторинг последовательных портов с настраиваемой скоростью, битами данных, четностью и стоповыми битами

Требования

  • macOS 14+ (Sonoma или новее) на Apple Silicon

  • MCP-совместимый ИИ-инструмент (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": []
    }
  }
}

Использование

После подключения просто поговорите со своим ИИ-инструментом:

  • "Какие USB-устройства подключены?"

  • "На каком порту находится мой Arduino?"

  • "Идентифицируй устройство на /dev/cu.usbserial-2120"

  • "Извлеки Samsung T7"

  • "Покажи мне все устройства хранения"

  • "Открой последовательное соединение с /dev/cu.usbserial-2120 на скорости 9600 бод"

  • "Мониторь последовательный вывод с моего ESP32 в течение 10 секунд"

Как это работает

Bench использует фреймворк Apple IOKit для нативного перечисления USB-устройств в macOS. Он дополняет результаты обнаружением последовательных портов (сканирование /dev/cu.*), информацией о накопителях (diskutil) и встроенной базой данных известных плат для разработчиков. Он взаимодействует с ИИ-инструментами через stdio, используя Model Context Protocol (JSON-RPC).

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

Никаких специальных разрешений не требуется. Перечисление USB через IOKit работает без прав доступа для CLI-бинарного файла.

Сборка

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

Bench требует Swift 6.1+ и предназначен для macOS 14+.

Лицензия

MIT

Авторы

Создано Seaynic Labs.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables LLMs to communicate with hardware devices via serial ports. Provides tools for listing ports, opening/closing connections, reading/writing data, and controlling serial signals.
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables control of Digilent WaveForms instruments (oscilloscope, AWG, logic analyzer) over USB, supporting devices like Analog Discovery 2/3 and Digital Discovery.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables LLM agents to interact directly with Qualcomm EDL devices over USB, including device enumeration, Sahara protocol handshake, SoC identity queries, Firehose programmer upload, command-mode execution, and device reset.
    GPL 3.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to communicate with serial devices such as Arduinos, ESP32s, USB-UART adapters, and RS-232 instruments by discovering ports, opening connections, sending commands, reading responses, and controlling reset lines.
    12
    1
    MIT