Skip to main content

MCP server for RTL waveform analysis using WAL

Project description

WAL MCP Server

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

Supported Waveform Formats

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

Installation and Usage

pip install wal-mcp

Add to your MCP client configuration:

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

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

This package also comes with script to install a skill and sufficient reference material to teach an AI agent how to write WAL. This allows you to use natural language to analyze waveforms.

To install the skill into .claude/skills/ your current directory run:

wal-mcp-install-skills

Or pass a filepath to the script to install elsewhere.

Alternatively, if you are using the Github CLI application you can install the skill using that.

gh install skill ktbarrett/wal-mcp

Development

To set up a development environment, install the dev group and the current package. This is easiest done with uv.

uv sync

There are also pre-commit hooks which will run lints whenever you make a commit. prek is the recommended pre-commit hook runner.

First install prek if you already haven't.

uv tool install prek

Then install the git hooks.

prek install

Testing

pytest is used for testing. Run the following to run all the tests and collect coverage.

pytest

You can better visualize the coverage by using a coverage report format such as html.

coverage html

Credits

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

License

BSD 3-Clause License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wal_mcp-0.1.0.tar.gz (103.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wal_mcp-0.1.0-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file wal_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: wal_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 103.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wal_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 939e7cb3195b4c10dc20085fd4a26b8714c87b2e676c39f52c814d597548af19
MD5 d9cba1415edc663447b3aa665861a727
BLAKE2b-256 6feeeaa939e0f0e1ac62237cc880dccb3bc5b6694db0b84ebbb46f429c6be3a2

See more details on using hashes here.

File details

Details for the file wal_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: wal_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for wal_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 43841a132846677ba2c27a7e55af29eace8481e407ff9475a0e1609f11d8e17f
MD5 1307c030b781f465e30971eb589a6d24
BLAKE2b-256 c1d61fee35c2bda119b850a697302776a8cd7a15fec4769c33bf99542424a41e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page