Skip to main content
Glama
ynivin
by ynivin

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"}}

Related MCP server: Project Explorer MCP Server

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ynivin/waveform-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server