Server providing Argo CD integration for MCP clients.
Bench is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
USB hardware discovery for AI tools: find maker boards, serial ports and chips.
Quickstart
Install it the way its author documents:
The full guide: https://github.com/seayniclabs/bench/releases/download/v0.4.3/bench-0.4.3-darwin-universal.mcpb
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. This one runs on your machine: your client starts Bench as a process under your own user, with your files and your network, so the tool surface below is what it can do to your computer rather than to a server somewhere else. Its scan result is on the Security tab — read the surface before you approve it.
Install it the way its author documents:
The full guide: https://github.com/seayniclabs/bench/releases/download/v0.4.3/bench-0.4.3-darwin-universal.mcpb
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Read from its source code. A server that builds its tool list when it starts can list more tools than this.
Check if Bench is running and IOKit is available
No parameter schema on file.
List all connected USB devices with type, vendor, product, and serial information
No parameter schema on file.
Get detailed information about a specific USB device by serial number, location ID, or name
No parameter schema on file.
Identify a connected USB device — recognizes common maker boards (Arduino, Raspberry Pi Pico, ESP32, etc.) and provides context about the device
No parameter schema on file.
Safely unmount and eject a removable USB storage device
No parameter schema on file.
Enumerate all serial ports on the system with their associated USB device info, type classification, and matched device details
No parameter schema on file.
Display the USB hub topology tree showing which devices are connected to which hubs and ports, with speeds and power draw
No parameter schema on file.
Set, get, list, or remove persistent user-defined aliases (tags) for USB devices. Tags are stored locally and survive reconnections.
No parameter schema on file.
Reset a USB port to recover a frozen or unresponsive device. Simulates an unplug/replug cycle via IOKit re-enumeration. Only works on external/removable devices.
No parameter schema on file.
Report USB power draw and capabilities for devices — bus power available, current draw, self-powered vs bus-powered, hub power budgets, and charging type detection
No parameter schema on file.
Monitor USB connect/disconnect events. Uses a polling approach — first call snapshots current state, subsequent calls report what changed since last check. Maintains a circular buffer of the last 50 events.
No parameter schema on file.
Capture and compare USB device state snapshots. Save current state to a named snapshot, list snapshots, compare two snapshots or compare a snapshot to current state, or delete a snapshot.
No parameter schema on file.
Query macOS system logs and IOKit for USB errors related to a specific device. Reports error count, error types, and recent log entries.
No parameter schema on file.
Read full USB descriptor chain for a device — device descriptor, configuration descriptors, interface descriptors, and endpoint descriptors with class codes, transfer types, and max packet sizes
No parameter schema on file.
Flash firmware to a USB device. Supports ESP32 (esptool), STM32 (dfu-util), Arduino AVR (avrdude), and RP2040 (UF2 copy). Shows the exact command before executing. Requires confirm=true — flashing is destructive.
No parameter schema on file.
Detect the exact chip type of a connected microcontroller via esptool. Resolves ambiguous USB identifications (e.g. ESP32-S2 vs S3 when sharing PID 0x1001). Returns chip type, revision, features, crystal frequency, and MAC address.
No parameter schema on file.
Interact with USB HID (Human Interface Devices). Send output/feature reports, read input/feature reports, or list available report descriptors. Useful for controlling Stream Decks, macro pads, and custom HID devices.
No parameter schema on file.
Open a serial connection to a port (e.g. /dev/cu.usbserial-2120). Configures baud rate, data bits, stop bits, and parity for raw communication.
No parameter schema on file.
Read available data from an open serial connection. Returns whatever is in the receive buffer, waiting up to the timeout for data to arrive.
No parameter schema on file.
Write data or a command to an open serial connection. Text is sent as UTF-8 with appended. Hex bytes can be sent as '0x01 0xFF' or '01FF'.
No parameter schema on file.
Write a line to an open serial connection, then read until a regex matches or the timeout passes. Returns the transcript and whether the pattern matched. Needs approval, like serial_write.
No parameter schema on file.
Decode an ESP32 Guru Meditation Error backtrace or an ARM HardFault register dump into source file and line, using addr2line and the matching .elf file. Read-only. Needs the toolchain's addr2line on PATH, or BENCH_ADDR2LINE set.
No parameter schema on file.
Close an open serial connection and restore the port to its original state.
No parameter schema on file.
Read from a serial port for a specified duration and return all output. Useful for capturing boot output, log streams, or device responses. Can auto-open the port if not already open.
No parameter schema on file.
List Bench modules: id, title, whether each is enabled in this server, its tools, and how to switch it on or off. Call this first to see what is available.
No parameter schema on file.
- Every tool, no call limit
- No card, and mcprush charges nothing for it
- Source published under MIT
- Runs on your machine — nothing of it reaches our gateway
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Bench or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| verification-discount | repo | publisher verification (public source) — no provenance, but the source is public and inspectable | −1 |
| coverage-honesty | source | inspection depth (source) — how much of the target the scan could see | −0 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
No tools were enumerated, so prompt-injection, capability and toxic-flow analysis had no tool surface to inspect. To grade a package’s real runtime tools, scan the running server: --command "npx -y <package>".
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| No per-tool rows for this release — see the note below. | ||
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
It installs from its repository rather than from a versioned package, so the command cannot be pinned to a release. The history below is for reading; the current release on file is 0.4.3.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Bench can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.