使用说明
项目简介
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 需要的信号数据,避免一次性加载整个文件,提高效率并节省资源。
安装步骤
- 安装 mcp-vcd 包: 使用 'uv pip' 包管理器(或 'pip')安装 'mcp-vcd' 包。建议使用 '--system' 参数进行系统级安装。
或者uv pip install --system mcp-vcdpip 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 客户端的文档。
基本使用方法
- 启动 MCP 客户端: 启动配置了 mcp-vcd 服务器的 MCP 客户端 (例如 Claude Desktop)。
- 在客户端中调用工具: 在 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' 这一个工具。
信息
分类
桌面与硬件