mcpField
L
Logic Analyzer Ai Mcp

Logic Analyzer Ai Mcp

ローカル
github.com/wegitor科学・教育1053 週間前に更新

Logic Analyzer Ai Mcp について

Saleae ロジックアナライザー向けの実験的な MCP サーバーおよび自動化インターフェースです。デバイスやキャプチャの設定、データ処理とエクスポート、プロトコル解析に対応し、解析ワークフローのスクリプト化に使えます。

主な機能

  1. 01デバイス設定の管理
  2. 02キャプチャの設定と実行
  3. 03キャプチャファイルの解析
  4. 04キャプチャデータのエクスポート
  5. 05プロトコルのデコードと図の生成

活用シーン

  1. 01ロジックアナライザーのキャプチャを自動化
  2. 02.logicdata キャプチャの確認と処理
  3. 03測定データを後続の分析用にエクスポート

MCP 対応

MCP サーバーは、Saleae Logic デバイスの制御とキャプチャ処理のツールを提供します。起動中の Saleae Logic アプリケーションと、そのスクリプティングソケットサーバーを介して接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ロジックアナライザー MCP

このプロジェクトは、Saleae ロジックアナライザー向けの MCP(Message Control Protocol)サーバーと自動化インターフェースを提供します。Saleae Logic デバイスとキャプチャのリモート制御、自動化、統合を可能にし、ロジックアナライザーのデータをプログラムから簡単にスクリプト化、管理、分析できます。

特長

  • デバイス設定の管理
  • キャプチャ設定と実行
  • さまざまな形式でのデータエクスポート
  • ロジックファイルの分析と処理
  • プロトコルのデコードと可視化
  • 図の生成と分析
  • MCP(Message Control Protocol)サーバーとの統合
  • Logic 16 およびその他の Logic 2 デバイスに対応
  • python-saleae を使用したキャプチャファイルの解析と分析

要件

  • Python 3.10 以降
  • Saleae Logic 2 ソフトウェアがインストールされていること
  • Python-saleae モジュール
  • Logic 2 デバイス(Logic 16、Logic Pro 8 など)

インストール

  1. リポジトリをクローンします

  2. uv を使用して仮想環境を作成し、有効化します:

# Create virtual environment
uv venv

# Activate virtual environment
# On Windows:
.venv\Scripts\activate
# On Unix/MacOS:
source .venv/bin/activate
  1. uv を使用して依存関係をインストールします:
# Install all dependencies
uv pip install -e .

依存関係で問題が発生した場合は、直接インストールしてみてください:

# Install logic2-automation from GitHub
uv pip install git+https://github.com/saleae/logic2-automation/#subdirectory=python

# Install other dependencies
uv pip install grpcio protobuf grpcio-tools saleae mcp[cli] pytest

注:依存関係の要件により、このプロジェクトには Python 3.10 以降が必要です。

使用方法

MCP サーバーの実行

リモート制御用の MCP サーバーを起動するには:

# Using uv (recommended)
uv --directory <project_path> run -m logic_analyzer_mcp

注:uv を使用する場合は、インストールされていて PATH に含まれていることを確認してください。--directory 引数には、プロジェクトのルートディレクトリを指定してください。

現在の互換性とテスト済みバージョン

このプロジェクトはWindows 用 Saleae Logic 1.2.40でテスト済みです。

  • 互換性を最大限に高めるため、このバージョンを使用してください。
  • ほかのバージョンも動作する可能性はありますが、このプロジェクトでの動作は保証されておらず、公式サポート対象でもありません。

実験的な注記(アルファ版)

これは実験的なアルファ版です。以下の MCP ツールのシーケンスをテストし、正常に動作することを確認しています。

  1. saleae_connect(Saleae Logic 1.2.40 用)
  2. saleae_configure
  3. saleae_capture — キャプチャを .logicdata 形式で保存
  4. parse_capture_file(任意)
  5. get_digital_data_mcp
  6. saleae_export(任意。必要に応じて csv を使用)

注:

  • これらのツールを使用する前に、Saleae Logic アプリケーションが実行されており、スクリプティング用ソケットサーバーが有効になっていることを確認してください。
  • saleae_capture を呼び出すときは、コントローラーのメソッドとの互換性を最大限に高めるため、.logicdata 形式を指定してください。

トラブルシューティングと重要な注意事項

  • Logic ソフトウェアを起動しておく必要があります:

    • この自動化インターフェースを使用する前に、システムで Saleae Logic ソフトウェアがすでに起動していることを確認してください。自動化スクリプトは、起動中のインスタンスへの接続を試みます。
    • ソフトウェアが起動していない場合、スクリプトが接続に失敗するか、シミュレーションモードで新しいインスタンスを起動することがあります(実際のデバイスは検出されません)。
  • スクリプト用ソケットサーバーを有効にします:

    • Logic ソフトウェアで、Options > Preferences(または Edit > Preferences)を開き、「Enable scripting socket server」オプションがチェックされていることを確認してください。
    • デフォルトのポートは通常 10429 です。変更した場合は、それに応じてスクリプトを更新してください。
    • スクリプト用サーバーが有効になっていないと、Python API は Logic と通信できず、接続エラーが発生します。
  • デバイスが検出されない場合:

    • スクリプトを実行する前に、Logic デバイスがコンピューターに接続され、Logic ソフトウェアに認識されていることを確認してください。
    • デバイスが検出されない場合は、USB 接続を確認し、Logic ソフトウェアを再起動してください。
  • アーキテクチャの互換性:

    • Logic ソフトウェアと Python 環境の両方が、32 ビットまたは 64 ビットのどちらかで統一されていることを確認してください。アーキテクチャが一致しないと、接続に失敗することがあります。
  • 権限:

    • システムによっては、ソケット通信を許可するために、Logic ソフトウェアや Python スクリプトを管理者権限で実行する必要があります。
  • 対応バージョン:

    • このプロジェクトは、Saleae Logic 1.x/2.x の自動化向けに設計されています。一部の機能は、適切な自動化 API がインストールされた Logic 2.x でのみ利用できます。
