Skip to main content
Glama
seayniclabs

Bench

by seayniclabs

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)

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.

-
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