Skip to main content
Glama
seayniclabs

Bench

by seayniclabs

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

ping

Comprobación de estado: devuelve el estado del servidor, la versión y la versión de macOS

list_usb_devices

Lista todos los dispositivos USB conectados con proveedor, tipo, velocidad y número de serie

get_device_info

Información detallada sobre un dispositivo específico por número de serie, ID de ubicación o nombre

identify_device

Identificación inteligente de más de 83 placas de desarrollo/creador conocidas

list_serial_ports

Enumera puertos serie con coincidencia de dispositivos USB

hub_topology

Vista de árbol del concentrador USB que muestra la jerarquía de puertos y conexiones

device_descriptors

Cadena completa de descriptores USB: interfaces, puntos finales, códigos de clase

chip_detect

Detecta el tipo exacto de chip de ESP32/microcontrolador mediante esptool

Monitorización

Herramienta

Descripción

monitor_events

Detecta eventos de conexión/desconexión USB entre llamadas

snapshot_state

Captura y compara instantáneas del estado de los dispositivos USB

diagnose_device

Consulta los registros del sistema en busca de errores USB en un dispositivo específico

power_info

Consumo de energía por dispositivo, presupuestos de bus y detección de carga

Gestión

Herramienta

Descripción

eject_device

Desmonta y expulsa de forma segura el almacenamiento extraíble

tag_device

Alias persistentes definidos por el usuario para dispositivos

port_reset

Restablece un puerto USB para recuperar dispositivos bloqueados

flash_firmware

Flashea firmware mediante esptool/dfu-util/avrdude/UF2

hid_send

Envía/recibe informes HID sin procesar

Comunicación serie

Herramienta

Descripción

serial_open

Abre una conexión serie con velocidad en baudios, bits de datos y paridad configurables

serial_read

Lee los datos disponibles de una conexión serie abierta

serial_write

Escribe datos o comandos en una conexión serie abierta

serial_close

Cierra una conexión serie abierta

serial_monitor

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/bench

Desde 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/Bench

El 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 Recognition

No 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 tests

Bench requiere Swift 6.1+ y es compatible con macOS 14+.

Licencia

MIT

Créditos

Creado por 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