Openroad Mcp

io.github.The-OpenROAD-ProjectPublished by GitHub account The-OpenROAD-Projectv1.1.0Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

Lets an AI assistant run and manage interactive OpenROAD physical-design sessions and inspect ORFS reports.

What you can do
The server exposes tools for interactive OpenROAD EDA sessions: it can create, list, inspect, and terminate sessions, run commands through a PTY, and query session state. It also returns command history and performance metrics, and can list and read report images produced by OpenROAD-flow-scripts runs. A query tool rejects state-modifying commands, which must go through the exec tool instead.
When to use it
Use it when an assistant needs to drive OpenROAD or ORFS digital-design flows, run RTL-to-GDSII steps, or review run reports and metrics without leaving the chat. It suits chip-design and EDA workflows rather than general software tasks.
Requirements
Runs locally over stdio, typically via npx with Node.js 22 or newer, or as a Docker image. OpenROAD must be installed and discoverable on PATH; ORFS is optional but recommended, with ORFS_FLOW_PATH defaulting to ~/OpenROAD-flow-scripts/flow. No accounts, API keys, or headers are declared.
Before you install
The exec tool runs commands in a live OpenROAD session, so it can modify designs and files in the working environment; the query tool blocks state-changing commands. The server inherits the MCP client's environment and searches PATH and common install locations, so PATH and ORFS_FLOW_PATH may need to be set explicitly. Optional LOG_LEVEL=DEBUG increases logging detail.

Installation

In SourceWeft

  1. Open Openroad Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

Source: README.md at commit c366bb5

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts