TraceWeave — Claude Code MCP server: RTL and SoC debugging
Connects simulation logs, waveforms and RTL source to your AI assistant so you can get from a failed run to the right time, signals and driving logic.
claude mcp add traceweave -- uvx traceweave-mcpWhat TraceWeave does
TraceWeave links compile records, simulation logs, VCD/FSDB/FST waveforms and RTL source to your assistant. You describe the problem in plain language; the server investigates, traces and verifies, returning evidence you can review.
It reads logs from VCS, Xcelium and Verilator, and waveforms in VCD, FSDB and FST. Exported formal waveforms can be queried too, and automatic artifact discovery currently covers JasperGold. Signal tracing follows Verdi NPI → Source Graph → basic static analysis: it queries the elaborated KDB first, tries Source Graph without a commercial license when NPI is unavailable, then falls back to static analysis.
explain_signal_driver now defaults to the compact traceweave.driver.compact.v1 format. Legacy scripts that read the original JSON shape should request output_format="full" or expand the response with expand_compact_result. A static mode scans source for constant connections, open inputs and constant comparisons, no simulation run or waveform needed.
What it helps with
- find why a simulation hangs or times out
- locate differences between two runs from records and waveforms
- trace where a signal picked up an X or Z value
- read packed bus fields and check whether TL-UL requests complete
- scan source for constant ties and unconnected inputs without simulating
Example prompts for the agent
- The simulation timed out — narrow down the affected interfaces and time window
- This signal went X; trace the drivers and show the waveform history
- Check whether the TL-UL request completes and show latency and handshake
How to install TraceWeave
Platform CLI
claude mcp add traceweave -- uvx traceweave-mcpuvx runs the command named after the package; if the README names another one, use uvx --from traceweave-mcp <command>
Platform CLI
codex mcp add traceweave -- uvx traceweave-mcpuvx runs the command named after the package; if the README names another one, use uvx --from traceweave-mcp <command>
Config file
{
"mcpServers": {
"traceweave": {
"command": "uvx",
"args": [
"traceweave-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from traceweave-mcp <command>
Config file
{
"servers": {
"traceweave": {
"type": "stdio",
"command": "uvx",
"args": [
"traceweave-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from traceweave-mcp <command>
Platform CLI
gemini mcp add traceweave uvx traceweave-mcpuvx runs the command named after the package; if the README names another one, use uvx --from traceweave-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about TraceWeave
How do I install TraceWeave in Claude Code?
Run claude mcp add traceweave -- uvx traceweave-mcp. The server starts through uvx, so uv has to be installed.
What does TraceWeave do?
It connects simulation logs, waveforms and RTL source to your assistant so you can go from a failed run to the specific time, signals and driving logic.
Which waveform formats are supported?
VCD, FSDB and FST. On Linux there is optional FST support: discovery, basic reads, fixed bit selections, expressions, cycle sampling and cross-format comparison.