Skip to content
Agentmart
Submit a tool

Openroad MCP

The OpenROAD MCP server - interactive EDA sessions.

Connector by luarss · GitHub account verified by the MCP Registry

IndexedBSD-3-ClauseLocal (stdio)★ 30
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/luarss-openroad-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Runs code on install

Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.

Tools
10 read · 1 write · 4 delete
Secrets
None asked for
Install scripts
Runs code on install
Runs as
Python package

Tools by what they do 15

Read from the source code; the running server may list different tools.

Read 10 · Look things up without changing anything.

  • get_orfs_job
  • get_session_history
  • get_session_metrics
  • grep_session_output
  • inspect_interactive_session
  • interactive_openroad_query
  • list_interactive_sessions
  • list_report_images
  • read_orfs_metrics
  • read_report_image

Write 1 · Create, change, send or run things.

  • create_interactive_session

Delete 4 · Delete, drop, revoke or wipe things.

  • cancel_orfs_job
  • interactive_openroad_exec
  • run_orfs_stage
  • terminate_interactive_session

Network hosts it talks to 6

  • api.github.com · found in code
  • brew.sh · found in code
  • dashboard.precisioninno.com · found in code
  • deb.nodesource.com · found in code
  • ffmpeg.org · found in code
  • github.com · found in code

Files it touches

  • /home/node/.claude
  • /opt/conda/bin
  • /opt/homebrew/bin
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (15)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • cancel_orfs_jobcan change or delete data

    Terminate a running flow job and every process it spawned, so no orphaned openroad process is left behind.

  • create_interactive_session

    Create a new interactive OpenROAD session.

  • get_orfs_jobread-only

    Poll a flow run started by run_orfs_stage: status, elapsed time, the ORFS stage currently executing, detailed-route iteration and live DRC violation count, CPU and memory, and the tail of the run log. Once the run succeeds it also carries the parsed stage metrics. Omit job_id to list every run. For a QoR verdict, call read_orfs_metrics with check_qor.

  • get_session_historyread-only

    Get command history for an interactive OpenROAD session.

  • get_session_metricsread-only

    Get comprehensive metrics for all interactive OpenROAD sessions.

  • grep_session_outputread-only

    Search the output of commands already run in a session, without re-running them or re-sending a large result. `pattern` is a regular expression, falling back to a substring search if it does not compile. Use `context_lines` to see surrounding lines and `command_number` to search one command's output. Only recent output is retained (OPENROAD_OUTPUT_HISTORY_CHARS, default 256 KB); the result reports how much was searched and whether older output has been evicted.

  • inspect_interactive_sessionread-only

    Get detailed inspection data for an interactive OpenROAD session.

  • interactive_openroad_execcan change or delete data

    Execute a state-modifying OpenROAD command (set_*, create_*, read_*, write_*, flow commands). Use this for loading designs, running placement/routing, applying constraints, and writing output files. Only the BLOCKED_COMMANDS list (quit, socket, load, glob, etc.) is rejected; read-only commands such as report_* are also accepted here. Use interactive_openroad_query instead for queries to keep state changes visible and auditable. Results carry `truncated`, `bytes_discarded` and `total_bytes`: when `truncated` is true the output lost its beginning to the session buffer and is a PARTIAL answer, so…

  • interactive_openroad_queryread-only

    Execute a read-only OpenROAD command (report_*, get_*, check_*, sta, help, etc.). Use this for querying design state, generating reports, and inspecting timing. Commands that modify design state are blocked — use interactive_openroad_exec instead. Results carry `truncated`, `bytes_discarded` and `total_bytes`: when `truncated` is true the output lost its beginning to the session buffer and is a PARTIAL answer, so do not treat it as complete — narrow the command and re-run.

  • list_interactive_sessionsread-only

    List all active interactive OpenROAD sessions.

  • list_report_imagesread-only

    List available report images from ORFS runs organized by stage.

  • read_orfs_metricsread-only

    Read an ORFS design's per-stage metrics and the tagged errors/warnings from each stage log. Set `check_qor` to also send the selected stages' metrics to the public QoR dashboard and get its verdict against the latest master build (`qor_check`: status, baseline, totals, failing metrics). Use `stage: all` to send every stage's metrics. Platforms outside the public ORFS list are not sent and come back `inconclusive`; an unreachable dashboard is `unreachable`, not a failure. Prefer this over shelling out to find/cat/jq/grep in the flow tree. `stage` accepts a step name (cts, place, route, floorpla…

  • read_report_imageread-only

    Read a report image (congestion, IR-drop, placement, clock tree) and return it as a viewable image alongside its metadata. Optionally pass max_size_kb to override the configured base64 budget for this call; larger budgets keep more detail in heatmaps.

  • run_orfs_stagecan change or delete data

    Run an ORFS flow stage (synth, floorplan, place, cts, grt, route, finish, or a clean_* target) via make, streaming output to a file rather than the session buffer. Returns a job_id immediately so a multi-hour route does not block the call; pass wait_seconds to get the finished result inline when the stage is short. `overrides` become make command-line assignments (e.g. {"CTS_CLUSTER_SIZE": "20"}), which take precedence over both the environment and the Makefile. Poll with get_orfs_job for live progress, and the parsed stage metrics once it finishes. Set dry_run to see what make would do withou…

  • terminate_interactive_sessioncan change or delete data

    Terminate an interactive OpenROAD session.

Signals

Stars
30
Forks
11
Open issues
1
Contributors
9
Weekly downloads
36
Last commit
Oct 23, 2026 (6 days ago)
Last release
Aug 26, 2026 (2 months ago)
Last package publish
Jul 30, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.luarss/openroad-mcp
Version
0.5.3
Auth
No auth
Packages
pypi openroad-mcpoci ghcr.io/luarss/openroad-mcp:0.5.3
License
BSD-3-Clause
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from luarss

Cite this page

Openroad MCP. Agent Mart. https://agentmart.dev/connectors/luarss-openroad-mcp (last updated 2026-10-24)