Labsco
MCP SERVER

Sigrok MCP Server

by KenosInc

Capture a signal off a logic analyser, decode the protocol, and read the result back as JSON.

IoT, Smart Home & Embedded Hardware
Summary
Discovery first, so the agent knows what your hardware can do.

capture_data is the only tool that touches a device; everything else is a read, which makes the exploratory half safe to let an agent run freely. check_firmware_status exists for the one failure everybody hits — a device that does not show up because the firmware it needs cannot ship with the server.

What it is

A Go server that drives sigrok-cli. It parses sigrok's text output into structured JSON, so an agent receives fields rather than a terminal dump, and it holds no C bindings of its own.

What you get
  • Hardware drivers, protocol decoders, input formats and output formats listed — list_supported_hardware, list_supported_decoders, list_input_formats, list_output_formats
  • One decoder or one driver in detail, and the sigrok and library versions — show_decoder_details, show_driver_details, show_version
  • Connected devices scanned, and firmware availability checked when a device refuses to appear — scan_devices, check_firmware_status
  • Data captured from a device to a file, then decoded with protocol decoders — capture_data, decode_protocol
  • Serial-attached instruments queried directly, independent of sigrok-cli, with device profiles looked up — serial_query, get_device_profile
  • I2C, SPI, UART, CAN and 100+ other protocols through sigrok's decoder set
Requirements

Sigrok-cli on the machine, or the published container image ghcr.io/kenosinc/sigrok-mcp-server, which speaks stdio. USB devices need the container run with --privileged. Drivers that require firmware cannot have it bundled for licensing reasons — mount your firmware directory at /usr/local/share/sigrok-firmware. SIGROK_CLI_PATH, SIGROK_TIMEOUT_SECONDS (default 30) and SIGROK_WORKING_DIR are the configuration.

Setup effort

One command — docker pull ghcr.io/kenosinc/sigrok-mcp-server docker run -i ghcr.io/kenosinc/sigrok-mcp-server