io.github.daedalus/mcp-sigrok
MCP server exposing sigrok-cli functionality for logic analyzer hardware and protocol decoding
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
mcp-sigrokclaude mcp add mcp-sigrok -- uvx mcp-sigrok==0.1.0
{
"mcpServers": {
"mcp-sigrok": {
"command": "uvx",
"args": [
"mcp-sigrok==0.1.0"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
mcp-sigrok — MCP server for sigrok-cli
MCP server that exposes all functionality of sigrok-cli as MCP tools. sigrok-cli is a cross-platform command-line utility for the sigrok software suite, used for hardware initialization, acquisition, protocol decoding, and saving logic analyzer sessions.
Install
pip install mcp-sigrok
Requirements
- sigrok-cli must be installed on the system
Installing sigrok-cli
Debian/Ubuntu:
sudo apt install sigrok-cli
macOS:
brew install sigrok-cli
From source:
git clone git://sigrok.org/sigrok-cli
cd sigrok-cli
./autogen.sh
./configure
make
sudo make install
Usage
As MCP Server
# Run as stdio MCP server
mcp-sigrok
Or configure in your MCP settings:
{
"mcpServers": {
"sigrok": {
"command": "mcp-sigrok"
}
}
}
Python API
from mcp_sigrok import (
check_sigrok_cli,
get_version,
list_drivers,
scan_devices,
capture_samples,
load_input_file,
)
# Check if sigrok-cli is available
if cli_path := check_sigrok_cli():
print(f"Found sigrok-cli at: {cli_path}")
# Get version info
info = get_version()
# List available drivers
drivers = list_drivers()
# Scan for devices
devices = scan_devices()
# Capture samples
result = capture_samples("fx2lafw", samples=1000)
MCP Tools
| Tool | Description |
|---|---|
version | Get sigrok-cli version info |
list_supported | List all supported features |
list_hardware_drivers | List available hardware drivers |
list_input_file_formats | List supported input formats |
list_output_file_formats | List supported output formats |
list_protocol_decoders | List available protocol decoders |
scan_for_devices | Scan for detectable devices |
show_device_info | Show device info for a driver |
capture | Capture samples from hardware |
capture_for_time | Capture data for duration |
load_file | Load and process input file |
show_decoder_docs | Show protocol decoder docs |
set_config | Set driver configuration |
Examples
Capture from logic analyzer
# Capture 1000 samples from fx2lafw device
result = capture(
driver="fx2lafw",
samples=1000,
channels="0-7",
output_format="hex"
)
Decode I2C protocol
# Load capture file and decode I2C
result = load_file(
input_file="capture.sr",
protocol_decoders="i2c",
output_file="decoded.txt"
)
Scan for devices
# Find available devices
devices = scan_for_devices()
for device in devices.get("devices", []):
print(f"Found: {device}")
Development
git clone https://github.com/daedalus/mcp-sigrok.git
cd mcp-sigrok
pip install -e ".[test]"
# run tests
pytest
# format
ruff format src/ tests/
# lint
ruff check src/ tests/
# type check
mypy src/
mcp-name: io.github.daedalus/mcp-sigrok
Frequently asked questions
What is io.github.daedalus/mcp-sigrok?
MCP server exposing sigrok-cli functionality for logic analyzer hardware and protocol decoding
How do I install io.github.daedalus/mcp-sigrok?
It runs on your machine. In Claude Code: claude mcp add mcp-sigrok -- uvx mcp-sigrok==0.1.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.daedalus/mcp-sigrok need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.daedalus/mcp-sigrok open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.daedalus/mcp-sigrok?
It is published by daedalus. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.