Logic Analyzer Ai Mcp について
Saleae ロジックアナライザー向けの実験的な MCP サーバーおよび自動化インターフェースです。デバイスやキャプチャの設定、データ処理とエクスポート、プロトコル解析に対応し、解析ワークフローのスクリプト化に使えます。
主な機能
- 01デバイス設定の管理
- 02キャプチャの設定と実行
- 03キャプチャファイルの解析
- 04キャプチャデータのエクスポート
- 05プロトコルのデコードと図の生成
活用シーン
- 01ロジックアナライザーのキャプチャを自動化
- 02.logicdata キャプチャの確認と処理
- 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 など)
インストール
-
リポジトリをクローンします
-
uv を使用して仮想環境を作成し、有効化します:
# Create virtual environment
uv venv
# Activate virtual environment
# On Windows:
.venv\Scripts\activate
# On Unix/MacOS:
source .venv/bin/activate
- 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 ツールのシーケンスをテストし、正常に動作することを確認しています。
- saleae_connect(Saleae Logic 1.2.40 用)
- saleae_configure
- saleae_capture — キャプチャを .logicdata 形式で保存
- parse_capture_file(任意)
- get_digital_data_mcp
- 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 デバイスがコンピューターに接続され、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
- 例(Unix):
-
プログラム 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ベースの設定を使用してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。