# openroad-mcp

Wires your assistant into OpenROAD: run commands, manage physical design sessions, read history and metrics from chat. Saves the terminal round-trips on RTL-GDSII work.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 30
- Author: The-OpenROAD-Project
- License: BSD-3-Clause · policy=link-only · description only; the file stays with the author
- Source: https://github.com/The-OpenROAD-Project/OpenROAD-MCP
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/openroad-mcp

## What it does

The server hands your assistant tools for OpenROAD and ORFS. It runs commands inside an interactive session, keeps several sessions alive at once, and exposes command history plus run metrics. Report images from ORFS open as pictures in the chat.

Ten tools sit behind it. `interactive_openroad_query` handles read-only requests; `interactive_openroad_exec` takes the ones that change state. The rest create, list, inspect and terminate sessions, fetch history and metrics, and read report images. On boot the server builds `PATH` itself — current value first, then your login shell, then usual install spots such as `/opt/homebrew/bin`.

Have Node.js 22+ and OpenROAD on `PATH` before you start. ORFS is optional, but without it you lose the full RTL-to-GDS flow and report visualization. An OpenROAD build in an unusual prefix needs its `PATH` passed through the client's `env` block; the published package ignores a `.env` file. A state-changing command sent to `interactive_openroad_query` comes back rejected as `CommandBlocked`.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add openroad-mcp -- npx -y openroad-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add openroad-mcp -- npx -y openroad-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "openroad-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "openroad-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "openroad-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "openroad-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add openroad-mcp npx -y openroad-mcp
```

## When to use it
- drive OpenROAD commands from the assistant chat
- keep several physical design sessions running at once
- pull command history and run metrics
- view ORFS report images inside the chat
- point the server at a non-standard OpenROAD build

## Example prompts
- Start an interactive OpenROAD session and list the available commands
- Run the library read in the session and return the metrics
- Show me the report images from the last ORFS run

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
