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.8.tar.gz (194.5 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.8-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rtlviz-0.2.8.tar.gz
  • Upload date:
  • Size: 194.5 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.8.tar.gz
Algorithm Hash digest
SHA256 5b52f240efb692d4418c329db72b9a67d11147ad7d0dfc0c43d216341aab4f8f
MD5 b4437909eabb88f6052ec7727007816b
BLAKE2b-256 85e7d8f549bdf9826cfe382398e431be66fadcc7fe889a1cc6feb0abf37ab9cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rtlviz-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 14.9 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 981545fa61888f275c8b3d389ef7694f47d506d0d2265972cc53c4e5803660f3
MD5 224ec9c276cfcc4723ff8dcfecfde9d9
BLAKE2b-256 01deb25192bce02ec2f1a8177bf9e46ac95367dc2d04d50df32e753fe5373941

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