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 ツール

ツール説明
versionsigrok-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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。