OpenROAD MCP服务器

一个提供与OpenROAD和ORFS交互工具的模型上下文协议服务器,支持交互式会话、会话管理、性能指标等功能。

  • by ArmaanBawa
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ArmaanBawa/openROAD-mcp

使用说明

OpenROAD MCP服务器

一种模型上下文协议(MCP)服务器,提供与OpenROAD和ORFS(OpenROAD流脚本)交互的工具。

特性

  • 交互式OpenROAD会议 -在支持PTY的持久OpenROAD会话中执行命令
  • 会话管理 -创建、列出、检查和终止多个会话
  • 命令历史记录 -访问任何会话的完整命令历史记录
  • 性能指标 -获取所有会话的全面指标
  • 报表可视化 -从ORFS运行中列出并读取报告图像

需求

  • 开放道路 已安装并在PATH中可用
  • OpenROAD流脚本(ORFS) 用于完整的RTL到GDS流程(可选但推荐)
  • Python 3.13+ 或更高
  • 紫外线 包管理器
    • 安装: curl -LsSf https://astral.sh/uv/install.sh | sh

支持矩阵

MCP客户端 支持 传输模式 注意事项
Gemini CLI ✅ STDIO 完全支持所有功能
其他MCP客户端 ❓ STDIO 应使用标准STDIO传输

入门指南

OpenROAD MCP新手? 查看我们的 快速入门指南.

标准配置

所有MCP客户端的基本配置:

{
  "mcpServers": {
    "openroad-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/ArmaanBawa/openROAD-mcp",
        "openroad-mcp"
      ]
    }
  }
}

对于本地开发,请使用:

{
  "mcpServers": {
    "openroad-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/openroad-mcp",
        "run",
        "openroad-mcp"
      ]
    }
  }
}

安装

Gemini CLI

跟随 Gemini MCP安装指南,使用 标准配置 上面。

Docker

MCP服务器在GHCR上作为Docker镜像发布。您可以直接运行它:

docker pull ghcr.io/armaanbawa/openroad-mcp:latest
docker run -it --rm ghcr.io/armaanbawa/openroad-mcp:latest

验证

配置后,重新启动MCP客户端并验证MCP服务器是否正在运行:

  1. 当您的MCP客户端启动时,服务器应自动启动
  2. 您可以通过MCP界面使用OpenROAD工具
  3. 如果工具不可用,请检查日志中是否有任何启动错误

可用工具

配置后,以下工具可用:

  • interactive_openroad -在交互式OpenROAD会话中执行命令
  • create_interactive_session -创建新的OpenROAD会话
  • list_interactive_sessions -列出所有活动会话
  • terminate_interactive_session -终止会话
  • inspect_interactive_session -获取详细的会话信息
  • get_session_history -查看命令历史记录
  • get_session_metrics -获取性能指标
  • list_report_images -列出ORFS报告目录映像
  • read_report_image -读取ORFS报告图像

故障排除

如果MCP服务器无法启动:

  1. 确保 uv 已安装并在PATH中可用
  2. 验证通往开路mcp的路径是否正确
  3. 检查是否安装了所有依赖项: make sync
  4. 查看MCP客户端日志以了解特定的错误消息

发展

设置

# Install environment
uv venv
make sync

测试

# Run core tests (recommended - excludes PTY tests that may fail in some environments)
make test

# Run interactive PTY tests separately (may have file descriptor issues in CI)
make test-interactive

# Run all tests including potentially problematic PTY tests
make test-all

# Format and check code
make format
make check

备注:交互式PTY测试是分开的,因为它们在某些环境(容器、CI系统)中可能会遇到文件描述符问题。核心功能测试(make test)提供MCP集成的全面覆盖,而不会出现这些特定于环境的问题。

MCP检查员

# Launch MCP inspector for debugging
# For STDIO transport: Set Command as "uv", Arguments as "run openroad-mcp"
make inspect

贡献

我们欢迎为OpenROAD MCP做出贡献!请参阅 贡献.md 有关如何开始、我们的开发工作流程和代码标准的详细说明。

支持

如果您遇到任何问题或有疑问,请在我们的 GitHub问题跟踪器.

许可证

BSD 3条款许可证。看 许可证 文件。


建于❤️ 通过精准创新