Integrates with Docker to run OpenLane ASIC design flow for RTL-to-GDSII automation
Provides access to EDA tools through GitHub repositories like YosysHQ/yosys and gtkwave/gtkwave
Facilitates downloading EDA tools like GTKWave for waveform visualization from SourceForge
EDA Tools MCP Server
Implementation of the paper: MCP4EDA: LLM-Powered Model Context Protocol RTL-to-GDSII Automation with Backend Aware Synthesis Optimization
A comprehensive Model Context Protocol (MCP) server that provides Electronic Design Automation (EDA) tools integration for AI assistants like Claude Desktop and Cursor IDE. This server enables AI to perform Verilog synthesis, simulation, ASIC design flows, and waveform analysis through a unified interface.
Demo
https://github.com/user-attachments/assets/65d8027e-7366-49b5-8f11-0430c1d1d3d6
EDA MCP Server demonstration showing Verilog synthesis, simulation, and ASIC design flow
Features
Verilog Synthesis: Synthesize Verilog code using Yosys for various FPGA targets (generic, ice40, xilinx)
Verilog Simulation: Simulate designs using Icarus Verilog with automated testbench execution
Waveform Viewing: Launch GTKWave for VCD file visualization and signal analysis
ASIC Design Flow: Complete RTL-to-GDSII flow using OpenLane with Docker integration
Layout Viewing: Open GDSII files in KLayout for physical design inspection
Report Analysis: Read and analyze OpenLane reports for PPA metrics and design quality assessment
Prerequisites
Before using this MCP server, you need to install the following EDA tools:
1. Yosys (Verilog Synthesis)
macOS (Homebrew):
Ubuntu/Debian:
From Source:
Alternative - OSS CAD Suite (Recommended): Download the complete toolchain from: https://github.com/YosysHQ/oss-cad-suite-build/releases
2. Icarus Verilog (Simulation)
macOS (Homebrew):
Ubuntu/Debian:
Windows: Download installer from: https://bleyer.org/icarus/
3. GTKWave (Waveform Viewer)
Direct Downloads (Recommended):
Windows: Download from SourceForge
macOS: Download from SourceForge or use Homebrew:
brew install --cask gtkwave
Linux: Download from SourceForge or use package manager:
sudo apt-get install gtkwave
Alternative Installation Methods:
4. Docker Desktop (Recommended for OpenLane)
Direct Downloads:
Windows: Download Docker Desktop for Windows
macOS: Download Docker Desktop for Mac or
brew install --cask docker
Installation:
Download and install Docker Desktop from the official website
Launch Docker Desktop and ensure it's running
Verify installation:
docker run hello-world
Note: Docker Desktop includes Docker Engine, Docker CLI, and Docker Compose in one package.
5. OpenLane (ASIC Design Flow)
Simple Installation Method (Recommended):
Usage Example:
Key Benefits:
The
--dockerized
flag handles all tool dependencies automatically via Docker
6. KLayout (Layout Viewer)
Direct Downloads (Recommended):
Windows: Download KLayout for Windows
macOS: Download KLayout for macOS or
brew install --cask klayout
Linux: Download KLayout for Linux or
sudo apt install klayout
Alternative Installation:
Installation
1. Clone and Build the MCP Server
2. Project Structure
Configuration
Docker Desktop MCP Integration
This method uses Docker Desktop's built-in MCP extension for the easiest setup experience.
Prerequisites
Docker Desktop 4.39.0+ installed and running
Claude Desktop installed
Setup Steps
Install Docker Desktop Extension:
Launch Docker Desktop
Go to "Extensions" from the left menu
Search for "AI Tools" or "Docker MCP Toolkit"
Install "Labs: AI Tools for Devs" extension
Configure Docker MCP Connection:
Open the installed "Labs: AI Tools for Devs" extension
Click the gear icon in the upper right corner
Select the "MCP Clients" tab
Click "Connect" for "Claude Desktop" or "Cursor IDE"
This automatically configures Claude Desktop and Cursor IDE with:
{ "mcpServers": { "MCP_DOCKER": { "command": "docker", "args": [ "run", "-i", "--rm", "alpine/socat", "STDIO", "TCP:host.docker.internal:8811" ] } } }
Cursor IDE Setup
Add Your EDA MCP Server:
Locate your Claude Desktop config file, Settings > Developer > Edit Config:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add your EDA server to the existing configuration:
{ "mcpServers": { "MCP_DOCKER": { "command": "docker", "args": [ "run", "-i", "--rm", "alpine/socat", "STDIO", "TCP:host.docker.internal:8811" ] }, "eda-mcp": { "command": "node", "args": [ "/absolute/path/to/your/eda-mcp-server/build/index.js" ], "env": { "PATH": "/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin", "HOME": "/your/home/directory" } } } }Restart Claude Desktop and verify both servers are running in Settings > Developer.
Cursor IDE Setup
Open Cursor Settings:
Press
Ctrl + Shift + P
(Windows/Linux) orCmd + Shift + P
(macOS)Search for "Cursor Settings"
Navigate to "MCP" in the sidebar
Add MCP Server: Click "Add new MCP server" and configure:
{ "mcpServers": { "MCP_DOCKER": { "command": "docker", "args": [ "run", "-i", "--rm", "alpine/socat", "STDIO", "TCP:host.docker.internal:8811" ] }, "eda-mcp": { "command": "node", "args": [ "/absolute/path/to/your/eda-mcp-server/build/index.js" ], "env": { "PATH": "/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin", "HOME": "/your/home/directory" } } } }Enable MCP Tools:
Go to Cursor Settings → MCP
Enable the "eda-mcp" server
You should see the server status change to "Connected"
Usage Examples
1. Verilog Synthesis
2. Verilog Simulation
3. ASIC Design Flow
What you get after completion:
runs/RUN_*/final/gds/design.gds
- Final GDSII layoutruns/RUN_*/openlane.log
- Complete execution logruns/RUN_*/reports/
- Timing, area, power analysis reportsAll intermediate results (DEF files, netlists, etc.)
4. Waveform Analysis
Troubleshooting
Common Issues
MCP Server Not Detected:
Verify the absolute path in configuration
Check that Node.js is installed and accessible
Restart Claude Desktop/Cursor after configuration changes
Docker Permission Errors:
sudo groupadd docker sudo usermod -aG docker $USER sudo rebootTool Not Found Errors:
Verify tools are installed:
yosys --version
,iverilog -V
,gtkwave --version
Check PATH environment variable in MCP configuration
On macOS, ensure Homebrew paths are included:
/opt/homebrew/bin
OpenLane Timeout:
The server has a 10-minute timeout for OpenLane flows
For complex designs, consider simplifying or running multiple iterations
GTKWave/KLayout GUI Issues:
On macOS: GTKWave/KLayout may need manual approval in Security & Privacy settings
On Linux: Ensure X11 forwarding is working if using remote systems
On Windows: Ensure GUI applications can launch from command line
Debugging
Check MCP Server Logs:
Claude Desktop:
~/Library/Logs/Claude/mcp*.log
(macOS)Cursor: Check the MCP settings panel for error messages
Test Tools Manually:
yosys -help iverilog -help docker run hello-world gtkwave --version klayout -vVerify Node.js Environment:
node --version npm --version
Support
For issues and questions:
Check the troubleshooting section above
Review MCP server logs
Test individual tools manually
Open an issue with detailed error messages and environment information
Note: This MCP server requires local installation of EDA tools. The server acts as a bridge between AI assistants and your local EDA toolchain, enabling sophisticated hardware design workflows through natural language interaction.
Cite
local-only server
The server can only run on the client's local machine because it depends on local resources.
A comprehensive Model Context Protocol server that connects AI assistants to Electronic Design Automation tools, enabling RTL-to-GDSII automation including Verilog synthesis, simulation, ASIC design flows, and waveform analysis.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with IDA Pro for reverse engineering and binary analysis tasks.Last updated -1271MIT License
- AsecurityFlicenseAqualityA standalone Model Context Protocol service that connects MasterGo design tools with AI models, enabling AI models to directly retrieve DSL data from MasterGo design files.Last updated -5719166
- -securityAlicense-qualityA Model Context Protocol server that allows AI assistants to invoke and interact with Integrator automation workflows through an API connection.Last updated -1MIT License
- AsecurityFlicenseAqualityA comprehensive Model Context Protocol server that connects AI assistants to Electronic Design Automation tools, enabling Verilog synthesis, simulation, ASIC design flows, and waveform analysis through natural language interaction.Last updated -627