Skip to main content
MCP server CX Codex

sigrok MCP Server — Claude Code MCP server: capture and decode signals

A bridge from your AI agent to sigrok-cli: find a connected logic analyzer, record a trace to a file, then decode protocols such as I2C, SPI or UART.

Install into Claude Code · Platform CLI All methods and platforms ↓
claude mcp add --env SIGROK_CLI_PATH=<SIGROK_CLI_PATH> --env SIGROK_TIMEOUT_SECONDS=<SIGROK_TIMEOUT_SECONDS> --env SIGROK_WORKING_DIR=<SIGROK_WORKING_DIR> --transport stdio sigrok-mcp-server -- docker run -i --rm -e SIGROK_CLI_PATH -e SIGROK_TIMEOUT_SECONDS -e SIGROK_WORKING_DIR ghcr.io/kenosinc/sigrok-mcp-server:0.2.0
Open on GitHub

What sigrok MCP Server does

The server sits between the model and sigrok-cli. It shells out via exec.Command and turns the plain-text replies into JSON. Of the eleven tools, exactly one touches hardware for writing: capture_data. The rest ask questions. scan_devices lists what is plugged in, show_driver_details and show_decoder_details explain a driver or decoder, four list_supported_* tools return hardware, decoder, input and output format catalogues, show_version and check_firmware_status cover version and firmware, and decode_protocol works on a file you already captured.

Transport is stdio with JSON-RPC. Written in Go, with no C bindings: sigrok is reachable only through its CLI. The fastest start is the container, ghcr.io/kenosinc/sigrok-mcp-server. Building yourself means Go 1.25+ plus sigrok-cli already on the machine.

Some drivers need firmware that licensing keeps out of the image, so it is not bundled. Devices that don't ask for it, like demo or pure protocol work on a saved file, run fine anyway. Kingst LA2016 and Saleae Logic16 owners have to mount a firmware folder at /usr/local/share/sigrok-firmware; check_firmware_status tells you whether it was picked up. Note that USB access from Docker requires --privileged — without it the scan comes back empty. Three variables shape execution: SIGROK_CLI_PATH (default sigrok-cli), SIGROK_TIMEOUT_SECONDS (30) and SIGROK_WORKING_DIR.

What it helps with

  • list attached logic analyzers without typing sigrok-cli commands yourself
  • record traffic from a device pin into a capture file
  • decode a saved trace with an I2C, SPI, UART or CAN decoder
  • look up channels and options of a given driver or decoder
  • confirm a firmware file is present when a board stays invisible

Example prompts for the agent

  • Scan for connected devices and tell me what you find
  • Capture from channel D0 into a file, keep the 30 second timeout
  • Decode capture.sr with the SPI decoder and explain what is on the bus

How to install sigrok MCP Server

Platform CLI

claude mcp add --env SIGROK_CLI_PATH=<SIGROK_CLI_PATH> --env SIGROK_TIMEOUT_SECONDS=<SIGROK_TIMEOUT_SECONDS> --env SIGROK_WORKING_DIR=<SIGROK_WORKING_DIR> --transport stdio sigrok-mcp-server -- docker run -i --rm -e SIGROK_CLI_PATH -e SIGROK_TIMEOUT_SECONDS -e SIGROK_WORKING_DIR ghcr.io/kenosinc/sigrok-mcp-server:0.2.0

Replace <…> with your own values

Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more

Questions about sigrok MCP Server

How do I install sigrok MCP Server in Claude Code?

Run `claude mcp add --env SIGROK_CLI_PATH=<SIGROK_CLI_PATH> --env SIGROK_TIMEOUT_SECONDS=<SIGROK_TIMEOUT_SECONDS> --env SIGROK_WORKING_DIR=<SIGROK_WORKING_DIR> --transport stdio sigrok-mcp-server -- docker run -i --rm -e SIGROK_CLI_PATH -e SIGROK_TIMEOUT_SECONDS -e SIGROK_WORKING_DIR ghcr.io/kenosinc/sigrok-mcp-server:0.2.0`, filling in the variable values first.

What does sigrok MCP Server do?

It exposes sigrok-cli to the agent: discover hardware, capture a signal to disk, decode the resulting file with protocol decoders. Every other tool is a read-only query about drivers, decoders, formats or versions.

Why is my board not detected inside Docker?

USB devices stay hidden unless you pass --privileged to the container. If the flag is there, the driver may want firmware: mount its directory at /usr/local/share/sigrok-firmware and run check_firmware_status to see whether the server can find it.

Similar MCP servers

All MCP servers for Agent setup: memory, context, orchestration →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor