Bench
Bench는 Claude Code, Cursor, Windsurf와 같은 AI 도구가 연결된 USB 하드웨어를 인식할 수 있도록 지원하는 네이티브 macOS MCP 서버입니다. 장치를 식별하고, 직렬 포트를 찾으며, 일반적인 메이커 보드를 인식하여 AI 어시스턴트가 작업대 위에 무엇이 있는지 알 수 있게 합니다.
API 키도, 드라이버도 필요 없습니다. 명령어 한 줄로 설치하세요.
기능
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) 및 내장된 알려진 메이커 보드 데이터베이스를 통해 결과를 보강합니다. Model Context Protocol(JSON-RPC)을 사용하여 stdio를 통해 AI 도구와 통신합니다.
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