Bench
Bench — это нативный macOS MCP-сервер, который предоставляет ИИ-инструментам, таким как Claude Code, Cursor и Windsurf, возможность видеть подключенное USB-оборудование. Он идентифицирует устройства, находит последовательные порты и распознает популярные платы для разработчиков — чтобы ваш ИИ-ассистент знал, что находится на вашем рабочем столе.
Никаких API-ключей. Никаких драйверов. Установка одной командой.
Что он делает
22 инструмента в четырех категориях:
Обнаружение
Инструмент | Описание |
| Проверка работоспособности — возвращает статус сервера, версию, версию macOS |
| Список всех подключенных USB-устройств с указанием поставщика, типа, скорости, серийного номера |
| Подробная информация о конкретном устройстве по серийному номеру, ID расположения или имени |
| Интеллектуальная идентификация 83+ известных плат для разработчиков |
| Перечисление последовательных портов с сопоставлением USB-устройств |
| Дерево USB-концентраторов, показывающее иерархию портов и подключения |
| Полная цепочка USB-дескрипторов — интерфейсы, конечные точки, коды классов |
| Определение точного типа чипа ESP32/микроконтроллера через esptool |
Мониторинг
Инструмент | Описание |
| Обнаружение событий подключения/отключения USB между вызовами |
| Захват и сравнение снимков состояния USB-устройств |
| Запрос системных логов на наличие USB-ошибок для конкретного устройства |
| Энергопотребление устройства, бюджеты шины, обнаружение зарядки |
Управление
Инструмент | Описание |
| Безопасное размонтирование и извлечение съемных накопителей |
| Постоянные пользовательские псевдонимы для устройств |
| Сброс USB-порта для восстановления зависших устройств |
| Прошивка через esptool/dfu-util/avrdude/UF2 |
| Отправка/получение необработанных HID-отчетов |
Последовательная связь
Инструмент | Описание |
| Открытие последовательного соединения с настраиваемой скоростью передачи, битами данных, четностью |
| Чтение доступных данных из открытого последовательного соединения |
| Запись данных или команд в открытое последовательное соединение |
| Закрытие открытого последовательного соединения |
| Захват последовательного вывода в течение 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 testsBench требует Swift 6.1+ и предназначен для macOS 14+.
Лицензия
MIT
Авторы
Создано Seaynic Labs.
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate IDs, QR codes, and hashes, encode values, geolocate IPs, plus gated host diagnostics.
Developer toolkit: UUID, timestamp, unit conversion, JSON tools, and QR code (SVG). Free.
Run, build, and validate firmware on virtual hardware from your AI agent. Hardware knowledge corpus.
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables LLMs to communicate with hardware devices via serial ports. Provides tools for listing ports, opening/closing connections, reading/writing data, and controlling serial signals.8MIT
- AlicenseNot gradedqualityCmaintenanceEnables control of Digilent WaveForms instruments (oscilloscope, AWG, logic analyzer) over USB, supporting devices like Analog Discovery 2/3 and Digital Discovery.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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
- AlicenseAqualityCmaintenanceEnables 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.121MIT