Waveform

Provides RTL waveform analysis services using WAL, including signal queries, transitions, length, and WAL expressions.
  • python

8

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "ynivin-waveform-mcp": {
      "command": "waveform-mcp",
      "args": []
    }
  }
}

This Waveform MCP Server provides a programmable interface to analyze RTL waveform data using the Waveform Analysis Language (WAL). By running as an MCP server, you can query waveform signals, extract transitions, and perform advanced WAL expressions from your client applications or tooling, enabling flexible automation and integration with verification workflows.

How to use

You connect to the Waveform MCP Server from your client as a local, standard input/output (stdio) service. The server is started as a local process and you interact with it through its exposed tools. Use the client to request signal lists, fetch transitions for specific signals and time ranges, measure waveform length, and run WAL expressions for deeper analysis. If you need help with WAL syntax or examples, consult WAL-related resources available through your workflow tooling.

How to install

Prerequisites you need before installation are Python 3.10 or newer, cmake for FST support, WAL (Waveform Analysis Language) version 0.8.0 or newer, and the MCP Python SDK version 1.0.0 or newer.

Install the package in editable mode to develop and run the server locally.

pip install -e .

If you are contributing to development, install development dependencies as well.

pip install -e .[dev]

Run the test suite to verify your setup.

pytest

Add the MCP server configuration to your client as a stdio server pointing to the waveform MCP binary. Use the command shown to start the server locally from your environment.

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

Additional content

About the server configuration and usage, you will typically utilize these tools to interact with your waveform data: get_signal_list, get_signal_transitions, get_waveform_length, execute_wal_expression, get_wal_help, and get_wal_examples. Each tool offers specific capabilities to retrieve signals, filter by patterns, extract transitions for defined time windows, determine the total duration of the waveform, and run WAL expressions for advanced analysis. For a more in-depth view of WAL syntax and available examples, consult the WAL tooling resources associated with your workflow.

Available tools

get_signal_list

Return a hierarchical list of signals from a waveform file, with optional regex filtering to narrow the results.

get_signal_transitions

Extract signal transitions within a specified time range for a given signal from the waveform file.

get_waveform_length

Return the total duration of the waveform file.

execute_wal_expression

Execute a WAL expression against the waveform to perform advanced analysis.

get_wal_help

Retrieve WAL documentation and syntax references for various topics.

get_wal_examples

Generate WAL usage examples for a given waveform file.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational