使用说明
冲浪者mcp
让AI助手控制的MCP服务器 冲浪者,一个用于硬件设计和验证的开源波形查看器。它通过以下方式与Surfer通信 波形通信协议(WCP) 也可以通过直接读取波形文件 皮韦伦.
特性
- 加载和重新加载 波形文件(VCD、FST、GHW等)
- 浏览层次结构 --列出设计中的范围和信号
- 控制查看器 --添加/删除信号、设置光标位置、缩放、设置视口范围、添加标记、更改信号颜色
- 读取信号数据 --获取时间戳的值,查找边,搜索值,获取时间窗口中的所有转换
- 截图 Surfer窗口(macOS)
需求
- Python 3.10+
- 冲浪者 安装在您的
PATH - macOS(屏幕截图功能使用Quartz;如果删除
pyobjc依赖性)
安装
# Clone the repo
git clone https://github.com/PaoloRondot/surfer-mcp.git
cd surfer-mcp
# Install with uv (recommended)
uv pip install -e .
# Or with pip
pip install -e .
使用Claude代码
添加到您的Claude Code MCP设置中(~/.claude/settings.json 或项目 .mcp.json):
{
"mcpServers": {
"surfer": {
"command": "uv",
"args": ["run", "--directory", "/path/to/surfer-mcp", "surfer-mcp"]
}
}
}
或者,如果您是全局安装的:
{
"mcpServers": {
"surfer": {
"command": "surfer-mcp"
}
}
}
与其他MCP客户端一起使用
服务器运行超时 标准。从以下内容开始:
surfer-mcp
或者不安装:
uv run --directory /path/to/surfer-mcp surfer-mcp
可用工具
| 工具 | 说明 |
|---|---|
load_waveform |
将波形文件加载到Surfer中 |
reload_waveform |
重新加载电流波形 |
list_scopes |
列出层次结构中的所有作用域(模块/实例) |
list_signals |
列出范围内的信号 |
add_signals |
按名称向查看器添加信号 |
add_scope |
在一个范围内添加所有信号 |
add_items / remove_items |
按路径/ID添加或删除项目 |
get_item_list / get_item_info |
查询显示的项目 |
set_cursor |
将光标移动到时间戳 |
set_viewport_range / set_viewport_to |
控制可见时间范围 |
zoom_to_fit |
缩放以适应所有数据 |
add_markers |
添加命名时间标记 |
focus_item |
滚动到项目 |
set_item_color |
更改信号显示颜色 |
get_signal_values |
读取时间戳处的信号值 |
find_rising_edge / find_falling_edge |
查找信号的下一个边缘 |
find_value |
查找特定值的下一次出现 |
get_transitions |
在时间窗口中获取所有转换 |
get_time_range |
获取模拟时间范围和时间刻度 |
screenshot |
捕获Surfer窗口(macOS) |
clear |
从查看器中清除所有项目 |
shutdown_surfer |
关闭Surfer |
运作原理
当首次调用工具时,服务器会自动:
- 启动启用WCP的Surfer
- 通过TCP连接并执行WCP握手
- 发送命令并返回结果
Surfer进程在工具调用之间保持运行,因此您可以交互式地探索波形。
许可证
麻省理工学院
