VivadoCAUTION
Vivado MCP server — 让 Claude Code / Cursor / Codex 驱动本地 FPGA 全流程。30 个精选工具、8 个证据驱动 Prompt、doctor 环境自检、GUI/Tcl/attach 会话,以及时序和 CRITICAL WARNING 中文诊断。
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://pypi.org/project/vivado-mcp/) [](https://pypi.org/project/vivado-mcp/) [](LICENSE) [](https://github.com/mapleleavessssssss-wq/vivado-mcp/actions/workflows/ci.yml)
让 Claude Code、Cursor、Codex 等 AI Agent 安全驱动本地 Xilinx Vivado。
32 个 MCP 工具覆盖会话、综合、实现、时序、CDC、XDC、IP、波形与烧录。可保存结构化时序结果、比较两次测量、离线查询 VCD 中的未知值与握手事件;通用 Vivado 操作由 run_tcl 承载。
本项目控制的是你本机安装的 Vivado,不是云端综合服务。命令在当前用户权限下执行;工具说明和诊断建议以中文为主。 English: A local Vivado MCP server with 32 tools, structured timing evidence and baseline comparison, bounded offline VCD queries, 11 workflow prompts, and 5 reusable skills.
导航:快速开始 · 实际调试场景 · 工具设计 · 工作流 Prompts · 工具列表 · 调试指南与 Skills · CLI · 反馈
环境要求
- Python ≥ 3.10,Windows / Linux
- Xilinx Vivado:必须安装在运行 vivado-mcp 的本机
- MCP Python SDK 2.x:唯一直接运行时依赖,
pip会自动安装
快速开始
1. 安装
python -m pip install vivado-mcp
多 Python 环境下,请让 MCP 客户端使用同一个 Python 解释器;必要时把下方配置中的 python 换成该解释器的绝对路径。
2. 先运行环境诊断
vivado-mcp doctor
doctor 默认完全只读,检查 Vivado 路径、init Tcl 注入、9999 端口协议、Claude Code/
7bbe5419e00fOBSERVED · 2026-10-07Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add vivado-mcp -- uvx vivado-mcp
{
"mcpServers": {
"vivado-mcp": {
"command": "uvx",
"args": [
"vivado-mcp"
]
}
}
}Exposed tools (32)
22 read · 9 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.
| Tool | Risk | Description |
|---|---|---|
check_bitstream_readiness | read | 检查比特流生成前的实现状态、时序摘要和严重警告。 |
compare_xci | read | 对比两个 XCI 文件的 IP 配置差异。 |
generate_bitstream | read | 生成比特流文件。在实现完成后执行。 |
get_cdc_report | read | 解析 CDC 报告,按时钟对、严重级别和规则计数并返回有界明细 JSON。 |
get_critical_warnings | read | 提取并分类 CRITICAL WARNING / ERROR / 非标错误,统一失败诊断入口。 |
get_io_report | read | 获取结构化 IO 引脚报告(JSON)。 |
get_ip_status | read | 检查项目中所有 IP 的版本状态(哪个需要升级、哪个已锁定)。 |
get_next_suggestion | read | 根据当前项目状态推断下一步应该做什么。 |
get_pre_commit_summary | write | 生成一段可以贴进 git commit body 的工程摘要(时序/资源/CW)。 |
get_project_info | write | 获取当前 Vivado 项目的综合信息(项目名 / part / 顶层 / 文件列表 / IP / run 状态)。 |
get_run_progress | write | 查看 run 的运行进度(适合长任务等待时看 |
get_timing_report | read | 获取结构化时序报告。 |
get_utilization_report | read | 获取资源占用摘要(LUT/FF/BRAM/DSP/IO)。 |
inspect_ip_params | read | 查询 IP 实例的所有配置参数(含 GUI 中隐藏的参数)。 |
list_sessions | read | 列出所有活跃的 Vivado 会话及其状态。 |
parse_bit_header | read | 离线解析 .bit 比特流文件头部,无需启动 Vivado。 |
parse_ltx | read | 离线解析 ILA 调试探针文件(.ltx),无需连板 / 启动 Vivado。 |
parse_xpr | read | 离线解析 Vivado 工程文件(.xpr),无需启动 Vivado。 |
program_device | read | 编程 FPGA 设备。封装 open_hw_manager → connect → program 多步操作。 |
query_waveform | read | 离线发现 VCD 信号或查询有界波形变化,返回 JSON。 |
run_implementation | write | 启动实现(布局布线);默认等待完成,也可异步提交。 |
run_synthesis | write | 启动综合;默认等待完成,也可异步提交后查询状态。 |
run_tcl | write | r |
safe_tcl | read | 执行带参数的 Tcl 命令模板,自动用 Tcl list 规则转义参数。 |
set_wave_analog | write | 把信号设为模拟(Analog)波形显示(纯 Tcl 配方,实测 Vivado 2019.1 可渲染)。 |
set_wave_zoom | destructive | 设置波形时间缩放窗口(改 wcfg XML 后 close -force + open 重载)。 |
start_session | write | 启动一个新的 Vivado 会话。 |
stop_session | write | 关闭指定的 Vivado 会话。 |
verify_io_placement_tool | read | 验证 IO 引脚分配:比对 XDC 约束与实际布局。 |
verilog_compile_check | read | 用 iverilog / verilator 做 Verilog 语法 + 连接性检查(比 Vivado 综合快 50 倍)。 |
xdc_auto_fix | read | 自动修复 XDC 文件中能安全自修的问题(MISSING_IOSTANDARD / CLOCK_NO_PERIOD)。 |
xdc_lint | read | 对 XDC 约束文件做静态检查(pure Python,不依赖 Vivado 综合)。 |
Trust audit
CAUTIONgrade B · trust 89/100 Install with care. The audit found things worth knowing before you trust its output.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | WARN |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (2 observation(s))
- Network
- declared (3 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (8)
'\n reg add "HKCU\\Environment" /v NoDefaultCurrentDirectoryInExePath /d 0 /f'
set_wave_zoom
sample_header.bit
msg_hash = hashlib.sha1(norm.encode("utf-8")).hexdigest()[:16]assert "reg add" in warn
assert "reg add" in warn
assert get_vivado_version("/usr/local/bin/vivado") == "unknown"system use found in code, not declared in the description
Gates applied: no_behavioural_pass.
7bbe5419e00ffull audit observations/trust-audit/mcp-server/mapleleavessssssss-wq__vivado.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-07 | 7bbe5419e00f | CAUTION | B | 89 | first audit |
Questions
What is the Vivado MCP server?
Vivado MCP server — 让 Claude Code / Cursor / Codex 驱动本地 FPGA 全流程。30 个精选工具、8 个证据驱动 Prompt、doctor 环境自检、GUI/Tcl/attach 会话,以及时序和 CRITICAL WARNING 中文诊断。
What tools does Vivado expose?
32 in total: 22 read-only, 9 that write, and 1 that can delete or overwrite (set_wave_zoom). Every one is listed on this page with its risk.
Is Vivado safe to connect to an agent?
With care. The audit graded it B (89/100) and found 8 things worth knowing before you trust this server, listed below with the exact line each was found on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.
What credentials does Vivado need?
No credential environment variables were found in its source, so it appears to need none.
How does Vivado run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as vivado-mcp.
How current is this page?
The grade is for one exact copy of the source (7bbe5419e00f), read on 2026-10-07. The repository is watched and re-audited when it changes.