Get the FREE Ultimate OpenClaw Setup Guide →

sigrok

MCP server for sigrok — let LLMs control logic analyzers and decode protocols

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio kenosinc-sigrok-mcp-server docker run -i --rm ghcr.io/kenosinc/sigrok-mcp-server \
  --env SIGROK_CLI_PATH="sigrok-cli" \
  --env SIGROK_WORKING_DIR="" \
  --env SIGROK_TIMEOUT_SECONDS="30"

How to use

sigrok-mcp-server provides a Model Context Protocol (MCP) interface to the Sigrok CLI, enabling AI agents and automation tooling to interact with Sigrok-enabled hardware and decoders through standard JSON-RPC over stdio. The server exposes a suite of MCP tools via the Sigrok integration, including hardware scanning (list_supported_hardware), decoder listing (list_supported_decoders), protocol decoding (decode_protocol), and data capture (capture_data), among others. This allows clients such as Claude Code, Codex, or Cursor-powered agents to discover devices, capture signals, decode protocols, and reason about the results in a structured, machine-readable format. Typical workflows involve scanning for connected devices, inspecting capabilities, capturing data from a device, and decoding it to obtain protocol-level details suitable for AI analysis. The server acts as a bridge between the MCP ecosystem and Sigrok’s command-line interface (sigrok-cli).

How to install

Prerequisites:\n- Docker installed and running (or you can run natively via Go if you choose to build the binary, but the recommended installation for this MCP server is via Docker).\n- Optional: Access to USB devices if your host needs to expose hardware to the container (see claudecode examples below).\n\nInstallation steps (Docker):\n1) Pull and run the container:\n docker run -i --rm ghcr.io/kenosinc/sigrok-mcp-server\n\n2) (Optional) If you need USB access or firmware files, run with privileges and volumes:\n docker run -i --rm --privileged -v /path/to/sigrok-firmware:/usr/local/share/sigrok-firmware:ro ghcr.io/kenosinc/sigrok-mcp-server\n\n3) (Alternative) If you prefer to host the server directly (no Docker): build the Go project and run the binary:\n go build -o sigrok-mcp-server ./cmd/sigrok-mcp-server\n ./sigrok-mcp-server\n\nPrerequisites for building from source:\n- Go 1.20+ (Go 1.25+ recommended as per project notes)\n- sigrok-cli installed and available on PATH if running outside Docker.\n\nConfiguration: The server uses environment variables to control Sigrok behavior (see Configuration in the public README for details).

Additional notes

Notes and tips:\n- The MCP server communicates over stdio (stdin/stdout) using JSON-RPC, so clients should connect using a process I/O pipe or an equivalent IPC mechanism.\n- If your hardware requires firmware files, mount a host firmware directory into the container at /usr/local/share/sigrok-firmware and ensure the container has access (see the firmware guidance in the README).\n- For USB access from within Docker, use the --privileged flag or map the appropriate devices (e.g., --device /dev/bus/usb) depending on your host setup.\n- The Sigrok CLI is the only interface to Sigrok in this architecture (no C bindings). If you run into timeouts or command failures, adjust SIGROK_TIMEOUT_SECONDS and verify the SIGROK_CLI_PATH points to a valid sigrok-cli binary.\n- Common issues often relate to missing firmware, inaccessible devices, or permission problems when exporting a USB device into the container. Use check_firmware_status to diagnose firmware availability.\n- The MCP client configuration examples show how to register the server in Claude Desktop or Claude Code; these can be adapted for other MCP clients as needed.

Related MCP Servers

Sponsor this space

Reach thousands of developers