Skip to main content
Glama
seayniclabs

Bench

by seayniclabs

Benchは、macOSネイティブのMCPサーバーであり、Claude Code、Cursor、WindsurfなどのAIツールに対して、接続されているUSBハードウェアの可視性を提供します。デバイスの識別、シリアルポートの検索、一般的なメーカーボードの認識を行うため、AIアシスタントがあなたの作業台にあるものを把握できるようになります。

APIキーは不要。ドライバーも不要。コマンド1つでインストール可能です。

機能

4つのカテゴリーにわたる22のツール:

検出 (Discovery)

ツール

説明

ping

ヘルスチェック — サーバーの状態、バージョン、macOSバージョンを返します

list_usb_devices

接続されているすべてのUSBデバイスをベンダー、タイプ、速度、シリアル番号付きで一覧表示します

get_device_info

シリアル番号、ロケーションID、または名前で特定のデバイスの詳細情報を取得します

identify_device

83種類以上の既知のメーカー/開発ボードをスマートに識別します

list_serial_ports

USBデバイスと照合してシリアルポートを列挙します

hub_topology

ポートの階層と接続を示すUSBハブのツリービューを表示します

device_descriptors

完全なUSBディスクリプターチェーン — インターフェース、エンドポイント、クラスコード

chip_detect

esptoolを介してESP32/マイクロコントローラーの正確なチップタイプを検出します

モニタリング (Monitoring)

ツール

説明

monitor_events

呼び出し間のUSB接続/切断イベントを検出します

snapshot_state

USBデバイスの状態スナップショットをキャプチャして差分を表示します

diagnose_device

特定のデバイスに関するUSBエラーをシステムログからクエリします

power_info

デバイスごとの消費電力、バスの予算、充電検出

管理 (Management)

ツール

説明

eject_device

リムーバブルストレージを安全にアンマウントして取り出します

tag_device

デバイスに対してユーザー定義の永続的なエイリアスを設定します

port_reset

USBポートをリセットしてフリーズしたデバイスを復旧させます

flash_firmware

esptool/dfu-util/avrdude/UF2を介してファームウェアを書き込みます

hid_send

生のHIDレポートを送受信します

シリアル通信 (Serial Communication)

ツール

説明

serial_open

ボーレート、データビット、パリティを設定してシリアル接続を開きます

serial_read

開いているシリアル接続から利用可能なデータを読み取ります

serial_write

開いているシリアル接続にデータやコマンドを書き込みます

serial_close

開いているシリアル接続を閉じます

serial_monitor

N秒間シリアル出力をキャプチャします(ブートログ、デバッグ出力など)

特徴

  • デバイス分類 — デバイスをストレージ、入力、ハブ、ビデオ、シリアルアダプター、マイクロコントローラー、デバッガーとして自動的に分類します

  • シリアルポート検出 — USBデバイスをその /dev/cu.* シリアルポートにマッピングします(メーカーが最もよく尋ねる質問です)

  • 83種類以上の既知のボード — Arduino、Raspberry Pi、ESP32、Adafruit、SparkFun、Teensy、STM32、および一般的なUSBシリアルチップを認識します

  • ストレージ情報 — USBドライブのマウントポイント、容量、空き容量を表示します

  • USBモニタリング — イベント追跡、状態スナップショット、診断ログクエリ、電力分析

  • ファームウェア書き込み — ESP32、STM32、Arduino AVR、RP2040ボードに直接書き込みます

  • HIDインタラクション — Stream Deck、マクロパッド、カスタムHIDデバイスとの間でレポートを送受信します

  • シリアル通信 — ボーレート、データビット、パリティ、ストップビットを設定してシリアルポートを開き、読み書きや監視を行います

要件

  • macOS 14以降(Sonoma以降)、Apple Silicon搭載機

  • MCP互換のAIツール(Claude Code、Cursor、Windsurfなど)

  • ソースからビルドする場合: Xcode 16.3以降 / Swift 6.1以降

インストール

Homebrew (推奨)

brew install seayniclabs/tap/bench

ソースから

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

バイナリは .build/release/Bench にあります。

Claude Codeに追加

claude mcp add bench -- $(which bench)

または ~/.claude.json に手動で追加します:

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

使用方法

接続したら、AIツールに話しかけるだけです:

  • 「接続されているUSBデバイスは何ですか?」

  • 「Arduinoはどのポートにありますか?」

  • 「/dev/cu.usbserial-2120 にあるデバイスを特定して」

  • 「Samsung T7を取り出して」

  • 「すべてのストレージデバイスを表示して」

  • 「/dev/cu.usbserial-2120 へのシリアル接続を9600ボーで開いて」

  • 「ESP32からのシリアル出力を10秒間監視して」

仕組み

Benchは、Appleの IOKit フレームワークを使用して、macOS上でネイティブにUSBデバイスを列挙します。シリアルポート検出(/dev/cu.* スキャン)、ストレージ情報(diskutil)、および既知のメーカーボードの組み込みデータベースを使用して結果を強化します。AIツールとは、Model Context Protocol (JSON-RPC) を使用してstdio経由で通信します。

AI Tool  --stdio/JSON-RPC-->  Bench  --IOKit-->  USB Device Tree
                                     --diskutil-->  Storage Info
                                     --/dev/cu.*-->  Serial Ports
                                     --DeviceDB-->  Board Recognition

特別な権限は必要ありません。IOKitのUSB列挙は、CLIバイナリからエンタイトルメントなしで動作します。

ビルド

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

BenchはSwift 6.1以降を必要とし、macOS 14以降をターゲットとしています。

ライセンス

MIT

クレジット

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