Skip to main content
Glama

Bench ist ein nativer macOS MCP-Server, der KI-Tools wie Claude Code, Cursor und Windsurf Sichtbarkeit für angeschlossene USB-Hardware bietet. Er identifiziert Geräte, findet serielle Anschlüsse und erkennt gängige Maker-Boards – damit Ihr KI-Assistent weiß, was sich auf Ihrem Arbeitstisch befindet.

Keine API-Schlüssel. Keine Treiber. Ein Befehl zur Installation.

Was es tut

22 Tools in vier Kategorien:

Erkennung

Tool

Beschreibung

ping

Gesundheitsprüfung – gibt Serverstatus, Version, macOS-Version zurück

list_usb_devices

Listet alle angeschlossenen USB-Geräte mit Hersteller, Typ, Geschwindigkeit, Seriennummer auf

get_device_info

Detaillierte Informationen zu einem bestimmten Gerät nach Seriennummer, Standort-ID oder Name

identify_device

Intelligente Identifizierung von über 83 bekannten Maker-/Entwickler-Boards

list_serial_ports

Auflistung serieller Anschlüsse mit Zuordnung zu USB-Geräten

hub_topology

USB-Hub-Baumansicht mit Anzeige der Anschluss-Hierarchie und Verbindungen

device_descriptors

Vollständige USB-Deskriptorkette – Schnittstellen, Endpunkte, Klassencodes

chip_detect

Genaue Erkennung des Chiptyps von ESP32/Mikrocontrollern via esptool

Überwachung

Tool

Beschreibung

monitor_events

Erkennt USB-Verbindungs-/Trennungsereignisse zwischen Aufrufen

snapshot_state

Erfasst und vergleicht Snapshots des USB-Gerätestatus

diagnose_device

Fragt Systemprotokolle nach USB-Fehlern bei einem bestimmten Gerät ab

power_info

Stromverbrauch pro Gerät, Bus-Budgets, Ladeerkennung

Verwaltung

Tool

Beschreibung

eject_device

Sicher aushängen und auswerfen von Wechseldatenträgern

tag_device

Persistente benutzerdefinierte Aliase für Geräte

port_reset

Zurücksetzen eines USB-Anschlusses zur Wiederherstellung eingefrorener Geräte

flash_firmware

Firmware flashen via esptool/dfu-util/avrdude/UF2

hid_send

Senden/Empfangen von rohen HID-Berichten

Serielle Kommunikation

Tool

Beschreibung

serial_open

Öffnet eine serielle Verbindung mit konfigurierbarer Baudrate, Datenbits, Parität

serial_read

Liest verfügbare Daten von einer offenen seriellen Verbindung

serial_write

Schreibt Daten oder Befehle an eine offene serielle Verbindung

serial_close

Schließt eine offene serielle Verbindung

serial_monitor

Erfasst serielle Ausgabe für N Sekunden (Boot-Logs, Debug-Ausgabe)

Related MCP server: dwf-mcp-server

Funktionen

  • Geräteklassifizierung – kategorisiert Geräte automatisch als Speicher, Eingabegerät, Hub, Video, serieller Adapter, Mikrocontroller oder Debugger

  • Erkennung serieller Anschlüsse – ordnet USB-Geräte ihren /dev/cu.* seriellen Anschlüssen zu (die häufigste Frage von Makern)

  • Über 83 bekannte Boards – erkennt Arduino, Raspberry Pi, ESP32, Adafruit, SparkFun, Teensy, STM32 und gängige USB-Seriell-Chips

  • Speicherinformationen – Mount-Points, Kapazität und freier Speicherplatz für USB-Laufwerke

  • USB-Überwachung – Ereignisverfolgung, Status-Snapshots, Abfrage von Diagnoseprotokollen und Leistungsanalyse

  • Firmware-Flashing – direktes Flashen von ESP32-, STM32-, Arduino AVR- und RP2040-Boards

  • HID-Interaktion – Senden und Empfangen von Berichten von Stream Decks, Makro-Pads und benutzerdefinierten HID-Geräten

  • Serielle Kommunikation – Öffnen, Lesen, Schreiben und Überwachen serieller Anschlüsse mit konfigurierbarer Baudrate, Datenbits, Parität und Stoppbits

Anforderungen

  • macOS 14+ (Sonoma oder neuer) auf Apple Silicon

  • Ein MCP-kompatibles KI-Tool (Claude Code, Cursor, Windsurf, etc.)

  • Zum Erstellen aus dem Quellcode: Xcode 16.3+ / Swift 6.1+

Installation

Homebrew (empfohlen)

brew install seayniclabs/tap/bench

Aus dem Quellcode

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

Die Binärdatei befindet sich unter .build/release/Bench.

Zu Claude Code hinzufügen

claude mcp add bench -- $(which bench)

Oder manuell zu ~/.claude.json hinzufügen:

{
  "mcpServers": {
    "bench": {
      "command": "/path/to/bench",
      "args": []
    }
  }
}

Verwendung

Sobald die Verbindung hergestellt ist, sprechen Sie einfach mit Ihrem KI-Tool:

  • "Welche USB-Geräte sind angeschlossen?"

  • "An welchem Anschluss befindet sich mein Arduino?"

  • "Identifiziere das Gerät unter /dev/cu.usbserial-2120"

  • "Wirf die Samsung T7 aus"

  • "Zeige mir alle Speichergeräte"

  • "Öffne eine serielle Verbindung zu /dev/cu.usbserial-2120 mit 9600 Baud"

  • "Überwache die serielle Ausgabe meines ESP32 für 10 Sekunden"

Funktionsweise

Bench verwendet Apples IOKit Framework, um USB-Geräte nativ unter macOS aufzulisten. Es reichert die Ergebnisse mit der Erkennung serieller Anschlüsse (/dev/cu.* Scan), Speicherinformationen (diskutil) und einer integrierten Datenbank bekannter Maker-Boards an. Es kommuniziert mit KI-Tools über stdio unter Verwendung des 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

Es sind keine speziellen Berechtigungen erforderlich. Die IOKit USB-Auflistung funktioniert ohne Entitlements von einer CLI-Binärdatei aus.

Erstellen

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

Bench erfordert Swift 6.1+ und zielt auf macOS 14+ ab.

Lizenz

MIT

Credits

Entwickelt von 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