yosys_synthLABSCO SUMMARY
Not one server but a toolbox — run the stage of the chip-design flow you are actually on.
Because each EDA tool is its own server, you load Verilator for simulation without dragging in KLayout's layout tools, which keeps the exposed surface matched to the task. The natural-language layer means you can ask for a synthesis or a DRC run in plain terms, but every server still depends on the underlying tool being installed.
What it is
Eight MCP servers for electronic design automation, each wrapping a standard EDA tool and exposing its operations, with a natural-language interface on top.
What you get
- Yosys — yosys_synth, yosys_analyze and yosys_show for synthesis, analysis and circuit diagrams
- Verilator — verilator_compile, verilator_simulate and verilator_testbenchgenerator for RTL simulation with auto-generated testbenches
- Verible — verible_lint, verible_format and verible_syntax for SystemVerilog linting, formatting and AST analysis
- GTKWave — gtkwave_open, gtkwave_convert and gtkwave_analyze_timing for waveform viewing and timing measurement
- KLayout — klayout_run_drc, klayout_convert_layout and klayout_extract_layers for IC layout and design-rule checking
- AnySilicon — calculate_die_per_wafer for die-per-wafer yield across 150mm to 450mm wafers
- OpenLane — openlane_run_flow plus per-stage tools for synthesis, floorplanning, placement, CTS and routing
- A semiconductor supply-chain server — find_ip_vendors, find_asic_services and compare_vendors
Requirements
Each server lives in its own directory and wraps a real EDA tool that has to be installed — Yosys, Verilator, Verible, GTKWave, KLayout, OpenLane — so you set up only the ones you use. The servers are Node and Python; register the one you need with your MCP client. OpenLane runs its flow in a Docker or Podman container.
Setup effort
Build from source — git clone https://github.com/ssql2014/mcp4eda.git
USE CASES
Synthesizing an RTL design to gates
Run Yosys synthesis and get the netlist, then a visual diagram of the result.
Simulating a design without writing a testbench
Compile with Verilator and let it generate the testbench, then run the simulation.
Cleaning up SystemVerilog style
Lint the code and format it against your rules in one pass.
Checking a layout against design rules
Run DRC on the layout file and extract the layers you care about.
Taking a design from RTL to GDSII
Run the full OpenLane flow, or drive it stage by stage.
38 tools
Listed in project docs. Your client may show a different list.
yosys_analyzeyosys_showverilator_compileverilator_simulateverilator_testbenchgeneratorverilator_naturallanguageverible_lintverible_formatverible_syntaxverible_analyzeverible_natural_languagegtkwave_opengtkwave_convertgtkwave_extract_signalsgtkwave_analyze_timinggtkwave_capture_screenshotklayout_layout_infoklayout_convert_layoutklayout_run_drcklayout_extract_layersklayout_execute_scriptklayout_natural_languagecalculate_die_per_wafervalidate_parametersget_standard_wafer_sizesfind_ip_vendorsfind_asic_servicesget_price_estimationcompare_vendorsnatural_language_queryopenlane_run_flowopenlane_run_synthesisopenlane_run_floorplanopenlane_run_placementopenlane_run_ctsopenlane_run_routingopenlane_natural_languageBEFORE YOU INSTALL
What to know first
Tools you get
38 tools named in the project's documentation.
Requires
Node.js 18+
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/ssql2014/mcp4eda.git
cd mcp4edafor dir in yosys-mcp verilator-mcp verible-mcp gtkwave-mcp klayout-mcp anysilicon semiconductor-supply-chain-mcp openlane-mcp; do
echo "Installing $dir..."
cd $dir && npm install && npm run build && cd ..
doneMCP Clients
Claude Desktop
{
"mcpServers": {
"yosys": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP4EDA>/yosys-mcp/dist/index.js"
],
"env": {
"YOSYS_PATH": "/opt/homebrew/bin/yosys",
"LOG_LEVEL": "info"
}
},
"openlane": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP4EDA>/openlane-mcp/dist/index.js"
],
"env": {
"CONTAINER_EXECUTABLE": "docker",
"OPENLANE_IMAGE": "efabless/openlane:latest",
"WORK_DIR": "<YOUR_WORK_DIR>",
"LOG_LEVEL": "info"
}
}
}
}