Bench
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 |
| Gesundheitsprüfung – gibt Serverstatus, Version, macOS-Version zurück |
| Listet alle angeschlossenen USB-Geräte mit Hersteller, Typ, Geschwindigkeit, Seriennummer auf |
| Detaillierte Informationen zu einem bestimmten Gerät nach Seriennummer, Standort-ID oder Name |
| Intelligente Identifizierung von über 83 bekannten Maker-/Entwickler-Boards |
| Auflistung serieller Anschlüsse mit Zuordnung zu USB-Geräten |
| USB-Hub-Baumansicht mit Anzeige der Anschluss-Hierarchie und Verbindungen |
| Vollständige USB-Deskriptorkette – Schnittstellen, Endpunkte, Klassencodes |
| Genaue Erkennung des Chiptyps von ESP32/Mikrocontrollern via esptool |
Überwachung
Tool | Beschreibung |
| Erkennt USB-Verbindungs-/Trennungsereignisse zwischen Aufrufen |
| Erfasst und vergleicht Snapshots des USB-Gerätestatus |
| Fragt Systemprotokolle nach USB-Fehlern bei einem bestimmten Gerät ab |
| Stromverbrauch pro Gerät, Bus-Budgets, Ladeerkennung |
Verwaltung
Tool | Beschreibung |
| Sicher aushängen und auswerfen von Wechseldatenträgern |
| Persistente benutzerdefinierte Aliase für Geräte |
| Zurücksetzen eines USB-Anschlusses zur Wiederherstellung eingefrorener Geräte |
| Firmware flashen via esptool/dfu-util/avrdude/UF2 |
| Senden/Empfangen von rohen HID-Berichten |
Serielle Kommunikation
Tool | Beschreibung |
| Öffnet eine serielle Verbindung mit konfigurierbarer Baudrate, Datenbits, Parität |
| Liest verfügbare Daten von einer offenen seriellen Verbindung |
| Schreibt Daten oder Befehle an eine offene serielle Verbindung |
| Schließt eine offene serielle Verbindung |
| 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/benchAus 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/BenchDie 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 RecognitionEs 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 testsBench erfordert Swift 6.1+ und zielt auf macOS 14+ ab.
Lizenz
MIT
Credits
Entwickelt von 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