MCP for Vivado
# MCP for Vivado
面向 AI 的 Vivado MCP 工作台。
本项目采用 `MCP-first` 设计,不提供自研桌面 GUI;Vivado 相关操作必须在真实 Vivado GUI 中执行,并在关键步骤切到对应可视上下文。
## 当前状态
- 版本:`v2.0.0`
- PM 结论:`v2 已整体完成`
- 当前发布范围:
- Windows 主线使用场景
- v2 public workflow 方法面
- phase-2 核心跨域闭环
- phase-3 proof / contract / semantic / referent / public schema 收口链条
## 适用场景
- 由 AI 调用 MCP / workflow 方法,驱动 Vivado 设计、验证与调试主流程
- 自动发现本机 Vivado 版本并完成 workspace 级绑定
- 设计 IP、设计 Block Design、运行 simulation
- 跨 simulation / timing / ILA / design follow-up 的自动回流与复验
- 在 Vivado GUI 中显示关键步骤对应的上下文
## 目录说明
- [docs/USER_INSTALL_AND_USAGE.md](/D:/ai_playgraund/vivado_mcp/docs/USER_INSTALL_AND_USAGE.md)
用户安装到使用说明
- [docs/AI_INSTALL_AND_USAGE.md](/D:/ai_playgraund/vivado_mcp/docs/AI_INSTALL_AND_USAGE.md)
面向 AI / Agent 的接入说明
- [docs/AI_MCP_RELEASE_INSTALL.md](/D:/ai_playgraund/vivado_mcp/docs/AI_MCP_RELEASE_INSTALL.md)
面向 AI / MCP 客户端的发行安装说明
- [scripts/install_mcp_for_ai.ps1](/D:/ai_playgraund/vivado_mcp/scripts/install_mcp_for_ai.ps1)
Windows 一键安装脚本
- [docs/mcp/V2_PUBLIC_API.md](/D:/ai_playgraund/vivado_mcp/docs/mcp/V2_PUBLIC_API.md)
v2 public MCP 方法清单
- [docs/pm/V2_FINAL_COMPLETION_MEMO.md](/D:/ai_playgraund/vivado_mcp/docs/pm/V2_FINAL_COMPLETION_MEMO.md)
v2 最终收口 memo
- [docs/V2_RELEASE_PACKAGE.md](/D:/ai_playgraund/vivado_mcp/docs/V2_RELEASE_PACKAGE.md)
v2 发布包说明与发布清单
## 快速开始
1. 安装 Python `3.11+`
2. 安装 Vivado,并确保版本不低于 `2018.3`
3. 执行:
```powershell
cd D:\ai_playgraund\vivado_mcp
powershell -ExecutionPolicy Bypass -File .\scripts\install_mcp_for_ai.ps1
```
4. 按 [docs/USER_INSTALL_AND_USAGE.md](/D:/ai_playgraund/vivado_mcp/docs/USER_INSTALL_AND_USAGE.md) 或 [docs/AI_INSTALL_AND_USAGE.md](/D:/ai_playgraund/vivado_mcp/docs/AI_INSTALL_AND_USAGE.md) 开始使用
## 当前入口
当前发布版暴露的是 Python 进程内 MCP 风格入口:
- [server.py](/D:/ai_playgraund/vivado_mcp/src/fpga_mcp/mcp/server.py)
- [v2_public_server.py](/D:/ai_playgraund/vivado_mcp/src/fpga_mcp/mcp/v2_public_server.py)
核心类:
- `fpga_mcp.FpgaMcpServer`
- `fpga_mcp.FpgaMcpV2PublicServer`
说明:
- 当前仓库提供的是“方法注册 + 协议返回壳 + orchestration 接线”的 Python 包入口
- 不是一个独立的 stdio / HTTP 传输层服务
- 若要接入外部 AI 宿主,可在宿主中直接导入 `FpgaMcpV2PublicServer` 并调用 `list_methods()` / `invoke()`
## v2 Public 方法
- `create_workflow`
- `get_workflow`
- `list_workflows`
- `design_block_design`
- `design_ip`
- `run_simulation`
- `confirm_workflow`
- `reject_workflow`
- `cancel_workflow`
- `submit_workflow_input`
- `get_workflow_events`
TDQS
Scored across 15 tools
Most tools have distinct purposes (e.g., workflow CRUD, toolchain management, design intents), but 'cancel_workflow' and 'reject_workflow' could be ambiguous—both involve stopping a workflow but with different semantics. Descriptions are brief but generally clear.
Tool names follow a consistent verb_noun pattern (e.g., create_workflow, list_workflows). Minor inconsistency: 'design_block_design' is redundant (block design appears twice), and 'run_simulation' uses a different verb style than 'design_*' intents.
15 tools is well-scoped for a Vivado MCP server covering workflow lifecycle, design intents, toolchain registration, and public methods. Each tool serves a clear purpose without unnecessary bloat.
Covers CRUD for workflows, toolchain registration, and design intents. Minor gaps: lacks update/delete for registered toolchains (only remove), and no tool for listing or managing IP/block designs after creation. Core workflows are complete.