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 секунд (логи загрузки, отладочный вывод) |
Возможности
Классификация устройств — автоматическая категоризация устройств как накопители, устройства ввода, концентраторы, видео, последовательные адаптеры, микроконтроллеры или отладчики
Обнаружение последовательных портов — сопоставление 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 installed
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