sigrok
MCP server for sigrok — let LLMs control logic analyzers and decode protocols
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
mcp-language
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
kodit
👩💻 MCP server to index external repositories
github-brain
An experimental GitHub MCP server with local database.
bgg
BGG MCP provides access to BoardGameGeek and a variety of board game related data through the Model Context Protocol. Enabling retrieval and filtering of board game data, user collections, and profiles.
mcp
Teamwork.com MCP server
chromedp
MCP server for browser automation using chromedp