Skip to main content

MCP Server for AI-powered RTL diagram generation

Project description

RTLViz - AI-Powered RTL Diagram Generator

⚠️ RtlViz can make mistakes, so double-check it.

An MCP (Model Context Protocol) server that enables AI assistants to generate publication-quality RTL block diagrams from Verilog/SystemVerilog code.

Installation

pip install rtlviz
rtlviz-setup

That's it! The setup command auto-configures your AI IDE (Claude Desktop or VS Code).

Manual Setup (Alternative)

If auto-setup doesn't work for your IDE, configure manually:

Claude Desktopclaude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "rtlviz": {
      "command": "rtlviz-server"
    }
  }
}
Claude Code (VS Code Extension) — ~/.claude/settings.json
{
  "mcpServers": {
    "rtlviz": {
      "command": "rtlviz-server"
    }
  }
}
VS Code Copilot.vscode/mcp.json
{
  "servers": {
    "rtlviz": {
      "command": "rtlviz-server"
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "rtlviz": {
      "command": "rtlviz-server"
    }
  }
}
Windsurf~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "rtlviz": {
      "command": "rtlviz-server"
    }
  }
}

Quick Start Guide

Step 1: Install the Package

pip install rtlviz

Step 2: Run Setup

rtlviz-setup

This automatically configures RTLViz for all your AI IDEs (Claude Desktop, Claude Code, VS Code Copilot, Cursor, Windsurf).

Step 3: Ask Your AI to Generate a Diagram

Open your AI IDE and ask:

"use rtlviz to generate block diagram for [your-project-path]"

Step 3: Ask your AI to generate a diagram

Step 4: Get Your Interactive Block Diagram

The AI analyzes your RTL code and generates a publication-quality block diagram:

Step 4: Generated RISC-V CPU block diagram

💡 Recommended: Works best with latest AI models like Claude Opus 4.5 or Claude Sonnet 4.5 for accurate RTL analysis.

How It Works

RTLViz uses the Model Context Protocol (MCP) to seamlessly integrate with your AI IDE:

  1. Local MCP Server — A lightweight server runs locally, exposing RTL analysis capabilities to your AI assistant
  2. Skill Injection — The AI dynamically loads the rtlviz://prompt resource, which contains expert RTL analysis heuristics
  3. Semantic RTL Parsing — The AI performs deep analysis of your Verilog/SystemVerilog, tracing signal dependencies and identifying pipeline stages
  4. Graphviz DOT Generation — Architecture is encoded as DOT with semantic clustering, orthogonal routing, and component-specific styling
  5. Interactive Rendering — The render_diagram tool generates a zoomable, pannable HTML5 viewer with Viz.js

Zero infrastructure. No API keys. 100% local execution.

Enterprise & Privacy

  • Safe for Work: All RTL analysis happens locally or via your enterprise-approved LLM provider.
  • Telemetry: We collect minimal, anonymous usage data (version, session ID) to improve the tool.
    • No IP addresses or personal data.
    • No file contents or code.
  • Opt-Out: Set the environment variable RTLVIZ_TELEMETRY=0 to disable all network calls.
    • Firewall Friendly: If blocked, the tool fails silently and continues working.

Developing & Releasing

Analytics Setup

To enable your own analytics dashboard:

  1. Deploy analytics/google_apps_script.js as a Google Web App (Execute as Me, Access: Anyone).
  2. Set RTLVIZ_TELEMETRY_URL in src/rtlviz/telemetry.py to your Web App URL.

Publishing to PyPI

  1. Bump Version: Update pyproject.toml and src/rtlviz/telemetry.py.
  2. Build: python -m build
  3. Upload: twine upload dist/*

Developers

License

MIT

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

rtlviz-0.2.7.tar.gz (194.4 kB view details)

Uploaded Source

Built Distribution

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

rtlviz-0.2.7-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file rtlviz-0.2.7.tar.gz.

File metadata

  • Download URL: rtlviz-0.2.7.tar.gz
  • Upload date:
  • Size: 194.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for rtlviz-0.2.7.tar.gz
Algorithm Hash digest
SHA256 f71f909ef119668d614758142e65abf1232c7400373a30408ab2fc1750e03db1
MD5 0fb18bfc397ba2e35c54802ad0c093c3
BLAKE2b-256 0c2dfe3b2c6e6a8b54e7c8e4005d398ac11fe60421adcd4f818546c2dae7805d

See more details on using hashes here.

File details

Details for the file rtlviz-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: rtlviz-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for rtlviz-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 9d05f2d43ac7eda745686f60b1cc2264b383db90ae5da7c4503d73b3dad6963e
MD5 3ddd3c3c70c08d1580d88047a39ce4de
BLAKE2b-256 48c63e9861e12e953c35c02ba076e47a7c4fd6f3c8b11b77829b40cbdcb2ecec

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