Skip to main content

MCP Server for AI-powered RTL diagram generation

Project description

RTLViz - AI-Powered RTL Diagram Generator

⚠️ Development Notice: This project is under active development. It can make mistakes. Please verify generated diagrams against your design.

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, you can configure manually:

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "rtlviz": {
      "command": "rtlviz-server"
    }
  }
}

VS Code (.vscode/mcp.json):

{
  "servers": {
    "rtlviz": {
      "command": "rtlviz-server"
    }
  }
}

Usage

Just ask your AI: "Generate an RTL diagram for CPU.v"

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

How It Works

  1. You install the package (pip install rtlviz)
  2. Your IDE spawns the server locally when you open a session
  3. The AI reads the rtlviz://prompt resource to learn how to analyze RTL
  4. The AI generates Graphviz DOT code based on your Verilog
  5. The AI calls the render_diagram tool to create an interactive HTML viewer

No server hosting required. No API keys. Runs 100% locally.

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.5.tar.gz (10.9 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.5-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rtlviz-0.2.5.tar.gz
  • Upload date:
  • Size: 10.9 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.5.tar.gz
Algorithm Hash digest
SHA256 7ce0353cf43b0cb3f1a922251742c70b6fc92c01a6bb141e88f6a2fb64c7b038
MD5 a1894f20f867a4e292dfec97bda769f7
BLAKE2b-256 52404622364d80c90f65450d42bf78e8a362518474cb56d4a2f91a4d1bf0ee1c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rtlviz-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 89d13c0babc6a028b5864663512e71c15a78fc9720297f5912bb4fed4becc02f
MD5 b194c83d501eab4f1337ccfdfb67bf55
BLAKE2b-256 45e20193cbbc623280db4adbb486ac426d91d78f8c1bf8053b0d15c97b42c784

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