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 参数应指向项目根目录。

当前兼容性与测试版本

本项目已使用 Saleae Logic 1.2.40 for Windows 进行测试。

  • 为获得最佳兼容性,请使用此版本。
  • 其他版本可能也能运行,但本项目不保证兼容,也不提供官方支持。

实验性说明(alpha)

这是一个实验性(alpha)版本。以下 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 自动化实验路径。默认情况下,该路径处于禁用状态。你可以通过以下三种方式之一启用它:

  • CLI 标志(推荐用于单次运行)

    • 示例:
      • python -m logic_analyzer_mcp --logic2
  • 环境变量(适用于 CI / 持久化 Shell)

    • 示例(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 的配置。

评论

支持 Markdown

第一次接触 MCP?

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

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