Skip to main content
Glama

Vivado Agent MCP

CI License Python

面向 AMD Vivado 的 MCP server。它让支持 MCP 的 Agent 通过结构化、受策略约束的工具执行无板卡 Vivado Project Mode PL 开发流程,并保留可诊断、可复现的工程证据。

项目状态

项目

当前口径

软件成熟度

Alpha,适合研究、开发和受监督试用

Python 包版本

0.10.0

受信任执行策略

精确 2021.2,其它版本 fail-closed

公开 commit-bound Live qualification

源提交 4bfd3dbqualified;后续提交不自动继承

操作系统

Windows

主要范围

纯 RTL/XDC 的 Vivado Project Mode 无板卡软件闭环

真实 FPGA/JTAG 验证

NOT_VALIDATED

公开源码不代表当前版本已达到无人监督生产部署标准。当前支持范围、安全边界和已知限制以本 README 与 SECURITY.md 为准。

Related MCP server: Vivado MCP Native

实现与验证状态

能力

实现状态

当前验证证据

MCP stdio、工具发现、结构化响应

已实现

单元测试、stdio 契约测试、GitHub Actions

本地 Vivado GUI 与认证 Tcl 通道

已实现

fake-session;4bfd3db commit-bound Vivado 2021.2 qualification record

工程、fileset、top、语言、compile order

已实现

单元测试、stateful fake-session workflow;已有工程 per-file 语义重建通过本地 Vivado 2021.2 定向 smoke

XSIM behavioral simulation 与失败诊断

已实现

解析/安全回归;4bfd3db 的 S01 真实 XSIM 软件资格记录,公开普通 CI 不启动 Vivado

synthesis、implementation、bitstream

已实现受管调用和结果解析

fake-session、场景 runner;4bfd3db 的真实 Vivado 2021.2 S01 软件资格记录

timing、utilization、DRC、QoR、CDC、power

已实现报告生成和解析接口

fixtures、单元测试;4bfd3db 的 report/signoff/audit evidence digest

artifact、signoff、audit、diagnostic handoff

已实现

契约测试、场景 runner、bundle 完整性与新鲜度校验;4bfd3db qualification evidence

Hardware Manager、JTAG、烧录、ILA/VIO

实验接口,默认关闭

仅负路径和门禁测试;真实硬件 NOT_VALIDATED

GitHub Actions 的绿色状态证明 Python、MCP 契约和发行物安装链路。仓库公开保存源提交 4bfd3dbba05dc5fab9cdb048776a70de6d75f731 的 commit-bound Vivado 2021.2 qualification record;该记录来自维护者 self-hosted Windows 环境,不表示普通 GitHub-hosted Runner 安装了 Vivado。任何后续 commit 都必须生成自己的 record,不能继承 4bfd3db 的资格;软件 qualification 也不表示真实 FPGA 硬件通过。

Commit-bound Live Vivado Qualification

仓库提供第一版正式 qualification 合约,用于把一个 Git commit、immutable source archive、exact wheel/sdist、真实 Vivado executable/build、确定性 fixture 和最终 evidence digest 绑定到同一机器可验证记录:

资格状态含义:

状态

含义

trusted

版本/可执行文件符合管理员配置的执行策略,但尚未完成本 commit 的完整 live qualification

qualified

exact source/package、真实 Vivado build、S01 live 软件流和完整新鲜 evidence 均通过校验

compatible

存在兼容性观察证据,但不会自动获得 trusted 执行资格

unvalidated

尚无可接受的 commit-bound live evidence

rejected

live 运行失败、被中断,或身份/证据契约不成立

qualified 只证明无板卡 Project Mode 软件流。它不会把 hardware_validation.statusNOT_VALIDATED 改为真实板卡通过。tracked matrix 只在审阅 qualification record 后更新;普通 Python CI、mock、fake-session、doctor 或维护者口头 smoke 都不能产生 qualified

安全边界

  • MCP list_tools 定义、core/advanced/all profile、risk、MCP annotations、Agent catalog 和 workflow tags 由同一 CapabilitySpec 投影生成;selftest 会检查公开 annotations 是否与该契约一致。

  • 默认 core profile 只暴露标准 workflow、诊断和恢复工具。

  • 公共 run_tcl / safe_tcl 不能执行任意 Tcl,只保留 dry-run 分类。

  • 已有工程通过 Vivado 原生 open_project -read_only 与 MCP policy 双重进入 inspection-only 模式;需要执行时,Agent 必须先采集三个 fileset 的受支持逐文件语义,再在独立路径创建并核对 MCP 管理的工作工程。

  • trusted XSIM 只适用于管理员已审阅并显式放入可信根的纯 RTL 工程;它不是操作系统沙箱。

  • 删除、重置和清理操作默认 dry-run,并要求 identity、intent 和固定确认。

  • Hardware Manager、烧录、JTAG、ILA/VIO 和真实板卡行为不属于当前验证范围。

  • READY 只表示相应的软件证据就绪,绝不表示真实 FPGA 硬件通过。

详细威胁边界见 SECURITY.md

环境要求

  • Windows 10/11。

  • Python 3.113.12

  • AMD Vivado 2021.2。版本证明保留完整补丁号;包括 2021.2.1 在内的其它版本当前不会继承 2021.2 的受信任资格,而是 fail-closed。

  • 一个独立、可写的 runtime 目录。

  • 使用 XSIM 时,显式配置经过审阅的可信工程根目录。

从源码安装

git clone https://github.com/zzszzs-lll/vivado-agent-mcp.git
cd vivado-agent-mcp
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -e .

确认入口:

.\.venv\Scripts\vivado-agent-mcp.exe --help
.\.venv\Scripts\vivado-agent-mcp.exe --version

不带参数的 vivado-agent-mcp 会启动 stdio MCP server,不是人工交互式 CLI。

首次自检

先检查 Python、runtime、Vivado 路径、XSIM companion tools 和有界启动探针:

$env:VIVADO_PATH = "C:\Xilinx\Vivado\2021.2\bin\vivado.bat"
.\.venv\Scripts\vivado-agent-mcp.exe doctor

再检查 MCP stdio、工具发现、结构化响应、安全门禁和硬件边界:

.\.venv\Scripts\vivado-agent-mcp.exe selftest `
  --output-dir .\.vivado_agent_mcp\selftest

doctorselftest 通过不等于已完成真实工程或真实板卡验证。

MCP 客户端配置

将下列路径替换为本机实际路径:

{
  "mcpServers": {
    "vivado-agent": {
      "command": "C:/path/to/vivado-agent-mcp/.venv/Scripts/vivado-agent-mcp.exe",
      "args": [],
      "env": {
        "VIVADO_PATH": "C:/Xilinx/Vivado/2021.2/bin/vivado.bat",
        "VIVADO_AGENT_MCP_RUNTIME_DIR": "C:/vivado-agent-mcp-runtime/runtime",
        "VIVADO_AGENT_MCP_TRUSTED_PROJECT_ROOTS": "C:/fpga-work",
        "VIVADO_AGENT_MCP_TOOL_PROFILE": "core",
        "SystemRoot": "C:/WINDOWS",
        "WINDIR": "C:/WINDOWS"
      }
    }
  }
}

可直接参考:

关键环境变量:

变量

作用

VIVADO_PATH

服务器启动前配置的可信 vivado.bat 绝对路径;MCP 工具参数不能覆盖它

VIVADO_AGENT_MCP_RUNTIME_DIR

MCP bootstrap、会话日志和 Vivado 临时文件的统一 runtime 根目录

VIVADO_AGENT_MCP_TRUSTED_PROJECT_ROOTS

允许 trusted XSIM 执行的本地工程根;Windows 多根用 ; 分隔

VIVADO_AGENT_MCP_TOOL_PROFILE

工具暴露策略,普通用户保持 core

SystemRoot / WINDIR

避免部分 MCP 宿主子进程缺少 Windows 基础环境变量

Agent 使用协议

Agent 开始 Vivado 工作时应遵循以下顺序:

  1. 调用 get_tool_catalog,确认当前 profile、工具和硬件边界。

  2. 调用 get_agent_workflows,选择新工程、已有工程审计、仿真修复或 handoff 流程。

  3. 按 recipe 的 steps 执行,并直接消费结构化 next_actions

  4. 遇到 BLOCKstop_required=true 或安全门禁时停止,不使用 Shell 绕过。

  5. bitstream 生成只代表构建完成;完整 Agent handoff 还需要 artifact、report、signoff、audit 和 diagnostic evidence。

  6. 任何无板卡结果都必须保持 hardware_validation.status=NOT_VALIDATED

get_tool_catalog 默认返回适合 Agent 路由的紧凑 CapabilitySpec 投影;需要审计 profile、workflow tags、状态前置条件和 dispatch lane 时,传入 {"detail":"full"}

推荐从 get_agent_workflows 选择标准路径:新工程先完成语法与有限时长仿真,再异步启动 synthesis/implementation/bitstream 并轮询;已有工程默认只读检查;bitstream 后继续收集 artifact、report、signoff、audit 和 diagnostic bundle 才算完整 handoff。

本 MCP 是 Vivado 控制与诊断平面,不负责创建或修改 RTL、SystemVerilog testbench 等源码字节。新工程和源码修复流程要求 Agent 同时具备经过用户授权的文件读取与代码编辑能力;Vivado、XSIM、run、报告和安全门禁仍应通过本 MCP 执行,不应使用 Shell 绕过。

验证范围

  • python -m pytest:Python 单元测试、解析器、安全门禁、fake session 与 MCP 契约。

  • tests/agent_stdio_regression.py:只通过 MCP stdio 消费 catalog、workflow、next_actions 和诊断结果。

  • tests/agent_scenario_runner.py:S00-S07 Agent 场景;默认不启动 Vivado,显式 --include-live-vivado 才运行本地软件流程。

  • tests/live_qualification_runner.py:使用 exact wheel、source provenance 和 S01 MCP stdio live flow 生成 commit-bound qualification record;未显式授权 live 或环境不可用时只能生成 unvalidated / unavailable 结果。

  • doctor:检查本机 Python、runtime 和由实际 vivado -version 输出证明的 Vivado 版本。

  • selftest:检查已安装入口、stdio、工具目录、结构化响应和安全边界。

  • GitHub CI 使用 requirements/ 中按 Python 版本区分的精确版本与 SHA256 lock;发行物从 immutable git archive HEAD snapshot 构建,并逐字节核对 wheel 中的 Python package members。

  • CI 使用 source-provenance.json 将当前 clean Git identity、逐字节 package manifest 与 exact wheel SHA 交叉绑定,在 Python 3.11/3.12 安装同一个 wheel,并验证 sdist;wheel、sdist、SHA256SUMS、provenance 和 smoke reports 作为短期 Actions artifact 保留。它们不是 tag、Release 或 PyPI 发布。

  • 真实 FPGA、JTAG、烧录、ILA/VIO 不在当前验证范围内。

Runtime 与工程产物

  • runtime 临时内容统一写入 VIVADO_AGENT_MCP_RUNTIME_DIR,可用 get_runtime_cache_status 查看,并通过 clean_runtime_cache 的 dry-run 计划安全清理。

  • 工程交付物只写入工程目录内的 vmcp_artifactsvmcp_reportsvmcp_signoffvmcp_diagnosticsvmcp_constraints

  • MCP 不会把工程交付物混入统一 runtime;runtime 清理也不会删除工程内 vmcp_* 结果。

  • 当前 diagnostic bundle 是绑定原工程路径和文件哈希的 project-local reference index,不是可复制到另一台机器后独立验证的 portable archive。

常见问题

  • doctor 找不到 Vivado:在启动 MCP server 或 doctor 前设置 VIVADO_PATH 为可信 vivado.bat 的绝对路径。可选 --vivado-path 只能重复声明同一个 canonical 文件身份,不能选择其它 executable。

  • 路径看似是 2021.2 但仍被阻断:目录名只是提示;只有实际 vivado -version 输出可以证明版本。

  • 实际版本是 2021.2.1:当前验证矩阵只覆盖精确的 2021.2,补丁版本需要单独资格验证,默认会被阻断。

  • Vivado GUI 无法显示:MCP 宿主必须运行在可交互的 Windows 桌面会话中。

  • 仿真被 VCD 门禁阻断:使用有限 run_time,优先保留 WDB,避免 testbench 无限 dump。

  • 已有工程无法直接执行:open_project 使用 Vivado -read_only 并施加 MCP inspection-only policy;按 next_actions 采集 sources_1constrs_1sim_1file_specs,在独立路径完成语义等价重建后再执行。

  • core profile 看不到硬件工具:这是默认安全策略,且真实硬件当前未验证。

开发与验证

python -m pytest
python -m compileall src
git diff --check

安装态 smoke、Agent scenario runner 和 Vivado live 验证入口见 贡献指南

已知限制

  • 当前受信任执行基线固定为 Windows 与 Vivado 2021.2;其它 Vivado 版本默认 fail-closed。

  • 受信任版本不等于已完成公开 qualification;以 tracked qualification matrix 和对应 workflow artifact 为准。

  • 当前主流程是 Project Mode,不覆盖 Non-Project Mode。

  • 已有工程默认按 inspection-only 边界接手,避免 Agent 无意修改外部工程。

  • working-copy 重建只复现当前 allowlist 中的逐文件语义,包括 file type、library、global include、used-in、XDC processing order 和 scope;发现未知、缺失或重建后不一致时会 fail-closed。

  • RTL/Testbench 的创建与修改依赖 Agent 宿主提供的受控文件编辑能力;本 MCP 当前不提供 HDL 源码 patch 工具。

  • diagnostic handoff 当前限于原工程可访问的 project-local reference 模式,不支持跨机器 portable bundle。

  • trusted XSIM 只适用于管理员已审阅的纯 RTL/XDC 工程,不构成恶意 HDL 的操作系统级隔离。

  • 真实板卡、JTAG、烧录、ILA/VIO 和 flash cfgmem 尚未验证,相关状态必须保持 NOT_VALIDATED

  • 当前版本定位为 Alpha,建议在受监督、可回滚的工程副本上使用。

参与贡献

提交 Issue 或 Pull Request 前请阅读 CONTRIBUTING.md。安全问题请按 SECURITY.md 私下报告,不要在公开 Issue 中披露利用细节。

许可证

本项目采用 Apache License 2.0

本项目不包含或分发 AMD Vivado。用户需要自行取得、安装 Vivado,并遵守适用的 AMD 软件许可条款。

AMD、Vivado、Xilinx 及相关名称可能是其各自权利人的商标。本项目是独立开源项目,不隶属于 AMD,也不代表其官方认可或支持。

Available Tools

41 tools
analyze_sourcesC

Aggregate syntax and compile-order diagnostics for a fileset.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesetNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state whether the tool performs read-only analysis, can be expensive, respects the timeout, or produces a combined report. The term 'aggregate' hints at merging diagnostics but leaves the actual behavior opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single concise sentence that front-loads the core operation with no wasted words. It is efficiently phrased, though it sacrifices semantic detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal for a tool with no annotations, two under-documented parameters, and a meaningful diagnostic role. An output schema exists, so return values are covered, but an agent still lacks context about default behavior, requirement of fileset, and when this tool is the appropriate choice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description must compensate, but it only clarifies that the operation targets 'a fileset.' It does not explain the meaning or allowed values of fileset, nor the behavior and units of timeout_s beyond what the parameter name already suggests.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('aggregate') and names a clear resource: syntax and compile-order diagnostics for a fileset. It is clear about what the tool does, though it does not explicitly differentiate it from siblings like check_syntax or get_compile_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as check_syntax, get_compile_order, or run_project_audit. The meaning of 'aggregate' implies a combined diagnostic view, but there is no explicit context, prerequisite, or exclusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_timing_closureC

Aggregate timing, constraints, methodology, DRC, and run messages into prioritized findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It says the tool aggregates information into findings, but it does not disclose whether this runs analysis, blocks for a long time, requires existing run data, or has other side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler and front-loads the main action and scope. It is appropriately short, though it sacrifices some useful detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This appears to be a complex aggregation tool, yet the description provides almost no context about prerequisites, expected runtime, or how results relate to existing project state. The output schema may describe return values, but the description still lacks enough context for an agent to safely decide when to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter, timeout_s, with 0% description coverage, and the tool description does not mention it at all. Although the parameter name hints at a timeout in seconds, the description adds no meaning beyond the schema and fails to compensate for the missing schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action — 'aggregate' — and a clear resource scope: timing, constraints, methodology, DRC, and run messages. This distinguishes it from single-domain siblings like get_timing_summary or get_constraints_summary, though it does not explicitly name an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus the many related siblings. The aggregation wording implies a comprehensive analysis use case, but no preconditions, exclusions, or alternative routing are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_bitstream_readinessC

Aggregate timing, DRC, and critical messages into READY/WARN/BLOCK.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior, but it only says the tool 'aggregate[s]' messages. It does not clarify whether this is read-only, whether it waits for running jobs, whether a project/session must be active, or how the READY/WARN/BLOCK decisions are made. 'Aggregate' hints at non-mutating behavior, but that is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly worded sentence that front-loads the core purpose and the output states. Every word contributes; there is no filler or redundant restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema existing, the description is too thin for an agent to use the tool correctly in context. It does not explain whether the tool runs checks or reads existing results, what constitutes a WARN versus BLOCK threshold, or how the timeout parameter affects the call. The optional timeout and lack of required parameters reduce risk, but the semantic gaps remain significant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one optional parameter, timeout_s, with 0% schema description coverage, and the description does not mention it at all. The parameter name suggests seconds and optionality, but the description adds no meaning about defaults, units, or behavior when omitted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action—aggregating timing, DRC, and critical messages—and names the resulting statuses READY/WARN/BLOCK, so an agent can understand what the tool does. It does not explicitly differentiate from close siblings like run_pre_hw_signoff or get_timing_summary, but the aggregate-readiness focus provides reasonable clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to call this tool versus alternatives such as run_pre_hw_signoff, diagnose_run_failure, or get_timing_summary. There are no prerequisites, exclusions, or contextual triggers, so an agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_syntaxC

Run Vivado native syntax check for a fileset.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesetNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure, but it only states that a check is run. It does not reveal whether the check mutates the fileset, whether a session/project must already exist (given siblings like start_session and open_project), or whether artifacts are produced. The word 'native' hints at the mechanism but not the side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single nine-word sentence with no filler or redundancy, and the core action is front-loaded. It is efficiently structured, even though the content is thin; the brevity itself is not the weakness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Though an output schema exists, the description omits critical operational context: preconditions (session/project state, given sibling tools start_session and open_project), side effects, and relationship to overlapping tools like analyze_sources. For a tool in a large suite with zero annotations, one sentence is insufficient for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only loosely references 'a fileset,' giving minimal meaning to the fileset parameter. The timeout_s parameter is completely unaddressed; the agent must infer its units and behavior from its name alone, and nothing in the description clarifies its role in the syntax check.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Run') and resource ('Vivado native syntax check') scoped to 'a fileset,' which clearly identifies the tool's core action. It lacks explicit differentiation from siblings such as analyze_sources or check_timing_constraints, so it doesn't earn a 5, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With 40+ sibling tools including analyze_sources, check_timing_constraints, and detect_vivado_environment, the agent gets no conditions, exclusions, or prerequisites to route correctly. No context for when 'native syntax check' is preferred over other verification flows.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_timing_constraintsC

Run and parse Vivado check_timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure, but it only says 'run and parse' without explaining side effects, session requirements, whether the design must be synthesized/implemented first, or whether this is a read-only operation. The presence of an output schema covers return structure but not the behavioral context of executing a Vivado command.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, which is efficient, but it is under-specified rather than concise. A few additional sentences about when to use the tool and what it requires would earn their place; as written, the description omits critical decision-making information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having only one optional parameter and an output schema, the tool sits among many timing-related siblings and has no annotations. An agent needs more context about session prerequisites, what 'parse' means for the returned data, and how this differs from get_timing_summary or analyze_timing_closure to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, and the description does not explain the timeout_s parameter beyond its name. While the parameter is optional and self-explanatory, the description adds no meaningful semantics about default behavior, units, or consequences of setting a timeout.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('run and parse') and a specific resource ('Vivado check_timing'), so an agent can tell this invokes the Vivado check_timing command. It does not explicitly differentiate itself from timing-related siblings like get_timing_summary or analyze_timing_closure, but the command name is specific enough to be unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to call this tool versus alternatives such as get_timing_summary, get_timing_paths, or analyze_timing_closure. The description implies it runs a timing check, but does not state prerequisites like requiring an open project/session or a completed implementation run, nor does it exclude less appropriate contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clean_run_outputsC

Delete selected Vivado generated run/simulation/cache outputs inside the current project directory only.

ParametersJSON Schema
NameRequiredDescriptionDefault
intentNo
confirmNo
dry_runNo
simsetsNo
run_namesNo
timeout_sNo
include_genNo
include_cacheNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It states the destructive action ('Delete') and a scope guard, but it does not mention irreversibility, confirmation flow, dry-run support, or side effects on project state. A delete tool with this little behavioral context is risky for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single efficient sentence and the key action is front-loaded. However, it is terse to the point of under-specification, leaving out critical operational information. It is compact but not adequately informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive tool with eight undocumented parameters and no annotations, this description is far from complete. The agent lacks information about confirm/dry_run semantics, which outputs are eligible for selection, how to specify simsets/run_names, and how this tool relates to clean_runtime_cache. The output schema does not make up for these operational gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, with eight parameters (intent, confirm, dry_run, simsets, run_names, timeout_s, include_gen, include_cache) and no parameter descriptions. The description vaguely references 'selected' outputs but does not explain the meaning or role of any parameter. It fails to compensate for the total lack of schema-level documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Delete'), a clear resource ('Vivado generated run/simulation/cache outputs'), and a precise scope ('inside the current project directory only'). This is sufficient to distinguish it from sibling clean_runtime_cache without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to choose this tool over clean_runtime_cache or other cleanup/collect tools. The only scoping cue is 'inside the current project directory only,' which is a constraint rather than usage direction. The agent must infer when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clean_runtime_cacheB

Dry-run or safely clean temporary files from the MCP runtime directory without touching project vmcp_* artifacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
plan_sha256No
runtime_dirNo
max_age_hoursNo
include_unknownNo
execution_intentNo
runtime_identityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It promises 'safely clean' and not touching vmcp_* artifacts, but doesn't disclose whether actual deletion is the default, what confirmation is required, how dry_run alters behavior, or how include_unknown affects the operation. This is a notable gap for a destructive cleanup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It states the action, the target location, and the key constraint in under 20 words, which is ideal for quick parsing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Though an output schema exists and no parameters are required, the one-sentence description leaves critical invocation details unspecified: the relationship between dry_run and confirm, the meaning of max_age_hours, allowed values for execution_intent, and the default behavior if confirm is absent. For a cleanup tool with 8 undocumented parameters, this is insufficient even if the purpose is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 8 parameters have zero schema description coverage, and the tool description only hints at runtime_dir and dry_run through its wording. It does not explain confirm, plan_sha256, max_age_hours, include_unknown, execution_intent, or runtime_identity, so an agent cannot correctly populate them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('clean') and resource ('temporary files from the MCP runtime directory'), and adds a distinguishing constraint ('without touching project vmcp_* artifacts'). This clearly separates it from sibling tools like clean_run_outputs and makes the tool's scope instantly understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states the context (MCP runtime directory) and explicitly excludes project artifacts, giving a basic sense of when to use it. However, it doesn't name any alternative tools or explain when to prefer a dry run over an actual clean, leaving part of the decision to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_projectC

Close the current Vivado project.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral disclosure burden. It states the action but does not disclose side effects, such as whether unsaved changes are discarded, whether the session remains active, or whether the operation is irreversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundancy. It is appropriately front-loaded, though its brevity leaves out useful behavioral context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and a single optional parameter, the description leaves important context undisclosed, such as whether a project must be open, what happens to unsaved changes, or how this relates to session state. The presence of an output schema reduces the need to document return values, but behavioral context remains incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain 'timeout_s'. The parameter name is somewhat self-explanatory as a timeout in seconds, but the description adds no meaning about its purpose, units confirmation, or default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Close'), a specific resource ('current Vivado project'), and a scope ('current'). This clearly distinguishes it from siblings like 'create_project' and 'open_project' while being immediately actionable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is provided. The description does not mention prerequisites such as an open/active project, nor does it distinguish itself from related workflow steps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

collect_build_artifactsB

Copy bitstream, probes, checkpoints, reports, and Vivado metadata into vmcp_artifacts and write manifest.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo
output_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It does state the core side effects: copying artifacts and writing manifest.json. However, it does not mention whether existing files are overwritten, whether vmcp_artifacts is created if missing, or whether a prior successful build is required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence with no filler, leading with the action and artifact types. It is efficiently structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description communicates the basic operation but omits workflow prerequisites, parameter meanings, and differentiation from similar collection tools. Even with an output schema present, the missing usage and parameter guidance leaves the definition incomplete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not mention any of the three parameters (run_name, timeout_s, output_dir). The relation between output_dir and the stated destination vmcp_artifacts is ambiguous, and no parameter is given any semantic context beyond its name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Copy'), a concrete set of resources ('bitstream, probes, checkpoints, reports, and Vivado metadata'), and a destination ('vmcp_artifacts') plus a manifest creation step. It is clearly distinguishable from sibling tools like collect_report_bundle or collect_diagnostic_bundle by the explicit artifact list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when this tool should be invoked, e.g., after generate_bitstream or run_implementation, and does not contrast it with the similar sibling tools collect_report_bundle and collect_diagnostic_bundle. Usage context is only weakly implied by the tool name and artifact types.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

collect_diagnostic_bundleB

Collect audit inputs, manifests, waivers, and log tails into vmcp_diagnostics//diagnostic_manifest.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo
timestampNo
output_dirNo
vivado_pathNoOptional identity assertion. It must match the canonical executable identity captured from VIVADO_PATH when the MCP server started and cannot override it.
reuse_audit_from_manifestNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral transparency burden. It does disclose that the tool writes a diagnostic manifest into a timestamped vmcp_diagnostics directory, which is useful. However, it does not mention side effects like directory creation or overwrite behavior, environment requirements, permissions, or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that communicates the core action, the collected artifact types, and the output location without filler or redundancy. Every phrase adds information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has six parameters, no annotations, and only one schema-described parameter, yet the description does not cover the remaining parameter semantics or provide routing/usage context. The presence of an output schema reduces the need to describe return values, but it does not compensate for missing input semantics and sibling differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 17%, so the description must compensate for the six opaque parameters. It indirectly hints at timestamp and output_dir through the output path, but it leaves run_name, timeout_s, vivado_path behavior, and reuse_audit_from_manifest effectively unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the action ('Collect') and a specific set of resources (audit inputs, manifests, waivers, log tails) plus the output manifest path. It is specific enough to distinguish this from sibling tools like collect_report_bundle or collect_build_artifacts, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as collect_report_bundle, run_project_audit, or validate_diagnostic_bundle. There are no prerequisites, exclusions, or context cues that would help an agent decide between related collection tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

collect_report_bundleC

Generate and collect pre-hardware Vivado reports into vmcp_reports with report_manifest.json.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo
report_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits itself. It mentions the destination directory and manifest file, but it does not state whether the tool triggers Vivado, requires an existing project, overwrites prior outputs, or has side effects beyond writing reports. This leaves significant invocation risk for the agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler and a front-loaded action verb. It is appropriately short, though the brevity comes at the cost of parameter and behavior detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no parameter descriptions, and several overlapping sibling tools, this description is insufficient for correct tool selection and invocation. The output schema covers return values, but the missing behavioral and parameter context leaves important gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain run_name, timeout_s, or report_dir. The references to vmcp_reports and report_manifest.json hint at where outputs land but do not clarify parameter meaning, defaults, or constraints, so the agent cannot confidently populate the optional parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific action ('Generate and collect'), a specific resource ('pre-hardware Vivado reports'), and concrete outputs ('vmcp_reports with report_manifest.json'). It is clear enough to distinguish the tool from generic collection tools, though it does not explicitly contrast it with similar siblings like collect_build_artifacts or collect_diagnostic_bundle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. 'Pre-hardware' gives some temporal context, but there is no mention of when not to use it or how it relates to collect_build_artifacts, collect_diagnostic_bundle, or run_pre_hw_signoff.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

configure_simulationC

Configure a Vivado sim_1 fileset in the currently open project.

ParametersJSON Schema
NameRequiredDescriptionDefault
simsetNo
definesNo
sim_filesNo
simulatorNo
timeout_sNo
include_dirsNo
testbench_topNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so description carries full burden. It only states 'Configure...' without disclosing side effects, whether existing settings are overwritten, or whether the fileset must already exist. The only added context is 'currently open project.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clear sentence with no redundancy, front-loaded with the verb and resource. It is appropriately terse, though it sacrifices necessary detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, 7 parameters, nested objects, and an output schema, the one-line description is insufficient. It omits when-to-use guidance, parameter behavior, and side effects, leaving an agent to guess at correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema offers 0% description coverage and the description adds no parameter-level meaning. It does not explain simset, defines, sim_files, simulator, timeout_s, include_dirs, or testbench_top. Parameter names are somewhat self-explanatory, but semantics, defaults, and relationships are completely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Configure' and identifies resource 'Vivado sim_1 fileset' in 'currently open project.' It is clearly distinguishable from sibling tools like run_behavioral_simulation and get_simulation_result, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as run_behavioral_simulation or update_project_compile_order. It implies a project must be open but provides no prerequisites, exclusions, or sequencing context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_projectB

Create a Vivado project from existing design, constraint, and simulation files.

ParametersJSON Schema
NameRequiredDescriptionDefault
topYes
partYes
forceNo
definesNo
rtl_filesYes
sim_filesNo
simulatorNo
timeout_sNo
xdc_filesNo
file_specsNo
project_dirYes
include_dirsNo
project_nameYes
testbench_topNo
source_definesNo
target_languageNo
source_include_dirsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full behavioral disclosure burden. It only says a project is created from files; it does not mention whether an existing project is overwritten despite the force parameter, whether an active Vivado session is required, or what side effects occur on filesets.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler and the action verb is front-loaded. However, it is quite sparse for a 17-parameter tool, so it earns high marks for brevity but not perfect marks for appropriate sizing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema, this is a high-complexity tool with 17 parameters, 5 required, a nested file_specs object, and 0% schema description coverage. The one-sentence description omits semantics for required parameters, nested schema structure, timeout behavior, force behavior, and how this tool connects to the broader Vivado workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds almost no parameter meaning. It loosely maps to rtl_files, xdc_files, and sim_files by mentioning design, constraint, and simulation files, but it fails to explain required parameters like project_dir, part, top, or the complex file_specs object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Create a Vivado project'. It also scopes the inputs as existing design, constraint, and simulation files, which clearly distinguishes this creation tool from siblings like open_project.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is for creating a new project from existing files, but it does not explicitly state when to use it versus alternatives such as open_project or configure_simulation. Some context is present, but exclusions and alternate routing are left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_vivado_environmentC

Detect the server-start VIVADO_PATH environment and optionally run a bounded batch probe; vivado_path can only assert the same canonical executable identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
runtime_dirNo
vivado_pathNoOptional identity assertion. It must match the canonical executable identity captured from VIVADO_PATH when the MCP server started and cannot override it.
probe_launchNo
probe_timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

无annotations,因此描述需承担行为披露责任。它明确说明vivado_path只能断言服务器启动时捕获的同一可执行身份,不能覆盖环境,并提到probe是“bounded”,这些是有价值的行为信息。但未说明probe_launch会启动什么、是否有副作用、超时如何处理或响应形态。

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

描述只有一句话,信息密度高,动词和核心对象前置,没有冗余词。虽然“bounded batch probe”略显含糊,但整体简洁高效。

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

工具有4个参数且无必填项,输出schema存在,但描述未说明runtime_dir、probe_launch、probe_timeout_s的具体作用,也未提供使用时机或边界条件。对于代理正确调用带probe的完整功能,信息不足。

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

schema描述覆盖率仅25%,只有vivado_path有说明,且描述为其补充了“只能断言同一身份”的约束。但runtime_dir、probe_launch、probe_timeout_s在schema和描述中都缺乏含义说明,低覆盖率下描述未能充分补偿。

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

描述以具体动词“Detect”和资源“server-start VIVADO_PATH environment”说明了工具功能,并提及可选的bounded batch probe。虽未直接对比兄弟工具,但环境探测用途与大多数项目/仿真/综合类工具明显区分,总体清晰。

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

描述没有说明何时应使用此工具、何时应使用替代工具,也没有提及前置条件或典型调用场景。兄弟工具中存在get_runtime_cache_status等环境相关工具,但描述未给出任何选择依据。

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnose_run_failureC

Aggregate run status, run log tail, and critical messages into a structured run failure diagnosis.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo
expect_bitstreamNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates the tool aggregates existing data into a diagnosis, which weakly implies read-only behavior, but it does not state whether it modifies state, has side effects, or incurs significant cost. It also does not explain what 'critical messages' are sourced from or whether the tool waits for completion.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It clearly states the core action and output, though it sacrifices important detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the description leaves major gaps: the meaning of all three parameters is unexplained, there is no usage guidance, and there is no indication of preconditions or side effects. For a tool with optional parameters and no annotations, this is insufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate by explaining parameters, but it mentions none of run_name, timeout_s, or expect_bitstream. The names give some hint, but the description adds no meaning beyond the schema properties, leaving the agent to guess how these parameters affect the diagnosis.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Aggregate') and resource ('run status, run log tail, and critical messages') and names the output ('structured run failure diagnosis'). It clearly identifies what the tool does and is distinguishable from generic siblings like collect_diagnostic_bundle, though it does not explicitly contrast itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as get_run_progress, collect_diagnostic_bundle, or validate_diagnostic_bundle. The name and description imply use in the context of a failed run, but there is no explicit when-to-use or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_bitstreamA

Launch bitstream generation asynchronously for an implementation run; poll with get_run_progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It does disclose the key asynchronicity trait and the follow-up polling step, but it does not mention side effects, prerequisites, failure behavior, or the meaning of timeout_s. This is adequate but has clear gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the verb and resource, states the asynchonous mode, and names the polling tool. Every phrase adds value and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is sufficient for a basic launch-and-poll workflow and an output schema exists, but it omits necessary context for correct invocation: whether run implementation must already exist, what timeout_s controls, and whether any prerequisites like a completed implementation run are needed. It is minimally viable but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. It only implicitly references run_name through 'implementation run' and says nothing about timeout_s, leaving the timeout behavior undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (launch), the resource (bitstream generation), and the context (an implementation run). It also names the polling companion tool, get_run_progress, which helps an agent distinguish invocation from monitoring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context by specifying 'for an implementation run' and instructs the agent to poll with get_run_progress. It does not explicitly state when not to use the tool or list alternatives, but no direct alternative for bitstream generation exists among the siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_agent_scenariosB

Return reusable Subagent validation scenarios for Agent-facing Vivado MCP acceptance.

ParametersJSON Schema
NameRequiredDescriptionDefault
scenario_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Return' implies a read-only operation, but the description does not explain whether scenario_id filters to a single scenario or whether omitting it returns all scenarios, leaving meaningful behavior undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. Every word contributes to the core meaning, making it efficient and easily parseable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter and an output schema, so the description is nearly sufficient. Missing parameter semantics and usage differentiation are the main gaps, but an agent could likely call it correctly based on the clear verb and obvious scenario_id name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the only parameter, scenario_id, is not mentioned in the tool description. The parameter name hints at filtering, but the description adds no semantic value beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Return') and resource ('reusable Subagent validation scenarios') with clear domain context ('Agent-facing Vivado MCP acceptance'). It doesn't explicitly differentiate from siblings like get_agent_workflows, but the resource noun is specific enough to convey the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for Agent-facing Vivado MCP acceptance' gives context but no explicit when-to-use or when-not-to-use direction. It also names no alternatives, so an agent must infer when to choose this over get_agent_workflows or get_tool_catalog.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_agent_workflowsA

Return standard Agent workflow recipes for no-board Project Mode PL development.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Return' implies a read-only operation and 'standard recipes' suggests static content, but the description does not explicitly confirm no side effects, no required permissions, or whether results are generated on demand. This is acceptable but not richly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It front-loads the action ('Return') and the resource ('standard Agent workflow recipes') before adding the contextual modifier. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only retrieval tool with an output schema available, the description is largely complete. It identifies the domain and purpose without needing to explain return values. The only slight gap is that terms like 'workflow recipes' and 'no-board Project Mode PL' are domain jargon, but the output schema and sibling context likely resolve this.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema already documents this fully. The description adds context about the domain of the returned recipes ('no-board Project Mode PL development'), which is meaningful. With no parameters to describe, the baseline is already high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Return') and a specific resource ('standard Agent workflow recipes'), with a clear context modifier ('no-board Project Mode PL development'). It is not a tautology and conveys the primary function. However, it doesn't explicitly distinguish itself from sibling tools like get_agent_scenarios or get_tool_catalog, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear usage context ('for no-board Project Mode PL development'), which implies when this tool is appropriate. However, it provides no explicit guidance about when not to use it or which alternative sibling tool should be used instead, leaving some selection ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_compile_orderC

Inspect Vivado compile order, missing files, duplicates, and unknown file types.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesetNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Inspect' implies a non-mutating operation, but the description does not explain whether a project or session must be active, what fileset selection means, or how timeout_s affects the call. The behavioral surface is largely underspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, economical sentence with the verb and resource front-loaded. It wastes no words, though it is terse to the point of under-specifying usage and parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are covered, but the tool has two undocumented optional parameters and no guidance on session/project prerequisites or selection between related tools. For an agent to invoke this correctly, more context about fileset and timeout behavior is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description does not explain either parameter. 'fileset' and 'timeout_s' provide minimal hints from their names, but the description adds no meaning about valid values, defaults, optionality behavior, or how they affect the compile order inspection.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as inspecting Vivado compile order and its related issues (missing files, duplicates, unknown file types), which is specific and distinct from write-oriented siblings like update_project_compile_order. It could name an alternative to further differentiate, but the verb and resource are clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus siblings such as list_fileset_files or update_project_compile_order. No conditions, prerequisites, or exclusions are stated, so the agent must infer usage from the name and description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_constraints_summaryC

Summarize XDC files, ports, clocks, and common constraint commands.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesetNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Summarize' without explaining whether a project must be open, whether files are read from disk, whether this is read-only, or what happens with invalid constraint inputs. This is too thin for a tool with no annotation safety signals.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler words and is front-loaded with the action verb. It is efficient, though arguably too sparse to fully carry the tool's meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool appears simple with no required parameters and has an output schema, the overall definition is incomplete: it provides no parameter semantics, no usage guidance, and no behavioral context. An agent selecting between this and several timing/constraint siblings would not have enough information to confidently invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain either parameter. 'fileset' could be guessed to relate to XDC files, but its exact format, required vs optional behavior, and relationship to 'timeout_s' are entirely undocumented. The description fails to compensate for the schema gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the verb 'Summarize' and the resources it operates on: XDC files, ports, clocks, and common constraint commands. While this distinguishes it from timing-specific siblings like get_timing_summary, it does not explicitly differentiate it from check_timing_constraints or analyze_timing_closure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus its many siblings such as get_timing_summary, check_timing_constraints, or analyze_timing_closure. The description only implies a use case but does not state prerequisites, exclusions, or alternative selection logic.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_stateC

Get current Vivado project, fileset, run, and artifact state.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Get...state' and does not explicitly state that the operation is read-only, whether it requires an initialized session, or how it behaves when no project state is available.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise sentence with no filler, and the key scope is front-loaded. Every word contributes to identifying what the tool returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no required parameters and an output schema exists, so return-value details do not need to be in the description. However, the description still lacks usage guidance, timeout semantics, and any mention of session or project prerequisites, leaving meaningful context gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, timeout_s, is not mentioned in the description and has 0% schema description coverage. The description adds no meaning about units, defaults, or why an agent might need to set it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and identifies a clear resource ('current Vivado project, fileset, run, and artifact state'), so an agent can understand this is a state snapshot tool. It does not explicitly distinguish itself from sibling getters like get_run_progress or session_status, though its broad scope helps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus related state/status tools such as get_run_progress, session_status, or list_fileset_files. It also does not mention prerequisites like an active Vivado session or an open project.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_run_progressC

Get Vivado run status and progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo
expect_bitstreamNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It only says 'Get', implying a read operation, but does not explain whether the call blocks, whether timeout_s causes waiting, what expect_bitstream affects, or whether any side effects occur. This is a significant transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core action and resource. However, it is under-specified for the number of parameters and behavioral nuances; its brevity is not matched by adequate content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description lacks necessary context about what constitutes a run, how to select it, whether the tool blocks or polls, and how timeout_s and expect_bitstream affect invocation. The description is not complete enough for correct agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no parameter meaning. The parameter names suggest run_name identifies the run, timeout_s is a timeout, and expect_bitstream is a boolean flag, but their exact semantics, units, defaults, and interplay are left undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Get') and resource ('Vivado run status and progress'), which is clear and distinct from most sibling tools. However, it does not explicitly contrast with related status/simulation tools, so it stops short of full differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives like get_simulation_result, get_workflow_trace_status, or diagnose_run_failure. The context of polling a running synthesis/implementation/bitstream process is implied but never stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_runtime_cache_statusB

Inspect the MCP runtime directory and summarize temporary Vivado cache candidates.

ParametersJSON Schema
NameRequiredDescriptionDefault
runtime_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. 'Inspect' and 'summarize' imply a non-destructive read operation, which is useful. However, the description does not disclose whether the tool has any side effects, how it resolves the optional runtime_dir, or whether it only reads without modifying cache candidates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence with no filler or repetition. It is front-loaded with the action and resource, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While an output schema exists and may cover return values, the description lacks usage context, explicit read-only assurance, and guidance on the optional runtime_dir parameter. For a tool with no annotations and a closely related destructive sibling, this minimal description is insufficient for confident tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides zero description coverage for runtime_dir, and the tool description only references the 'MCP runtime directory' without explicitly explaining how runtime_dir relates to it. The optionality, default behavior, and expected path format are left completely unspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Inspect', 'summarize') and names a clear resource ('MCP runtime directory', 'temporary Vivado cache candidates'). It conveys a read-oriented diagnostic purpose, but doesn't explicitly contrast with sibling tools such as clean_runtime_cache or get_workflow_trace_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. Given the sibling list includes clean_runtime_cache, which is conceptually related but likely destructive, an explicit when-to-use or when-not-to-use statement would materially help an agent select correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_simulation_resultC

Read and parse Vivado XSIM logs and generated waveform artifacts.

ParametersJSON Schema
NameRequiredDescriptionDefault
simsetNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It states the read/parse nature, but does not disclose that the timeout_s parameter may cause the tool to block or wait for simulation artifacts, nor does it explain behavior when logs or waveforms are missing. Important operational traits are left to inference.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word contributes to the core purpose, and it is appropriately sized for a tool with two optional parameters and an output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the output schema may cover return values, the description omits parameter semantics, usage timing, and behavior around timeout or missing artifacts. For a tool with two undocumented optional parameters and no annotations, this is insufficient context for reliable agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not mention simset or timeout_s at all. The agent receives no additional meaning beyond the bare parameter names. The description fails to compensate for the schema's lack of parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Read and parse') and names exact resources ('Vivado XSIM logs', 'generated waveform artifacts'). This clearly distinguishes it from sibling tools like run_behavioral_simulation or collect_report_bundle, which focus on running simulations or collecting build artifacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to call this tool versus alternatives such as get_workflow_trace_status or collect_report_bundle. It does not mention prerequisites like a previously run simulation or that this should be used after run_behavioral_simulation. Usage is only vaguely implied by the tool's name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_timing_pathsC

Parse worst setup or hold timing paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_pathsNo
timeout_sNo
delay_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure, yet it only restates the action and resource. It does not say whether the tool reads an existing report, runs a new analysis, can return both setup and hold paths, or has any side effects or timeout implications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or repetition. It earns every word, though the terseness is a tradeoff against completeness rather than a structural flaw.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With three unannotated parameters, no parameter descriptions, and a nontrivial timing-path interpretation task, the definition supplies only the core purpose. An agent would not know valid delay_type values, the effect of max_paths, or timeout semantics, so the description is not complete enough for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description needed to clarify max_paths, timeout_s, and delay_type. It only hints that 'setup or hold' relates to the kind of path, leaving delay_type values and the behavior of the other two parameters underspecified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource ('worst setup or hold timing paths') and a specific verb ('Parse'), which is clear enough to distinguish it from siblings like get_timing_summary that imply a summary rather than path-level details. It does not explicitly contrast any sibling, so it just misses a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus siblings such as analyze_timing_closure, check_timing_constraints, or get_timing_summary. The timing context is implied, but prerequistes and alternatives are left entirely unaddressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_timing_summaryC

Parse report_timing_summary output.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of explaining behavior. It only says 'Parse...' without disclosing what input is read, whether it waits or blocks, what happens if the report is missing, or whether any side effects occur. The read-only nature is implied by 'parse' but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler and is easy to scan. It is appropriately concise for a simple tool, though the brevity comes at the cost of missing context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values do not need to be spelled out, but the description still omits essential context: what 'report_timing_summary output' refers to, how the optional timeout is used, and what workflow step this belongs to. With no annotations and minimal parameter documentation, the definition is insufficient for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one optional parameter, timeout_s, with 0% schema description coverage, and the description does not mention it at all. The parameter name is somewhat self-explanatory, but the description fails to clarify how the timeout applies, its units, or whether it controls report generation or parsing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Parse') and a clear resource ('report_timing_summary output'), so an agent can infer the tool consumes timing-summary report data and returns structured results. It doesn't explicitly contrast it with sibling timing tools like get_timing_paths, but the resource naming makes the purpose reasonably distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives such as get_timing_paths, check_timing_constraints, or analyze_timing_closure. The phrase 'report_timing_summary output' implies some prior report-generation step, but that prerequisite is not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tool_catalogA

Return the Agent-facing Vivado MCP capability matrix and tool groups.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden, and 'Return' clearly implies a read-only, side-effect-free operation. It also indicates the content scope ('Agent-facing Vivado MCP capability matrix and tool groups'), useful context for an agent. It does not mention whether a session or environment detection is required, but the zero-parameter schema reduces that risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word adds meaning, and it is appropriately sized for a zero-parameter metadata lookup tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (no parameters), the presence of an output schema, and the straightforward read-only nature, the description is complete enough for an agent to select and invoke the tool correctly. No additional prerequisites or edge conditions are needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there are no parameter semantics to explain. The description focuses on what the returned catalog contains, which is sufficient given the empty input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Return') and names a clear resource: the Agent-facing Vivado MCP capability matrix and tool groups. This distinguishes it from operational siblings like run_synthesis or get_timing_summary, and even from other discovery tools like get_agent_workflows, because it is about tool groups/capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is a discovery/catalog tool for understanding available agent-facing capabilities, but it does not explicitly say when to use it versus siblings such as get_agent_workflows or get_agent_scenarios. No exclusion criteria or alternative guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_workflow_trace_statusB

Return the current Agent workflow transcript status and recoverable handoff pointers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full responsibility for behavioral transparency. It only states that the tool returns status and pointers, without explaining error behavior, whether it reflects live state or cached state, implications of 'recoverable', or what happens when no workflow trace exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no filler. It front-loads the action and resource and avoids repeating schema or annotation information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with an output schema, the description does not need to document return values. However, it would benefit from clarifying the relationship to Agent workflow execution and session context, since several sibling tools deal with workflows and sessions. The current description is minimally adequate but leaves ambiguity about when it is relevant.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema fully describes invocation constraints. The description does not need to explain parameter meaning, and the baseline of 4 applies for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Return') and resource ('Agent workflow transcript status and recoverable handoff pointers'), making the tool's purpose clear. It does not explicitly distinguish itself from the sibling get_agent_workflows, but the focus on 'trace status' and 'handoff pointers' gives enough identity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus alternatives like get_agent_workflows, session_status, or get_runtime_cache_status. The description does not mention prerequisites, recommended timing, or situations where another tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_fileset_filesC

List files referenced by a Vivado fileset.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesetNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states the action 'List' and the target 'files referenced by a Vivado fileset,' but does not explain whether an active session or open project is required, whether the fileset must exist, or how errors are surfaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler or repetition. Every word earns its place, and it is appropriately concise for a simple listing operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists and may describe return values, the description is incomplete for correct invocation. It lacks prerequisites, fileset value semantics, timeout parameter meaning, and any context about when this listing is appropriate, which is especially problematic with zero schema documentation and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for undocumented parameters. It adds only the concept of a 'Vivado fileset' to the 'fileset' parameter, but provides no meaning for 'timeout_s' and no detail on valid fileset identifiers or optionality.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and a clear resource 'files referenced by a Vivado fileset,' which conveys the tool's core function. It does not explicitly contrast with sibling tools, but the resource is distinct enough to separate it from tools like get_compile_order or check_syntax.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. An agent cannot tell whether this is the right tool before listing a fileset compared to related analysis or reporting tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

open_projectC

Open a Vivado .xpr project.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeout_sNo
project_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states that the tool opens a .xpr project and does not mention side effects, prerequisites like Vivado environment readiness, whether a currently open project is replaced, or any state changes beyond the opening action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence with no filler. It front-loads the action and the target resource, which is appropriate for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the large sibling set and the lack of annotations, the description is too thin to fully contextualize the tool. It does not explain required environment setup, ordering relative to other project operations, or the meaning of timeout_s, leaving important gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not compensate. project_path is reasonably inferable from the tool name and the phrase '.xpr project', but timeout_s is completely unexplained, including its meaning, default behavior, or units.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Open') and a clear resource ('Vivado .xpr project'), making its primary purpose obvious. It is semantically distinct from siblings like create_project and close_project, though it does not explicitly name any sibling to disambiguate further.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as start_session, create_project, or open vs. close_project. An agent must infer the intended workflow context on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

repair_project_setupC

Dry-run or repair Project Mode setup by reconciling RTL, XDC, sim files, tops, SystemVerilog file types, and compile order.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
definesNo
dry_runNo
rtl_filesNo
sim_filesNo
simulatorNo
timeout_sNo
xdc_filesNo
include_dirsNo
project_pathNo
testbench_topNo
target_languageNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of explaining side effects, but it only says the tool can 'dry-run or repair.' It does not disclose whether repair modifies project files, overwrites compile order, adds/removes files, or requires specific environment state. 'Reconciling' hints at mutation but leaves the actual behavioral impact unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single compact sentence with no fluff, and the most important distinction ('Dry-run or repair') is front-loaded. It is concise and readable, though for a 12-parameter tool with no schema descriptions it is almost too terse to carry the necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count, zero schema descriptions, no annotations, and a tool that can mutate project setup, the description is incomplete. It does not explain when repair is needed, what conditions make dry-run appropriate, what side effects occur, or how the many optional parameters interact. The presence of an output schema lessens the need to describe return values, but the usage context is still underexplained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, but it only mentions broad categories like RTL, XDC, sim files, tops, and compile order. It does not explain critical parameters such as defines, simulator, include_dirs, project_path, timeout_s, target_language, or testbench_top, nor does it map described concepts to specific parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb set ('Dry-run or repair') and a clear resource ('Project Mode setup') while enumerating the reconciled artifacts: RTL, XDC, sim files, tops, SystemVerilog file types, and compile order. This makes the tool's role distinct enough from siblings like create_project or update_project_compile_order, though it does not explicitly name a sibling or draw a contrast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to invoke this tool versus alternatives such as create_project, update_project_compile_order, configure_simulation, or run_project_audit. The word 'repair' implies fixing an inconsistent setup, but the description never states a precondition like 'use when project setup is stale or mismatched' or 'when dry_run=true only reports issues.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_behavioral_simulationB

Run Vivado XSIM behavioral simulation for a configured simulation fileset.

ParametersJSON Schema
NameRequiredDescriptionDefault
simsetNo
confirmNo
run_allNo
run_timeNo
vcd_nameNo
timeout_sNo
export_vcdNo
max_vcd_mbNo
incrementalNo
execution_intentNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and only reveals that it invokes XSIM for behavioral simulation. It omits side effects, expected duration, whether project state changes, or the need for confirmation/timeout controls hinted at by the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; it communicates the core action immediately. It is concise, though the 10-parameter tool would benefit from more structured information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (10 parameters, no annotations, and zero schema description coverage), this description is incomplete: it omits prerequisites, side effects, and behavioral caveats. The existence of an output schema covers return values, so that is not the main gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description explains none of the 10 parameters (simset, run_time, vcd_name, export_vcd, execution_intent, etc.). The word 'fileset' only loosely maps to simset and does not compensate for the missing parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Run'), a precise target ('Vivado XSIM behavioral simulation'), and a constrained scope ('configured simulation fileset'). This separates it from siblings like configure_simulation, get_simulation_result, and run_synthesis without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Configured simulation fileset' implies a prerequisite and tells the agent this runs rather than configures or retrieves results, but it does not explicitly name alternatives, state when not to use it, or describe what to do if the fileset is not configured.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_implementationA

Launch implementation asynchronously; poll with get_run_progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It explicitly reveals the key non-blocking behavior by saying 'asynchronously' and directs the agent to the correct follow-up mechanism. It does not mention failure modes or repeated launches, but the async contract is clearly and usefully disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two clauses that each earn their place by conveying what to launch, how to launch it, and how to monitor it. There is no filler or repetition of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides the essential control flow—launch asynchronously, then poll—but it is not complete enough for actual invocation because both parameters are undocumented and no annotations or parameter descriptions compensate. An agent can understand the workflow at a high level but cannot determine how to set run_name or timeout_s correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the tool description does not mention run_name or timeout_s at all. The agent cannot learn their meaning, optionality, or expected values from the description, so it cannot confidently set parameters for this tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Launch implementation', and adds the distinguishing mode 'asynchronously'. Naming get_run_progress as the polling target separates this tool from progress-reporting tools, and 'implementation' distinguishes it from synthesis or bitstream-generation siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly tells the agent what to do after calling the tool: poll with get_run_progress. However, it does not give conditions for choosing this tool over sibling flow steps like run_synthesis or generate_bitstream, so the selection context is mostly implied by the domain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_pre_hw_signoffC

Aggregate source, elaboration, simulation, timing, CDC, power, reports, readiness, and signoff waivers into pre-hardware signoff.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
partNo
simsetNo
filesetNo
run_nameNo
timeout_sNo
project_dirNo
project_pathNo
apply_waiversNo
report_manifest_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. 'Aggregate... into pre-hardware signoff' suggests a collection/read-like operation, but it does not disclose whether the tool writes artifacts, requires a project session, mutates state, or has side effects. This is a meaningful transparency gap for a signoff orchestration tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence with no filler, and the list of signoff domains is front-loaded. It could be better structured with a lead purpose statement and a separate parameter/usage note, but it is concise and each word adds scope information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema existing, this is a broad 10-parameter orchestration tool with no annotations and no usage context. The description leaves critical gaps: what inputs are required or optional, what prerequisites exist, what happens on failure, and how it relates to the many sibling report/audit tools. It is not complete enough for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description provides no parameter-level meaning. None of the 10 properties (top, part, simset, fileset, run_name, timeout_s, project_dir, project_path, apply_waivers, report_manifest_path) are explained, and only indirect hints like 'reports' and 'waivers' appear. The description does not compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb 'Aggregate' and a resource 'pre-hardware signoff', listing the domains drawn into it (source, elaboration, simulation, timing, CDC, power, reports, readiness, waivers). This is clear at a high level and distinguishes its comprehensive scope from narrower sibling tools, though it stops short of naming any sibling or saying how signoff is produced.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to run this tool instead of siblings such as run_project_audit, collect_report_bundle, or get_timing_summary. The phrase 'pre-hardware signoff' implies timing, but there is no explicit when-to-use, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_project_auditB

Aggregate Project Mode health, signoff, manifests, waivers, and next-step diagnostics without launching build runs.

ParametersJSON Schema
NameRequiredDescriptionDefault
topNo
partNo
simsetNo
filesetNo
run_nameNo
timeout_sNo
project_dirNo
vivado_pathNoOptional identity assertion. It must match the canonical executable identity captured from VIVADO_PATH when the MCP server started and cannot override it.
apply_waiversNo
report_manifest_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does usefully state that the tool does not launch build runs, implying a read-only diagnostic behavior. However, it does not disclose prerequisites (e.g., whether a project must be open), potential side effects, permission requirements, or what happens when inputs are invalid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence with no filler. It front-loads the core action and resource, then adds the critical non-build constraint. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists, the overall context is incomplete for a tool with 10 optional parameters and no annotations. The description communicates general purpose but omits parameter roles, prerequisites, and behavioral caveats, leaving an agent without enough information to confidently invoke the tool correctly in varied scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 10%, with the sole described parameter being vivado_path. The description offers no explanations for the other nine parameters, so top, part, simset, fileset, run_name, timeout_s, project_dir, apply_waivers, and report_manifest_path remain semantically undocumented. Parameter names are suggestive but do not compensate for the lack of schema or description details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Aggregate') with a clear resource ('Project Mode health, signoff, manifests, waivers, and next-step diagnostics') and adds a key scoping constraint ('without launching build runs'). It is clear about what the tool does, though it does not explicitly differentiate it from sibling tools such as run_pre_hw_signoff or collect_report_bundle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'without launching build runs' implies this tool is for non-intrusive audit/diagnostic queries rather than actual builds, but there is no explicit guidance on when to choose this over alternatives, when not to use it, or which conditions warrant a different tool. Usage context is only implied, not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_synthesisA

Launch synthesis asynchronously; poll with get_run_progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nameNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral context. It discloses the key async behavior and the polling mechanism, but it does not mention side effects, prerequisites, outputs, or failure behavior. Some useful context, but not enough to fully guide an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with two clear directives: launch asynchronously and poll with get_run_progress. Every word adds value and no filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema helps with return values, but the description lacks key operational context such as prerequisite state, parameter meaning, side effects, or how it differs from other run/synthesis-related tools. For an unattended agent, this is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and neither parameter (run_name, timeout_s) is explained in the description. With no schema descriptions and no parameter details in the description, an agent cannot determine semantics or valid values for these fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Launch synthesis asynchronously.' It clearly identifies the operation (synthesis launch) and execution mode (async), and references the sibling get_run_progress for follow-up, distinguishing it from other run tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear workflow hint: launch synthesis then poll with get_run_progress. It does not explicitly contrast with siblings like run_implementation or run_behavioral_simulation, but the name and async note sufficiently cue when to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

session_statusB

Get managed Vivado session status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but 'Get ... status' only implies a read operation. It does not state that it is non-destructive, whether it requires an active session, or how it behaves if no session exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is concise and every word contributes to meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no parameters and an output schema that presumably documents return values, so the description is adequate for invoking it. However, it lacks any usage context, such as whether a session must already be started, which is a clear gap given the sibling start_session and stop_session tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and the description does not need to add parameter meaning. This is the baseline case where no parameters exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get managed Vivado session status.' uses a specific verb (Get) and names a distinct resource (managed Vivado session status), which separates it from sibling status tools like get_workflow_trace_status and get_runtime_cache_status. However, it does not elaborate on what exactly the status contains, so it is slightly less informative than descriptions that enumerate fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no indication of when to call this tool relative to start_session, stop_session, or other workflow steps, and no mention of alternatives or exclusions. An agent is left to infer that 'status' is needed without guidance on prerequisites such as an active session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_sessionA

Start a visible Vivado GUI session from the server-start VIVADO_PATH identity and open a local TCP Tcl channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNo
timeout_sNo
runtime_dirNo
vivado_pathNoOptional identity assertion. It must match the canonical executable identity captured from VIVADO_PATH when the MCP server started and cannot override it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses meaningful behavioral details: the session is 'visible', it runs under a fixed server-start identity, and it opens a local TCP Tcl channel. However, with no annotations provided, it does not cover side effects, blocking behavior, session lifecycle, cleanup responsibility, or failure modes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense sentence with no filler. It efficiently front-loads the action, visibility, identity constraint, and transport mechanism.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a session-starting tool with four optional parameters and no annotations, the description gives enough high-level context to attempt a basic call but omits parameter roles and lifecycle guidance. The presence of an output schema mitigates return-value ambiguity but not invocation semantics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25%, and the description adds minimal parameter meaning. It indirectly explains the port via 'local TCP Tcl channel' and touches on vivado_path identity, but port, timeout_s, and runtime_dir remain effectively undocumented in both the schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Start'), a clear resource ('visible Vivado GUI session'), and a concrete outcome ('open a local TCP Tcl channel'). It is easily distinguished from sibling tools like stop_session and session_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when a Vivado GUI session with a Tcl channel is needed, but it does not explicitly say when to use this tool versus alternatives or when not to use it. No exclusions or alternative-tool guidance are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_sessionB

Stop the managed Vivado session.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description is responsible for disclosing behavioral traits. It only states that the session is stopped and does not mention whether termination is graceful, whether it is idempotent, what happens to running jobs, or what side effects occur on the Vivado environment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short, front-loaded sentence that names the action and object with no filler. Every word earns its place for a tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is adequate for a simple lifecycle command, and the output schema covers return values. However, it omits any mention of the expected session state or whether this should be the final call in a workflow, leaving minor contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the baseline is 4 and the description does not need to document any arguments. The phrase 'managed Vivado session' mildly clarifies the object affected, but no parameter-related explanation is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action ('Stop') on a specific resource ('the managed Vivado session'), making the tool's function immediately understandable. It is implicitly distinct from the sibling start_session, though it does not explicitly call out any alternative. It is a clear, non-tautological statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given for when to call stop_session versus alternatives or what prerequisites exist. An agent is not told that it should be called after start_session or before ending a workflow, nor are any conditions or exclusions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_project_compile_orderC

Update Vivado compile order for sources_1 and/or sim_1.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesetsNo
timeout_sNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden. 'Update' implies mutation, but there is no disclosure of side effects, permissions required, reversibility, or impact on existing compile order settings.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that efficiently states the purpose and scope without waste. However, its brevity comes at the cost of missing essential context, so it is concise but sparse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema may cover return values, but the description omits preconditions, session/project requirements, and the effect of timeout_s. For a mutating tool with zero annotations, this is an incomplete definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only hints that filesets may correspond to sources_1/sim_1. It leaves timeout_s entirely undefined, so the agent does not know the unit, purpose, or default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'update', a clear resource 'compile order', and explicit scope 'sources_1 and/or sim_1'. This distinguishes it from sibling get_compile_order, which reads the same resource, without needing to inspect schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_compile_order or configure_simulation. Does not mention prerequisites such as an open project or active session, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_diagnostic_bundleA

Validate a project-local diagnostic reference manifest for integrity and reviewability; it is not a portable reproduction bundle.

ParametersJSON Schema
NameRequiredDescriptionDefault
bundle_dirNo
manifest_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
dataYes
toolYes
messageYes
summaryYes
error_codeYes
next_stepsNo
raw_excerptNo
next_actionsNo
handoff_readyYes
stop_requiredYes
policy_allowedNo
resume_contextNo
schema_versionYes
assessment_statusYes
handoff_reviewableNo
hardware_validationNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It adds useful context by specifying 'project-local' and clarifying what the tool is not. However, it does not disclose potential side effects, required prior steps, failure modes, or whether the validation is purely read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly written sentence with no filler. The core purpose is front-loaded, and the important exclusion is appended in a second clause without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two optional input parameters, no annotations, and a validation-specific role among many sibling tools, the description is too thin. It does not explain the expected inputs, how validation relates to collect_diagnostic_bundle, or what 'integrity and reviewability' concretely involve.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions 'manifest' and thus hinting at manifest_path, but it does not explain the role of bundle_dir, the relationship between the two parameters, or which one is the primary input. The parameter names are somewhat self-explanatory but the description adds little semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Validate') and a specific resource ('project-local diagnostic reference manifest') and states the purpose: 'integrity and reviewability'. It also explicitly distinguishes itself from a portable reproduction bundle, which helps differentiate it from related collection tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool — validating a project-local diagnostic reference manifest — and contains an exclusion: it is not for portable reproduction bundles. However, it does not name sibling tools or specify what to use instead for portable bundles, leaving the routing partially implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 41 tool updatesv0.10.0
    • First observedanalyze_sources
    • First observedanalyze_timing_closure
    • First observedcheck_bitstream_readiness
    • First observedcheck_syntax
    • First observedcheck_timing_constraints
    • First observedclean_run_outputs
    • First observedclean_runtime_cache
    • First observedclose_project
    • First observedcollect_build_artifacts
    • First observedcollect_diagnostic_bundle
    • First observedcollect_report_bundle
    • First observedconfigure_simulation
    • First observedcreate_project
    • First observeddetect_vivado_environment
    • First observeddiagnose_run_failure
    • First observedgenerate_bitstream
    • First observedget_agent_scenarios
    • First observedget_agent_workflows
    • First observedget_compile_order
    • First observedget_constraints_summary
    • First observedget_project_state
    • First observedget_run_progress
    • First observedget_runtime_cache_status
    • First observedget_simulation_result
    • First observedget_timing_paths
    • First observedget_timing_summary
    • First observedget_tool_catalog
    • First observedget_workflow_trace_status
    • First observedlist_fileset_files
    • First observedopen_project
    • First observedrepair_project_setup
    • First observedrun_behavioral_simulation
    • First observedrun_implementation
    • First observedrun_pre_hw_signoff
    • First observedrun_project_audit
    • First observedrun_synthesis
    • First observedsession_status
    • First observedstart_session
    • First observedstop_session
    • First observedupdate_project_compile_order
    • First observedvalidate_diagnostic_bundle

TDQS

B3.2/5.0

Scored across 41 tools

Disambiguation4/5

Most tools target distinct resources and actions: project lifecycle, simulation, synthesis, timing, constraints, and artifact collection are cleanly separated. A few diagnostic aggregation tools like run_project_audit, collect_diagnostic_bundle, and run_pre_hw_signoff have overlapping purposes, but their descriptions delineate different scopes and outputs. Overall, an agent can generally tell the tools apart with only minor risk of misselection.

Naming Consistency5/5

Every tool follows a consistent snake_case verb_noun pattern: get_, create_, run_, check_, collect_, validate_, etc. Even the agent-facing meta tools like get_agent_workflows and get_workflow_trace_status conform to the same convention. No camelCase or mixed verb styles are present.

Tool Count2/5

41 tools is well above the 25+ threshold for a heavy tool surface. While the Vivado Project Mode flow is broad, many diagnostic aggregation and artifact collection tools could be consolidated into fewer multi-purpose tools. This count will likely overwhelm agents and increase selection latency.

Completeness5/5

The tool set provides coverage across the entire Project Mode PL development lifecycle: project creation/opening, simulation, synthesis, implementation, bitstream generation, timing/constraint analysis, diagnostic bundles, and pre-hardware signoff. The surface is remarkably complete for the stated 'no-board Project Mode PL development' scope, with no critical dead ends for standard workflows.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    C
    maintenance
    An AI-centric MCP server that enables automated Xilinx Vivado workflows, including project management, synthesis, implementation, and timing analysis. It allows AI agents to drive hardware design processes while integrating directly with the official Vivado GUI for visual context.
    15
    4
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients to directly launch, control, and analyze AMD/Xilinx Vivado on Windows and Linux, supporting project management, synthesis, implementation, bitstream generation, timing/resource analysis, and simulation through a persistent Tcl session.
    45 PyPI
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables MCP-capable agents to drive a real FPGA toolchain end to end—simulating, asserting, synthesizing, scanning JTAG, capturing on-chip waveforms, and configuring real silicon behind confirmation gates.
    2
    45
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI coding agents and IDEs to lint, compile, syntax-check, and simulate Verilog/SystemVerilog designs through structured, token-efficient MCP tools with isolated containerized toolchains.
    4
    32 npm
    Apache 2.0