mcpField
O
openroad-mcp

openroad-mcp

ローカル
github.com/The-OpenROAD-Project科学・教育315 日前に更新

openroad-mcp について

OpenROAD MCP サーバーは、AI アシスタントが MCP 経由で OpenROAD と ORFS の物理設計ツールを操作するためのサーバーです。レイアウトのコマンド実行や、フローの結果確認をチャット上で行いたいオープンソース EDA の利用者に向けたものです。対話型の OpenROAD セッションを扱い、ORFS 実行で生成されたレポート画像も表示できます。

主な機能

  1. 01PTY に対応した対話型 OpenROAD セッション
  2. 02複数セッションの作成、一覧、確認、終了
  3. 03コマンド履歴とパフォーマンス指標へのアクセス
  4. 04ORFS 実行のレポート画像の一覧表示と読み取り

活用シーン

  1. 01AI アシスタントによる ORFS 結果の確認とレポートの説明
  2. 02チャット内での物理設計レポート画像の確認
  3. 031 回の解析で複数の OpenROAD セッションを管理

MCP 対応

MCP サーバーとして、セッション管理、コマンド実行、履歴と指標の取得、レポート画像の読み取りなどのツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"the-openroad-project-openroad": {
"command": "npx",
"args": [
"-y",
"openroad-mcp"
]
}
}
}
起動コマンドnpx -y openroad-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmopenroad-mcp1.1.0
ocighcr.io/the-openroad-project/openroad-mcp:1.1.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 実行のレポート画像をチャット内で直接一覧表示および閲覧します。

デモ

OpenROAD MCP デモ

デモ動画の全編を見る

要件とインストール

この 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_query
  • interactive_openroad_exec
  • create_interactive_session
  • list_interactive_sessions
  • terminate_interactive_session
  • inspect_interactive_session
  • get_session_history
  • get_session_metrics
  • list_report_images
  • read_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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。