EDA Tools MCP Server
EDA Tools MCP Server
Claude DesktopやCursor IDEなどのAIアシスタント向けに、電子設計自動化(EDA)ツールの統合を提供する包括的なModel Context Protocol (MCP) サーバーです。このサーバーにより、AIは統合インターフェースを通じてVerilog合成、シミュレーション、ASIC設計フロー、波形解析を実行できるようになります。
デモ
https://github.com/user-attachments/assets/65d8027e-7366-49b5-8f11-0430c1d1d3d6
Verilog合成、シミュレーション、ASIC設計フローを示すEDA MCPサーバーのデモンストレーション
機能
Verilog合成: Yosysを使用して、さまざまなFPGAターゲット(generic, ice40, xilinx)向けにVerilogコードを合成
Verilogシミュレーション: Icarus Verilogを使用して、自動テストベンチ実行による設計のシミュレーション
波形表示: GTKWaveを起動し、VCDファイルの可視化と信号解析を実行
ASIC設計フロー: Docker統合を使用したOpenLaneによるRTL-to-GDSIIフローの完全実行
レイアウト表示: KLayoutでGDSIIファイルを開き、物理設計を検査
レポート解析: OpenLaneレポートを読み込み、PPAメトリクスと設計品質を評価
前提条件
このMCPサーバーを使用する前に、以下のEDAツールをインストールする必要があります:
1. Yosys (Verilog合成)
macOS (Homebrew):
brew install yosysUbuntu/Debian:
sudo apt-get update
sudo apt-get install yosysソースから:
# Install prerequisites
sudo apt-get install build-essential clang bison flex \
libreadline-dev gawk tcl-dev libffi-dev git \
graphviz xdot pkg-config python3 libboost-system-dev \
libboost-python-dev libboost-filesystem-dev zlib1g-dev
# Clone and build
git clone https://github.com/YosysHQ/yosys.git
cd yosys
make -j$(nproc)
sudo make install代替案 - OSS CAD Suite (推奨): 完全なツールチェーンをダウンロード: https://github.com/YosysHQ/oss-cad-suite-build/releases
2. Icarus Verilog (シミュレーション)
macOS (Homebrew):
brew install icarus-verilogUbuntu/Debian:
sudo apt-get install iverilogWindows: インストーラーをダウンロード: https://bleyer.org/icarus/
3. GTKWave (波形ビューア)
直接ダウンロード (推奨):
Windows: SourceForge からダウンロード
macOS: SourceForge からダウンロード、またはHomebrewを使用:
brew install --cask gtkwaveLinux: SourceForge からダウンロード、またはパッケージマネージャーを使用:
sudo apt-get install gtkwave
その他のインストール方法:
# macOS (Homebrew)
brew install --cask gtkwave
# Ubuntu/Debian
sudo apt-get install gtkwave
# Build from source (all platforms)
git clone https://github.com/gtkwave/gtkwave.git
cd gtkwave
meson setup build && cd build && meson install4. Docker Desktop (OpenLaneで推奨)
直接ダウンロード:
Windows: Docker Desktop for Windowsをダウンロード
macOS: Docker Desktop for Macをダウンロード または
brew install --cask docker
インストール:
公式サイトからDocker Desktopをダウンロードしてインストール
Docker Desktopを起動し、実行中であることを確認
インストールを確認:
docker run hello-world
注意: Docker Desktopには、Docker Engine、Docker CLI、Docker Composeが1つのパッケージに含まれています。
5. OpenLane (ASIC設計フロー)
簡単なインストール方法 (推奨):
# Install OpenLane via pip
pip install openlane
# Pull the Docker image
docker pull efabless/openlane:latest
# Verify installation
docker run hello-world使用例:
# Create project directory
mkdir -p ~/openlane-projects/my-design
cd ~/openlane-projects/my-design
# Create Verilog file (counter example)
cat > counter.v << 'EOF'
module counter (
input wire clk,
input wire rst,
output reg [7:0] count
);
always @(posedge clk or posedge rst) begin
if (rst)
count <= 8'b0;
else
count <= count + 1;
end
endmodule
EOF
# Create configuration file
cat > config.json << 'EOF'
{
"DESIGN_NAME": "counter",
"VERILOG_FILES": ["counter.v"],
"CLOCK_PORT": "clk",
"CLOCK_PERIOD": 10.0
}
EOF
# Run the RTL-to-GDSII flow
python3 -m openlane --dockerized config.json主な利点:
--dockerizedフラグにより、すべてのツール依存関係がDocker経由で自動的に処理されます
6. KLayout (レイアウトビューア)
直接ダウンロード (推奨):
Windows: KLayout for Windowsをダウンロード
macOS: KLayout for macOSをダウンロード または
brew install --cask klayoutLinux: KLayout for Linuxをダウンロード または
sudo apt install klayout
その他のインストール:
# macOS (Homebrew)
brew install --cask klayout
# Ubuntu/Debian
sudo apt install klayoutインストール
1. MCPサーバーのクローンとビルド
git clone https://github.com/NellyW8/mcp-EDA
cd mcp-EDA
npm install
npm run build
npx tsc 2. プロジェクト構造
mcp-EDA/
├── src/
│ └── index.ts # Main server code
├── build/
│ └── index.js # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md設定
Docker Desktop MCP統合
この方法は、Docker Desktopに組み込まれたMCP拡張機能を使用するため、最も簡単にセットアップできます。
前提条件
Docker Desktop 4.39.0以降がインストールされ、実行中であること
Claude Desktopがインストールされていること
セットアップ手順
Docker Desktop拡張機能のインストール:
Docker Desktopを起動
左メニューの「Extensions」に移動
「AI Tools」または「Docker MCP Toolkit」を検索
「Labs: AI Tools for Devs」拡張機能をインストール
Docker MCP接続の設定:
インストールした「Labs: AI Tools for Devs」拡張機能を開く
右上の歯車アイコンをクリック
「MCP Clients」タブを選択
「Claude Desktop」または「Cursor IDE」の「Connect」をクリック
これにより、Claude DesktopとCursor IDEが自動的に以下のように設定されます:
{ "mcpServers": { "MCP_DOCKER": { "command": "docker", "args": [ "run", "-i", "--rm", "alpine/socat", "STDIO", "TCP:host.docker.internal:8811" ] } } }
Cursor IDEのセットアップ
EDA MCPサーバーの追加:
Claude Desktopの設定ファイル(Settings > Developer > Edit Config)を開く:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
既存の設定にEDAサーバーを追加:
{ "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" } } } }Claude Desktopを再起動し、Settings > Developerで両方のサーバーが実行されていることを確認します。
Cursor IDEのセットアップ
Cursor設定を開く:
Ctrl + Shift + P(Windows/Linux) またはCmd + Shift + P(macOS) を押す「Cursor Settings」を検索
サイドバーの「MCP」に移動
MCPサーバーの追加: 「Add new MCP server」をクリックして設定:
{ "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" } } } }MCPツールの有効化:
Cursor Settings → MCP に移動
「eda-mcp」サーバーを有効化
サーバーのステータスが「Connected」に変わることを確認
使用例
1. Verilog合成
Ask Claude: "Can you synthesize this counter module for an ice40 FPGA?"
module counter(
input clk,
input rst,
output [7:0] count
);
reg [7:0] count_reg;
assign count = count_reg;
always @(posedge clk or posedge rst) begin
if (rst)
count_reg <= 8'b0;
else
count_reg <= count_reg + 1;
end
endmodule2. Verilogシミュレーション
Ask Claude: "Please simulate this adder with a testbench"
// Design
module adder(
input [3:0] a,
input [3:0] b,
output [4:0] sum
);
assign sum = a + b;
endmodule
// Testbench will be generated automatically or you can provide one3. ASIC設計フロー
Ask Claude: "Run the complete ASIC flow for this design with a 10ns clock period"
module simple_cpu(
input clk,
input rst,
input [7:0] data_in,
output [7:0] data_out
);
// Your RTL design here
endmodule完了後に得られるもの:
runs/RUN_*/final/gds/design.gds- 最終的なGDSIIレイアウトruns/RUN_*/openlane.log- 完全な実行ログruns/RUN_*/reports/- タイミング、面積、電力解析レポートすべての中間結果(DEFファイル、ネットリストなど)
4. 波形解析
Ask Claude: "View the waveforms from the simulation with project ID: abc123"トラブルシューティング
よくある問題
MCPサーバーが検出されない:
設定内の絶対パスを確認
Node.jsがインストールされ、アクセス可能であることを確認
設定変更後にClaude Desktop/Cursorを再起動
Dockerの権限エラー:
sudo groupadd docker sudo usermod -aG docker $USER sudo rebootツールが見つからないエラー:
ツールがインストールされているか確認:
yosys --version,iverilog -V,gtkwave --versionMCP設定のPATH環境変数を確認
macOSの場合、Homebrewのパスが含まれていることを確認:
/opt/homebrew/bin
OpenLaneのタイムアウト:
サーバーにはOpenLaneフローに対して10分間のタイムアウトがあります
複雑な設計の場合は、簡略化するか、複数回に分けて実行することを検討してください
GTKWave/KLayout GUIの問題:
macOS: GTKWave/KLayoutは、セキュリティとプライバシー設定で手動承認が必要な場合があります
Linux: リモートシステムを使用している場合は、X11転送が機能していることを確認してください
Windows: GUIアプリケーションがコマンドラインから起動できることを確認してください
デバッグ
MCPサーバーログの確認:
Claude Desktop:
~/Library/Logs/Claude/mcp*.log(macOS)Cursor: MCP設定パネルでエラーメッセージを確認
ツールの手動テスト:
yosys -help iverilog -help docker run hello-world gtkwave --version klayout -vNode.js環境の確認:
node --version npm --version
サポート
問題や質問がある場合:
上記のトラブルシューティングセクションを確認
MCPサーバーのログを確認
個々のツールを手動でテスト
詳細なエラーメッセージと環境情報を添えてIssueを作成
注意: このMCPサーバーには、EDAツールのローカルインストールが必要です。サーバーはAIアシスタントとローカルのEDAツールチェーンの間のブリッジとして機能し、自然言語対話を通じて高度なハードウェア設計ワークフローを実現します。
引用
@misc{wang2025mcp4edallmpoweredmodelcontext,
title={MCP4EDA: LLM-Powered Model Context Protocol RTL-to-GDSII Automation with Backend Aware Synthesis Optimization},
author={Yiting Wang and Wanghao Ye and Yexiao He and Yiran Chen and Gang Qu and Ang Li},
year={2025},
eprint={2507.19570},
archivePrefix={arXiv},
primaryClass={cs.AR},
url={https://arxiv.org/abs/2507.19570},
}Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kfy123bot/mcp4eda-kfy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server