Bench
Benchは、macOSネイティブのMCPサーバーであり、Claude Code、Cursor、WindsurfなどのAIツールに対して、接続されているUSBハードウェアの可視性を提供します。デバイスの識別、シリアルポートの検索、一般的なメーカーボードの認識を行うため、AIアシスタントがあなたの作業台にあるものを把握できるようになります。
APIキーは不要。ドライバーも不要。コマンド1つでインストール可能です。
機能
4つのカテゴリーにわたる22のツール:
検出 (Discovery)
ツール | 説明 |
| ヘルスチェック — サーバーの状態、バージョン、macOSバージョンを返します |
| 接続されているすべてのUSBデバイスをベンダー、タイプ、速度、シリアル番号付きで一覧表示します |
| シリアル番号、ロケーションID、または名前で特定のデバイスの詳細情報を取得します |
| 83種類以上の既知のメーカー/開発ボードをスマートに識別します |
| USBデバイスと照合してシリアルポートを列挙します |
| ポートの階層と接続を示すUSBハブのツリービューを表示します |
| 完全なUSBディスクリプターチェーン — インターフェース、エンドポイント、クラスコード |
| esptoolを介してESP32/マイクロコントローラーの正確なチップタイプを検出します |
モニタリング (Monitoring)
ツール | 説明 |
| 呼び出し間のUSB接続/切断イベントを検出します |
| USBデバイスの状態スナップショットをキャプチャして差分を表示します |
| 特定のデバイスに関するUSBエラーをシステムログからクエリします |
| デバイスごとの消費電力、バスの予算、充電検出 |
管理 (Management)
ツール | 説明 |
| リムーバブルストレージを安全にアンマウントして取り出します |
| デバイスに対してユーザー定義の永続的なエイリアスを設定します |
| USBポートをリセットしてフリーズしたデバイスを復旧させます |
| esptool/dfu-util/avrdude/UF2を介してファームウェアを書き込みます |
| 生のHIDレポートを送受信します |
シリアル通信 (Serial Communication)
ツール | 説明 |
| ボーレート、データビット、パリティを設定してシリアル接続を開きます |
| 開いているシリアル接続から利用可能なデータを読み取ります |
| 開いているシリアル接続にデータやコマンドを書き込みます |
| 開いているシリアル接続を閉じます |
| 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 testsBenchはSwift 6.1以降を必要とし、macOS 14以降をターゲットとしています。
ライセンス
MIT
クレジット
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