{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_q6nt4sd26mf7","handle":"wave-mcp","url":"https://wellknown.network/agents/wave-mcp","links":{"self":"https://wellknown.network/agents/wave-mcp/record.json","html":"https://wellknown.network/agents/wave-mcp","markdown":"https://wellknown.network/agents/wave-mcp/record.md","api":"https://wellknown.network/api/v1/agents/wave-mcp","status":"https://wellknown.network/api/v1/agents/wave-mcp/status","claim":"https://wellknown.network/agents/wave-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/wave-mcp/claim.json","badge":"https://wellknown.network/agents/wave-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/wave-mcp/history","tools":"https://wellknown.network/api/v1/agents/wave-mcp/tools"},"ard":{"identifier":"urn:air::server:wave-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"wave-mcp","summary":"Open-source, license-free MCP server for RTL waveform debug (FST + SystemVerilog static analysis), an Indago/Verisium Debug MCP alternative.","description":"# wave-mcp：开源、免 License 的 RTL 波形调试 MCP Server\n\n<img src=\"docs/images/penglai-logo.png\" alt=\"蓬莱实验室\" width=\"200\"/>\n\n[![PyPI version](https://img.shields.io/pypi/v/wave-mcp)](https://pypi.org/project/wave-mcp/)\n[![Python versions](https://img.shields.io/pypi/pyversions/wave-mcp)](https://pypi.org/project/wave-mcp/)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue.svg)](LICENSE)\n\n[English](README.en.md) | 简体中文\n\n**wave-mcp 是腾讯蓬莱实验室验证团队开源的一款 RTL 波形调试 MCP Server**，为 LLM 提供波形调试工具集：\n读 **FST 波形 + RTL 网表**，提供层次探索、信号查询、驱动分析、值/X 态追踪、波形对比与浏览器波形查看器等 **37 个 MCP 工具**。\n**Apache-2.0 开源，无需任何商用 License，支持任意并发。**\n\n> **FST 直读，VCD / FSDB 自动转 FST**：Verilator `--trace-fst`、Icarus 直接产 FST 就能读；\n> 手上只有 VCD 或 FSDB 也没关系，`prepare_session` 自动转换后再建 session（FSDB 转换不占 Verdi license）。\n> 它**不跑仿真器**，你用自己的流程跑出波形，把结果交给它即可。\n\n---\n\n## 为什么是 wave-mcp\n\n芯片验证占据开发周期 50% 以上的时间，波形调试是其中最高频的动作。而 LLM 时代，\n工程师希望让 AI Agent 直接读波形、查信号、追 X 态根因，但市面上的商用调试\nMCP 需要昂贵的 License，且并发受限。\n\nwave-mcp 用**纯开源技术栈**（pylibfst + pyslang）提供完整波形调试能力：\n**免 License、数据准确、真实芯片项目背书**。\n\n## 生产级验证\n\n在**真实生产级芯片项目**（几十个模块）上完整验证，并把 OpenTitan、香山纳入测试集：\n\n![核心验证数据](docs/images/validation-overview.png)\n\n| 维度 | 结果 |\n| --- | --- |\n| 测试规模 | **一百多个测试 case**（生产级项目 + OpenTitan 27 个 IP + 香山 38 个 IP） |\n| 数据准确性 | **225 万信号级验证，值查询正确性 100%** |\n| 工具调用 | 310 万多次调用全部通过 |\n| 驱动分析 | 驱动 / 扇入 / 连通 / 追溯在生产级项目上全量验证 |\n| 超大模块 | **百万级 scope 稳定完成分析** |\n| 工具覆盖 | 37 个工具全部验证，含 viewer / diff 的单元与浏览器端到端覆盖 |\n\n![工具调用分布](docs/images/tool-calls-distribution.png)\n\n## 特性\n\n- **波形查询**：设计层次、实例、信号（位宽/方向/类型，含总线聚合）、信号值（点查询 / 区间，随机访问）。\n- **静态分析（pyslang 网表）**：连接、驱动、扇入/扇出、声明位置（文件:行号）。\n- **无波形静态分析**：`open_static_session` 只凭 RTL 源码建 session，**仿真前即可分析设计结构**。\n- **值追踪**：`trace_value` 沿驱动链反向遍历、可跨模块下钻，每个节点带真实 FST 值；`trace_x` 追 X 根因。\n- **网表自愈**：从 pyslang 诊断自动补 `+incdir+` / 包源并重编；失败时优雅降级，其余工具不受影响。\n- **一致性校验**：源码或波形变了但网表没更新会报警，绝不静默给错结果。\n- **波形对比**：`diff_waveforms` 对 pass/fail 两份波形定位首个分歧时刻，按分歧时间排序信号，时钟对齐采样过滤毛刺。\n- **波形查看器**：`open_wave_view` 让 agent 分析完直接弹浏览器波形，嫌疑信号 + 游标钉在出错时刻 + 分析说明弹窗；双波形对比…","publisher":null,"homepage":"https://github.com/Tencent/wave-mcp","repository":"https://github.com/Tencent/wave-mcp","version":"1.1.1","license":"Apache-2.0","protocols":["mcp"],"tags":["mcp","waveform","fst","vcd","verilog","systemverilog","rtl","uvm","debug","eda"],"pricing":null,"endpoints":[{"url":"pypi:wave-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"code.debugging","name":"Debugging","confidence":1,"provenance":"declared"}],"categories":["code"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"wave-mcp","registry":"pypi","observedAt":"2026-11-04T04:24:13.013Z","publishedAt":"2026-10-23T03:00:39.716843Z","latestVersion":"1.1.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"wave-mcp","url":"https://pypi.org/project/wave-mcp/","firstSeenAt":"2026-09-10T15:24:10.331Z","fetchedAt":"2026-11-04T04:22:20.715Z","normalizedAt":"2026-11-04T04:22:20.715Z"}]},"firstSeenAt":"2026-09-10T15:24:10.331Z","updatedAt":"2026-11-04T04:24:13.013Z"}