openroad-mcp について
OpenROAD MCP サーバーは、AI アシスタントが MCP 経由で OpenROAD と ORFS の物理設計ツールを操作するためのサーバーです。レイアウトのコマンド実行や、フローの結果確認をチャット上で行いたいオープンソース EDA の利用者に向けたものです。対話型の OpenROAD セッションを扱い、ORFS 実行で生成されたレポート画像も表示できます。
主な機能
- 01PTY に対応した対話型 OpenROAD セッション
- 02複数セッションの作成、一覧、確認、終了
- 03コマンド履歴とパフォーマンス指標へのアクセス
- 04ORFS 実行のレポート画像の一覧表示と読み取り
活用シーン
- 01AI アシスタントによる ORFS 結果の確認とレポートの説明
- 02チャット内での物理設計レポート画像の確認
- 031 回の解析で複数の OpenROAD セッションを管理
MCP 対応
MCP サーバーとして、セッション管理、コマンド実行、履歴と指標の取得、レポート画像の読み取りなどのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OpenROAD MCP サーバー
OpenROAD および ORFS と連携するためのツールを提供する Model Context Protocol (MCP) サーバーです。
OpenROAD MCP について
初めての方へ クイックスタートガイド を参照して、AI アシスタントが 5 分で設計を解析できるようにしましょう。
OpenROAD MCP は、Claude、Cursor などの MCP 対応クライアントを OpenROAD レイアウトツールに直接接続することで、AI アシスタントと物理設計の間の壁を取り除きます。
OpenROAD は、半導体デジタル設計向けの主要なオープンソースの基盤アプリケーションであり、RTL から GDSII までの自律的な No-Human-In-Loop (NHIL) フローを提供します。OpenROAD-flow-scripts (ORFS) は、それを中心に構築された完全自律型のフローです。
この MCP サーバーを使用すると、AI アシスタントは次のことができます:
- コマンドを実行 - 完全な PTY サポートを備えた対話型 OpenROAD セッションを実行します。
- セッションを管理 - 複数の物理設計セッションを作成、一覧表示、検査、終了します。
- 履歴とメトリクスを追跡 - 完全なコマンド履歴とパフォーマンスメトリクスにアクセスして分析します。
- レポートを可視化 - ORFS 実行のレポート画像をチャット内で直接一覧表示および閲覧します。
デモ

