MCP Hub
Back to servers

Waveform Analysis

An MCP server for analyzing RTL waveforms (VCD/FST) using the Waveform Analysis Language (WAL), enabling signal discovery, transition analysis, and complex timing verification.

Stars
5
Tools
6
Updated
Jul 28, 2025
Validated
Jan 11, 2026

Waveform MCP Server

MCP (Model Context Protocol) server for RTL waveform analysis using WAL (Waveform Analysis Language).

Tools

get_signal_list

Get hierarchical list of signals from waveform file with optional regex filtering.

  • waveform_file (required): Path to waveform file
  • pattern (optional): Regex pattern to filter signals

Example:

{"tool": "get_signal_list", "arguments": {"waveform_file": "sim.vcd", "pattern": "cpu.*"}}

get_signal_transitions

Extract signal transitions within specified time ranges.

  • waveform_file (required): Path to waveform file
  • signal_name (required): Full signal name
  • start_time (optional): Start time, default 0
  • end_time (optional): End time, default end of simulation

Example:

{"tool": "get_signal_transitions", "arguments": {"waveform_file": "sim.vcd", "signal_name": "clk", "start_time": 0, "end_time": 100}}

get_waveform_length

Get the total simulation length/duration.

  • waveform_file (required): Path to waveform file

Example:

{"tool": "get_waveform_length", "arguments": {"waveform_file": "sim.vcd"}}

execute_wal_expression

Execute WAL expressions for advanced waveform analysis.

  • waveform_file (required): Path to waveform file
  • expression (required): WAL expression to execute

Example:

{"tool": "execute_wal_expression", "arguments": {"waveform_file": "sim.vcd", "expression": "(find (= clk 1))"}}

get_wal_help

Get comprehensive WAL documentation and syntax reference.

  • topic (optional): Help topic ('overview', 'functions', 'examples', 'debugging', 'syntax')

Example:

{"tool": "get_wal_help", "arguments": {"topic": "examples"}}

get_wal_examples

Generate signal-specific WAL examples for your waveform.

  • waveform_file (required): Path to waveform file

Example:

{"tool": "get_wal_examples", "arguments": {"waveform_file": "sim.vcd"}}

Supported Formats

  • VCD (Value Change Dump)
  • FST (Fast Signal Trace)
  • Other formats supported by WAL

Credits

Built on WAL (Waveform Analysis Language), a domain-specific language for hardware waveform analysis. See the WAL website for more information.

Installation

pip install -e .

Development

To set up a development environment, install the dev dependencies:

pip install -e .[dev]

Testing

To run the test suite:

pytest

Usage

Add to your MCP client configuration:

{
  "mcpServers": {
    "waveform": {
      "type": "stdio",
      "command": "waveform-mcp",
      "args": []
    }
  }
}

For WAL expression syntax and advanced examples, see the WAL documentation.

Requirements

License

BSD 3-Clause License. See LICENSE for details.

Reviews

No reviews yet

Sign in to write a review