冲浪者mcp
特性
- 加载和重新加载 波形文件(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进程在工具调用之间保持运行,因此您可以交互式地探索波形。
许可证
麻省理工学院
