Skip to main content
Glama
key2
by key2
README.md
# mcp-vcd

A Model Context Protocol (MCP) server for analyzing **VCD waveforms** and **GTKWave save files** (`.gtkw`).

Give your AI assistant direct access to hardware simulation results — signal values, bus definitions, display formats, and signal groupings — without dumping entire files into the context window.

## Tools

| Tool | Description |
|------|-------------|
| **`get-signal`** | Get all value changes of a signal from a VCD file. Supports optional `start_time` / `end_time` range filtering. |
| **`load-gtkw`** | Parse a `.gtkw` save file and return its full structure: metadata, signals, buses, and groups. |
| **`get-signal-groups`** | Return the group hierarchy defined in a `.gtkw` file. |
| **`get-bus-signals`** | Return the component signals of a named bus from a `.gtkw` file. |
| **`get-signal-with-format`** | Get signal values from a VCD, formatted according to `.gtkw` display hints (hex, decimal, binary, etc.). |

## Installation

```bash
uv pip install mcp-vcd
```

### Claude Desktop

Add to your `claude_desktop_config.json`:

```json
"mcpServers": {
  "mcp-vcd": {
    "command": "uv",
    "args": [
      "run",
      "mcp-vcd"
    ]
  }
}
```

See [Anthropic's MCP documentation](https://modelcontextprotocol.io/quickstart/user) for more info.

## License

MIT

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation4/5

Tools are generally distinct, but get-signal and get-signal-with-format overlap in purpose (both retrieve signal values from VCD), though the formatting difference is clearly described. Other tools target distinct aspects of GTKW structure.

Naming Consistency5/5

All tool names follow a consistent lowercase hyphenated verb_noun pattern (get-*, load-*), making the naming predictable and easy to understand. The use of 'load' for gtwk parsing and 'get' for data retrieval is a consistent semantic distinction.

Tool Count5/5

With 5 tools, the server is well-scoped for its purpose of reading and inspecting VCD/GTKW files. Each tool covers a necessary aspect without redundancy or bloat.

Completeness4/5

The toolset covers the core workflows: parsing GTKW structure, querying groups/buses, and retrieving signal values. A minor gap is the lack of a direct way to enumerate all signals from a VCD file without a GTKW file, but this matches the typical workflow where GTKW provides the signal hierarchy.

Maintenance

ActivityInactive
ResponsivenessNo issues