mcpField
M
mcp-sigrok

mcp-sigrok

本地服务
github.com/daedalus开发工具228 周前更新

关于 mcp-sigrok

mcp-sigrok 将 sigrok-cli 的操作提供给 MCP 客户端,用于逻辑分析仪硬件采集与协议解码。用户可通过 MCP 工具扫描设备、采集样本或处理已保存的会话。

主要功能

  1. 01扫描已连接设备
  2. 02查看驱动和文件格式
  3. 03采集硬件样本
  4. 04加载并解码采集文件
  5. 05配置驱动并查看解码器文档

适用场景

  1. 01查找逻辑分析仪设备和驱动信息
  2. 02采集指定通道的样本
  3. 03解码已保存会话中的 I2C 数据

MCP 相关

它以 stdio MCP 服务运行,通过工具提供 sigrok-cli 功能,包括设备发现、采集、文件处理和配置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"daedalus-mcp-sigrok": {
"command": "uvx",
"args": [
"mcp-sigrok"
]
}
}
}
启动命令uvx mcp-sigrok

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-sigrok0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-sigrok — sigrok-cli 的 MCP 服务

PyPI Python

将 sigrok-cli 的所有功能作为 MCP 工具提供的 MCP 服务。sigrok-cli 是 sigrok 软件套件的跨平台命令行工具,用于硬件初始化、采集、协议解码和保存逻辑分析仪会话。

安装

pip install mcp-sigrok

要求

  • 系统中必须安装 sigrok-cli
安装 sigrok-cli

Debian/Ubuntu:

sudo apt install sigrok-cli

macOS:

brew install sigrok-cli

从源代码安装:

git clone git://sigrok.org/sigrok-cli
cd sigrok-cli
./autogen.sh
./configure
make
sudo make install

用法

作为 MCP 服务
# Run as stdio MCP server
mcp-sigrok

或者在 MCP 设置中配置:

{
  "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 工具

工具描述
version获取 sigrok-cli 版本信息
list_supported列出所有支持的功能
list_hardware_drivers列出可用的硬件驱动程序
list_input_file_formats列出支持的输入格式
list_output_file_formats列出支持的输出格式
list_protocol_decoders列出可用的协议解码器
scan_for_devices扫描可检测的设备
show_device_info显示驱动程序的设备信息
capture从硬件采集样本
capture_for_time在指定时长内采集数据
load_file加载并处理输入文件
show_decoder_docs显示协议解码器文档
set_config设置驱动程序配置

示例

从逻辑分析仪采集数据
# Capture 1000 samples from fx2lafw device
result = capture(
    driver="fx2lafw",
    samples=1000,
    channels="0-7",
    output_format="hex"
)
解码 I2C 协议
# Load capture file and decode I2C
result = load_file(
    input_file="capture.sr",
    protocol_decoders="i2c",
    output_file="decoded.txt"
)
扫描设备
# Find available devices
devices = scan_for_devices()
for device in devices.get("devices", []):
    print(f"Found: {device}")

开发

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。