キャプチャファイル形式に関する注意
  • キャプチャには .logicdata 形式が推奨されており、最も幅広くサポートされています。すべての自動化機能と解析機能は、.logicdata ファイルで確実に動作するよう設計されています。
  • .sal ファイル(一部の古い Saleae ソフトウェアや代替ソフトウェアで使用)は、現在、バグや互換性の問題が確認されています。.sal ファイルの自動変換や処理は失敗する場合や、手動での修正が必要になる場合があります。最良の結果を得るには、キャプチャには常に .logicdata 形式を使用してください。

API リファレンス

SaleaeController

Logic 2 の機能に高水準でアクセスするためのメインコントローラークラスです。

デバイス設定メソッド:
  • create_device_config(name: str, digital_channels: List[int], digital_sample_rate: int, analog_channels: Optional[List[int]] = None, analog_sample_rate: Optional[int] = None, digital_threshold_volts: Optional[float] = None) -> str

    • 指定したチャンネルとサンプルレートで、新しいデバイス設定を作成します
    • 設定名を返します
  • get_device_config(name: str) -> Optional[LogicDeviceConfiguration]

    • 名前を指定してデバイス設定を取得します
    • 見つからない場合は None を返します
  • list_device_configs() -> List[str]

    • 利用可能なすべてのデバイス設定名を一覧表示します
  • remove_device_config(name: str) -> bool

    • デバイス設定を削除します
    • 成功した場合は True、見つからない場合は False を返します
キャプチャ設定メソッド:
  • create_capture_config(name: str, duration_seconds: float, buffer_size_megabytes: Optional[int] = None) -> str

    • 指定した時間で、新しいキャプチャ設定を作成します
    • 設定名を返します
  • get_capture_config(name: str) -> Optional[CaptureConfiguration]

    • 名前を指定してキャプチャ設定を取得します
    • 見つからない場合は None を返します
  • list_capture_configs() -> List[str]

    • 利用可能なすべてのキャプチャ設定名を一覧表示します
  • remove_capture_config(name: str) -> bool

    • キャプチャ設定を削除します
    • 成功した場合は True、見つからない場合は False を返します

設定:

Claude の設定(uv run を使用):
{
    "mcpServers": {
        "logic-analyzer-ai-mcp": {
            "type": "stdio",
            "command": "uv",
            "args": [
                "--directory",
                "<path to folder>",
                "run",
                "-m",
                "logic_analyzer_mcp"
            ]
        }
    }
}
Claude の設定(直接使用):
{
    "mcpServers": {
        "logic-analyzer-ai-mcp": {
            "type": "stdio",
            "command": "python",
            "args": [
                "<path to folder>\\src\\logic_analyzer_mcp.py"
            ]
        }
    }
}
Claude の設定(uv run を使用):
{
    "mcpServers": {
        "logic-analyzer-ai-mcp": {
            "type": "stdio",
            "command": "uv",
            "args": [
                "--directory",
                "<path to folder>",
                "run",
                "-m",
                "logic_analyzer_mcp"
            ]
        }
    }
}

Logic2 のパラメーターの説明

このプロジェクトには、Logic2 の自動化向けに、オプトイン方式の実験的な機能が含まれています。デフォルトでは無効です。次の 3 つの方法のいずれかで有効にできます。

  • CLI フラグ(一度限りの実行におすすめ)

    • 例:
      • python -m logic_analyzer_mcp --logic2
  • 環境変数(CI や永続シェルで便利)

    • 例(Unix):
      • LOGIC2=1 python -m logic_analyzer_mcp
    • 例(Windows PowerShell):
      • $env:LOGIC2='1'; python -m logic_analyzer_mcp
  • プログラム API(ライブラリに組み込む場合)

    • ツールを登録する前にヘルパーを呼び出します:
      • from mcp_tools import set_logic2_enabled, setup_mcp_tools
      • set_logic2_enabled(True)
      • setup_mcp_tools(mcp, controller)
    • または、setup_mcp_tools に明示的なパラメーターを渡します:
      • setup_mcp_tools(mcp, controller, enable_logic2=True)

注意事項

  • デフォルトの動作:Logic2 の実験的な機能はオフです。無効の場合、コードはコントローラーを使用するフォールバック、またはオフラインのフォールバックを優先します。
  • 安全性:実験的な機能は変更される可能性があります。有効にする場合は意図的に行い、本番環境で使用する前に、ご利用の環境でテストしてください。
  • トラブルシューティング:Logic2 を有効にできない場合は、logic2-automation / python-saleae パッケージがインストールされていることと、Saleae アプリが実行中でアクセス可能であることを確認してください。

Claude の設定(例)

以下は、カスタマイズして使用できる最小限の Claude MCP サーバー設定例です。Claude の設定ファイルまたはツールの設定に記述してください。

{
  "mcpServers": {
    "logic-analyzer-ai-mcp": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "--directory",
        "<path to folder>",
        "run",
        "-m",
        "logic_analyzer_mcp",
        "--logic2"
      ]
    }
  }
}

注意事項:

  • 実験的な Logic2 ツールを有効にしたくない場合は、--logic2 フラグを削除してください。
  • <path to folder> およびその他の uv 引数は、ご利用の環境に合わせて調整してください。
  • uv 経由ではなくモジュールを直接呼び出す場合は、python ベースの設定を使用してください。

コメント

MCP は初めてですか?

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

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