Bench
Bench es un servidor MCP nativo para macOS que proporciona a herramientas de IA como Claude Code, Cursor y Windsurf visibilidad sobre el hardware USB conectado. Identifica dispositivos, encuentra puertos serie y reconoce placas de desarrollo comunes, para que tu asistente de IA sepa qué hay en tu mesa de trabajo.
Sin claves API. Sin controladores. Un solo comando para instalar.
Qué hace
22 herramientas en cuatro categorías:
Descubrimiento
Herramienta | Descripción |
| Comprobación de estado: devuelve el estado del servidor, la versión y la versión de macOS |
| Lista todos los dispositivos USB conectados con proveedor, tipo, velocidad y número de serie |
| Información detallada sobre un dispositivo específico por número de serie, ID de ubicación o nombre |
| Identificación inteligente de más de 83 placas de desarrollo/creador conocidas |
| Enumera puertos serie con coincidencia de dispositivos USB |
| Vista de árbol del concentrador USB que muestra la jerarquía de puertos y conexiones |
| Cadena completa de descriptores USB: interfaces, puntos finales, códigos de clase |
| Detecta el tipo exacto de chip de ESP32/microcontrolador mediante esptool |
Monitorización
Herramienta | Descripción |
| Detecta eventos de conexión/desconexión USB entre llamadas |
| Captura y compara instantáneas del estado de los dispositivos USB |
| Consulta los registros del sistema en busca de errores USB en un dispositivo específico |
| Consumo de energía por dispositivo, presupuestos de bus y detección de carga |
Gestión
Herramienta | Descripción |
| Desmonta y expulsa de forma segura el almacenamiento extraíble |
| Alias persistentes definidos por el usuario para dispositivos |
| Restablece un puerto USB para recuperar dispositivos bloqueados |
| Flashea firmware mediante esptool/dfu-util/avrdude/UF2 |
| Envía/recibe informes HID sin procesar |
Comunicación serie
Herramienta | Descripción |
| Abre una conexión serie con velocidad en baudios, bits de datos y paridad configurables |
| Lee los datos disponibles de una conexión serie abierta |
| Escribe datos o comandos en una conexión serie abierta |
| Cierra una conexión serie abierta |
| Captura la salida serie durante N segundos (registros de arranque, salida de depuración) |
Características
Clasificación de dispositivos: categoriza automáticamente los dispositivos como almacenamiento, entrada, concentrador, vídeo, adaptador serie, microcontrolador o depurador
Detección de puertos serie: asigna dispositivos USB a sus puertos serie
/dev/cu.*(la pregunta número 1 que hacen los creadores)Más de 83 placas conocidas: reconoce Arduino, Raspberry Pi, ESP32, Adafruit, SparkFun, Teensy, STM32 y chips USB-serie comunes
Información de almacenamiento: puntos de montaje, capacidad y espacio libre para unidades USB
Monitorización USB: seguimiento de eventos, instantáneas de estado, consultas de registros de diagnóstico y análisis de energía
Flasheo de firmware: flashea placas ESP32, STM32, Arduino AVR y RP2040 directamente
Interacción HID: envía y recibe informes de Stream Decks, macro pads y dispositivos HID personalizados
Comunicación serie: abre, lee, escribe y monitoriza puertos serie con velocidad en baudios, bits de datos, paridad y bits de parada configurables
Requisitos
macOS 14+ (Sonoma o posterior) en Apple Silicon
Una herramienta de IA compatible con MCP (Claude Code, Cursor, Windsurf, etc.)
Para compilar desde el código fuente: Xcode 16.3+ / Swift 6.1+
Instalación
Homebrew (recomendado)
brew install seayniclabs/tap/benchDesde el código fuente
git clone https://github.com/seayniclabs/bench.git
cd bench
swift build -c release
codesign --force --sign - --entitlements Sources/Bench/Bench.entitlements .build/release/BenchEl binario se encuentra en .build/release/Bench.
Añadir a Claude Code
claude mcp add bench -- $(which bench)O añádelo manualmente a ~/.claude.json:
{
"mcpServers": {
"bench": {
"command": "/path/to/bench",
"args": []
}
}
}Uso
Una vez conectado, simplemente habla con tu herramienta de IA:
"¿Qué dispositivos USB están conectados?"
"¿En qué puerto está mi Arduino?"
"Identifica el dispositivo en /dev/cu.usbserial-2120"
"Expulsa el Samsung T7"
"Muéstrame todos los dispositivos de almacenamiento"
"Abre una conexión serie a /dev/cu.usbserial-2120 a 9600 baudios"
"Monitoriza la salida serie de mi ESP32 durante 10 segundos"
Cómo funciona
Bench utiliza el framework IOKit de Apple para enumerar dispositivos USB de forma nativa en macOS. Enriquece los resultados con detección de puertos serie (escaneo de /dev/cu.*), información de almacenamiento (diskutil) y una base de datos integrada de placas de desarrollo conocidas. Se comunica con las herramientas de IA a través de stdio utilizando el Model Context Protocol (JSON-RPC).
AI Tool --stdio/JSON-RPC--> Bench --IOKit--> USB Device Tree
--diskutil--> Storage Info
--/dev/cu.*--> Serial Ports
--DeviceDB--> Board RecognitionNo se necesitan permisos especiales. La enumeración USB de IOKit funciona sin derechos de acceso desde un binario CLI.
Compilación
swift build # debug build
swift build -c release # release build
swift test # run testsBench requiere Swift 6.1+ y es compatible con macOS 14+.
Licencia
MIT
Créditos
Creado por 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