要件とインストール
この MCP サーバーを使用するには、サーバーのランタイムに加えて、基盤となる OpenROAD レイアウトツールが必要です。
1. サーバーランタイム
npxディストリビューションを実行するには Node.js 22+ が必要です。
2. OpenROAD
OpenROAD がインストールされ、PATH から利用可能である必要があります。
3. OpenROAD-flow-scripts (ORFS)
ORFS はオプションですが、完全な RTL から GDS へのフローとレポートの可視化のために強く推奨されます。
設定
プラットフォーム固有の Node.js および C++ ツールチェーンのセットアップ手順については、クロスプラットフォームビルドガイド を参照してください。
一般的なケースでは、このリポジトリをクローンしたり、パス環境変数を渡したりする必要は ありません。公開されている npx パッケージは .env ファイルを読み込みません。
起動時に、サーバーは MCP クライアントの環境を継承し、その後 which openroad と同じ方法で PATH を補完します: 現在の PATH、次にログインシェルの PATH、そして一般的なインストール場所 (/opt/homebrew/bin、conda、ローカルの OpenROAD ビルド) です。ORFS_FLOW_PATH のデフォルトは ~/OpenROAD-flow-scripts/flow で、ORFS が openroad バイナリの隣にある場合も検出されます。
対応 MCP クライアント
以下は、ほとんどのクライアントで共通して使用される標準の基本設定です:
{
"command": "npx",
"args": ["-y", "openroad-mcp"]
}
正確な設定スニペットとファイルの場所については、以下からお使いのクライアントを探してください。
Claude Code
claude mcp add --transport stdio openroad-mcp -- npx -y openroad-mcp
または、標準設定を .mcp.json / .claude/settings.json に追加します。
GUI から起動したクライアントが依然として openroad を見つけられない場合は、オーバーライドを渡してください。パスをハードコードしないように command -v を使用します:
claude mcp add \
--env PATH="$(dirname "$(command -v openroad)"):${PATH}" \
--env ORFS_FLOW_PATH="${HOME}/OpenROAD-flow-scripts/flow" \
--transport stdio openroad-mcp \
-- npx -y openroad-mcp
CLI がサーバー名を別の KEY=value ペアとして扱わないように、--transport は --env とサーバー名の間に置いてください。
Claude Desktop
標準設定を以下に追加します:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
標準設定を .cursor/mcp.json に追加します。
GitHub Copilot (VS Code)
.vscode/mcp.json に追加します。"type": "stdio" が必要です:
{
"servers": {
"openroad-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "openroad-mcp"]
}
}
}
Windsurf
標準設定を ~/.codeium/windsurf/mcp_config.json に追加します。
Cline / Roo Code
標準設定を cline_mcp_settings.json (Cline) または .roo/mcp.json (Roo Code) に追加します。
Continue / PearAI
それぞれの config.json の modelContextProtocolServers の下に追加します:
{
"transport": {
"type": "stdio",
"command": "npx",
"args": ["-y", "openroad-mcp"]
}
}
Zed
~/.config/zed/settings.json に追加します:
{
"context_servers": {
"openroad-mcp": {
"command": {
"path": "npx",
"args": ["-y", "openroad-mcp"]
}
}
}
}
Docker / MCP Registry / その他
このサーバーは MCP Registry および Docker 経由で利用できます:
docker run --rm -i ghcr.io/the-openroad-project/openroad-mcp:latest
その他の標準的な STDIO クライアントのほとんども完全にサポートされています。お使いのツールの MCP セットアップガイドを参照してください。
利用可能なツール
設定が完了すると、AI アシスタントは以下のツールにアクセスできるようになります。詳細なパラメータ、スキーマ、戻り値の形式については、API リファレンス を参照してください。
interactive_openroad_queryinteractive_openroad_execcreate_interactive_sessionlist_interactive_sessionsterminate_interactive_sessioninspect_interactive_sessionget_session_historyget_session_metricslist_report_imagesread_report_image
トラブルシューティング
- サーバーが起動しない: Node.js 22 以上がインストールされていることを確認してください。古いバージョンでは失敗します。
- セッションの作成に失敗する: ターミナルで
command -v openroadが動作することを確認してください。サーバーは PATH を継承し、一般的なインストール場所を検索します。プレフィックスが特殊な場合は、Claude Code のセクションに示すように--envでPATHを渡してください。 - コマンドが CommandBlocked で拒否される:
interactive_openroad_queryに状態を変更するコマンドを送信しました。代わりにinteractive_openroad_execを使用してください。 - レポート画像が見つからない: サーバーはデフォルトで
~/OpenROAD-flow-scripts/flowを使用します。ORFS が別の場所にある場合は、MCP クライアントのenvブロックでORFS_FLOW_PATHを設定してください (.envファイルではありません)。
より詳細な情報を得るには、サーバーの環境で LOG_LEVEL=DEBUG を設定してください。
開発
リポジトリをクローンします。.env.example はローカル開発用の参照専用です。direnv などを使用する場合は .env にコピーしてください。サーバーは依然として (env ファイルではなく) process.env (MCP クライアントの env ブロック) を読み取ります。
次に実行します:
cd typescript
npm install
npm run build
テスト:
npm run test # unit tests
npm run test:integration # integration tests
npm run test:performance # performance benchmarks
リンティングと型チェック:
npm run typecheck
npm run lint
コントリビューション
コントリビューションを歓迎します! 開発ワークフローとコード標準に関する詳細な手順については、CONTRIBUTING.md を参照してください。
ライセンス
BSD 3-Clause License。LICENSE ファイルを参照してください。
Built with ❤️ by Precision Innovations
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。