使用说明

项目简介

mcp-vcd 是一个 Model Context Protocol (MCP) 服务器,专注于为大型语言模型 (LLM) 提供访问和分析 Value Change Dump (VCD) 波形文件的能力。VCD 文件常用于记录数字电路仿真结果,包含了电路中信号随时间变化的详细信息。由于 VCD 文件可能非常庞大,直接将其全部内容提供给 LLM 可能会超出模型的上下文窗口限制。mcp-vcd 服务器通过提供工具,允许 LLM 按需查询 VCD 文件中特定信号的变化信息,从而高效地利用 VCD 数据进行分析和理解。

主要功能点

  • 信号数据提取: 提供 'get-signal' 工具,允许 LLM 指定 VCD 文件和信号名称,服务器将返回该信号在 VCD 文件中的所有变化记录。
  • 时间范围过滤: 'get-signal' 工具支持可选的起始时间和结束时间参数,允许 LLM 限定分析的时间范围,进一步缩小数据量,聚焦于感兴趣的时间段。
  • 高效数据访问: 服务器端负责解析 VCD 文件,并仅提取 LLM 需要的信号数据,避免一次性加载整个文件,提高效率并节省资源。

安装步骤

  1. 安装 mcp-vcd 包: 使用 'uv pip' 包管理器(或 'pip')安装 'mcp-vcd' 包。建议使用 '--system' 参数进行系统级安装。
    uv pip install --system mcp-vcd
    或者
    pip install mcp-vcd

服务器配置

要将 mcp-vcd 服务器配置到 MCP 客户端(例如 Anthropic Claude Desktop),您需要在客户端的配置文件中添加以下 JSON 配置。 通常,配置文件名为 'claude_desktop_config.json'。

{
  "mcpServers": {
    "mcp-vcd": {
      "command": "uv",
      "args": [
        "run",
        "mcp-vcd"
      ]
    }
  }
}

配置参数说明:

  • '"mcpServers"': 定义 MCP 服务器配置的顶级键。
  • '"mcp-vcd"': 为该 MCP 服务器定义的名称,可以自定义,将在客户端中用作服务器的标识符。
  • '"command"': 启动 MCP 服务器的命令。这里使用 'uv' (或者 'python3' 如果您使用 'pip' 安装并且 'mcp-vcd' 命令在您的 Python 环境中可用).
  • '"args"': 传递给启动命令的参数列表。这里 'run mcp-vcd' 表示运行 'mcp-vcd' 包提供的服务器程序。

注意:

  • 确保您的 MCP 客户端能够找到 'uv' 命令(如果使用 'uv')。如果使用 'pip' 安装,您可能需要将 'command' 修改为 'python3' 或 'python',并确保 'mcp-vcd' 脚本在您的 Python 环境的 'PATH' 环境变量中。
  • 配置文件 'claude_desktop_config.json' 的具体位置请参考您使用的 MCP 客户端的文档。

基本使用方法

  1. 启动 MCP 客户端: 启动配置了 mcp-vcd 服务器的 MCP 客户端 (例如 Claude Desktop)。
  2. 在客户端中调用工具: 在 LLM 客户端的交互界面中,指示 LLM 使用 'get-signal' 工具来分析 VCD 文件。

工具调用示例 (自然语言指令,具体取决于客户端的交互方式):

"请分析 VCD 文件 'waveform.vcd' 中的信号 'clk' 的变化情况。"

或者更具体地指定时间范围:

"请分析 VCD 文件 'waveform.vcd' 中信号 'data' 在时间 '100ns' 到 '200ns' 之间的变化情况。"

LLM 客户端在后台会将上述指令转换为对 'get-signal' 工具的调用,并传递相应的参数 (例如 'file_name="waveform.vcd"', 'signal_name="clk"', 'start_time=100', 'end_time=200') 给 mcp-vcd 服务器。服务器会处理请求,并返回信号数据给 LLM 客户端,最终呈现给用户。

重要提示:

  • 'mcp-vcd' 服务器需要能够访问您指定的 VCD 文件。请确保 VCD 文件位于服务器可以访问的路径下,或者在调用工具时提供文件的完整路径。
  • 目前 'mcp-vcd' 服务器只实现了 'get-signal' 这一个工具。

信息

分类

桌面与硬件