Openroad Mcp

io.github.luarss由 GitHub 账号 luarss 发布v0.5.3更新于 Oct 24, 2026

The OpenROAD MCP server - interactive EDA sessions via Model Context Protocol

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

将 AI 助手连接到 OpenROAD 与 ORFS,使其能运行交互式物理设计会话、检查会话并读取报告图像。

可以做什么
在交互式会话中运行 OpenROAD 命令,查询工具会拦截修改状态的命令,执行工具则用于实际改动。管理设计会话:创建、列出、检查、终止。查看会话的命令历史与性能指标,用于分析。列出并读取 ORFS 运行产生的报告图像。
适用场景
适用于半导体数字设计工作:希望助手直接驱动 OpenROAD 或 ORFS 流程、运行并检查物理设计命令、查看运行指标与报告图像,而无需离开对话。
运行要求
通过 npx(需 Node.js 22+)或 Docker 镜像以 stdio 在本地运行。必须安装 OpenROAD 并加入 PATH;ORFS 可选但推荐,默认路径为 ~/OpenROAD-flow-scripts/flow,可用 ORFS_FLOW_PATH 覆盖。未声明账号或 API 密钥。
安装前请注意
执行工具会运行修改设计会话的命令,会话也可被终止,应留意助手实际执行的内容。服务器会继承客户端环境并在 PATH 及常见安装位置查找 OpenROAD,可能需要显式覆盖 PATH 与 ORFS_FLOW_PATH。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Openroad Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

OpenROAD MCP Server

A Model Context Protocol (MCP) server that provides tools for interacting with OpenROAD and ORFS.

About OpenROAD MCP

New here? Check out the Quick Start Guide to get your AI assistant analyzing designs in 5 minutes.

OpenROAD MCP eliminates the barrier between your AI assistant and physical design by connecting Claude, Cursor, and other MCP-compatible clients directly to the OpenROAD layout tools.

OpenROAD is the leading open-source, foundational application for semiconductor digital design, delivering an Autonomous, No-Human-In-Loop (NHIL) flow from RTL-GDSII. OpenROAD-flow-scripts (ORFS) is the fully autonomous flow built around it.

With this MCP server, your AI assistant can:

  • Execute Commands - Run interactive OpenROAD sessions with full PTY support.
  • Manage Sessions - Create, list, inspect, and terminate multiple physical design sessions.
  • Track History & Metrics - Access full command history and performance metrics for analysis.
  • Visualize Reports - List and read report images from ORFS runs directly in the chat.

Demo

[OpenROAD MCP Demo]

Watch full demo video

Requirements & Installation

To use this MCP server, you need the server runtime, plus the underlying OpenROAD layout tools.

1. Server Runtime

  • Node.js 22+ is required to run the npx distribution.

2. OpenROAD

OpenROAD must be installed and available in your PATH.

3. OpenROAD-flow-scripts (ORFS)

ORFS is optional but highly recommended for complete RTL-to-GDS flows and report visualization.

Configuration

For platform-specific Node.js and C++ toolchain setup instructions, see the Cross-Platform Build Guide.

You do not need to clone this repo or pass path environment variables in the common case. The published npx package does not read a .env file.

On startup the server inherits the MCP client's environment, then fills PATH the same way which openroad would: current PATH, then your login-shell PATH, then common install locations (/opt/homebrew/bin, conda, local OpenROAD builds). ORFS_FLOW_PATH defaults to ~/OpenROAD-flow-scripts/flow, and is also detected when ORFS sits next to the openroad binary.

Supported MCP Clients

Here is the standard base configuration used across most clients:

json
{  "command": "npx",  "args": ["-y", "openroad-mcp"]}

Find your specific client below for the exact configuration snippet and file location.

Claude Code
bash
claude mcp add --transport stdio openroad-mcp -- npx -y openroad-mcp

Or add the standard config to .mcp.json / .claude/settings.json.

If a GUI-launched client still cannot find openroad, pass an override. Use command -v so you do not hard-code paths:

bash
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

Put --transport between --env and the server name so the CLI does not treat the name as another KEY=value pair.

Claude Desktop

Add the standard config to:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Cursor

Add the standard config to .cursor/mcp.json.

GitHub Copilot (VS Code)

Add to .vscode/mcp.json. Requires "type": "stdio":

json
{  "servers": {    "openroad-mcp": {      "type": "stdio",      "command": "npx",      "args": ["-y", "openroad-mcp"]    }  }}
Windsurf

Add the standard config to ~/.codeium/windsurf/mcp_config.json.

Cline / Roo Code

Add the standard config to cline_mcp_settings.json (Cline) or .roo/mcp.json (Roo Code).

Continue / PearAI

Add to your respective config.json under modelContextProtocolServers:

json
{  "transport": {    "type": "stdio",    "command": "npx",    "args": ["-y", "openroad-mcp"]  }}
Zed

Add to ~/.config/zed/settings.json:

json
{  "context_servers": {    "openroad-mcp": {      "command": {        "path": "npx",        "args": ["-y", "openroad-mcp"]      }    }  }}
Docker / MCP Registry / Others

The server is available on the MCP Registry and via Docker:

bash
docker run --rm -i ghcr.io/the-openroad-project/openroad-mcp:latest

Most other standard STDIO clients are fully supported. Refer to your tool's MCP setup guide.

Available Tools

Once configured, your AI assistant will have access to the following tools. For detailed parameters, schemas, and return formats, see the API Reference.

  • 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

Troubleshooting

  • The server fails to start: Ensure you have Node.js 22+. Older versions will fail.
  • Session creation fails: Confirm command -v openroad works in a terminal. The server inherits PATH and searches common install locations; if your prefix is unusual, pass PATH with --env as shown in the Claude Code section.
  • Commands rejected with CommandBlocked: You sent a state-modifying command to interactive_openroad_query. Use interactive_openroad_exec instead.
  • Report images not found: The server defaults to ~/OpenROAD-flow-scripts/flow. If ORFS lives elsewhere, set ORFS_FLOW_PATH in the MCP client's env block (not a .env file).

To get more detail, set LOG_LEVEL=DEBUG in the server's environment.

Development

Clone the repository. .env.example is a local-dev reference only; copy it to .env if you use direnv or similar. The server still reads process.env (the MCP client's env block), not the file.

Then run:

bash
cd typescriptnpm installnpm run build

Testing:

bash
npm run test             # unit testsnpm run test:integration # integration testsnpm run test:performance # performance benchmarks

Linting & type checking:

bash
npm run typechecknpm run lint

Contributing

We welcome contributions! Please see CONTRIBUTING.md for detailed instructions on our development workflow and code standards.

License

BSD 3-Clause License. See LICENSE file.


Built with ❤️ by Precision Innovations

来源:README.md,提交 c366bb5

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.5.3最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分