Skip to main content
Glama

混元 3D 网页工作台 CLI / MCP

把参考图和模型交给本地命令,连续完成上传、生成提交、任务监控和成品下载。

hunyuan3d-workbench 是面向腾讯混元 3D 网页工作台的独立工具,提供命令行和 stdio MCP 两种入口。它用常驻的本机 Chrome 执行网页操作,使用你自己的网页登录与网页额度,适合道具、角色和 VR 资产的重复生产流程。

当前版本:0.2.1。本项目不是腾讯官方 CLI,也不接入腾讯云混元 3D API;无需填写腾讯云 API 密钥。首次需要在工具打开的 Chrome 中登录,后续复用这份独立的浏览器配置。

官方工作台 · 功能调研 · 验收范围 · 更新记录 · 版本下载

维护发布版本时,同时更新 pyproject.tomlhunyuan_workbench.py 的版本号,再更新 RELEASE_NOTES.md。将版本说明提交到 main 会触发测试、构建和 GitHub Release 发布;也可在 Actions 手动运行“构建并发布版本”。流程拒绝覆盖已经存在的版本。

适合解决什么问题

  • 减少重复操作: 一次本地执行完成选页面、传文件、填参数和提交,避免逐步让模型点浏览器。

  • 批量处理输入: 校验参考图和模型,保存输入副本与哈希,按参数和版本复用已登记任务。

  • 本地持续监控: 提交后由 worker 定时检查对应资产,完成后自动下载;不需要模型不断读取页面。

  • 保留生成记录: 保存任务参数、状态、原始下载和文件校验结果,额外导出格式单独保留。

  • 衔接 Blender: 生成独立的后台导入脚本,设置米制单位、目标高度和落地位置,保存 .blend

  • 接入智能体: CLI 和 19 个 MCP 工具共用同一套任务账本和浏览器 worker。

它减少的是本地操作和模型调用开销。官网的生成排队、计算时间、可用功能和额度消耗仍由服务端决定。

参考图 / 模型 + JSON 参数
          ↓
校验、复制、去重 → 本地任务账本
          ↓
常驻 Chrome:上传 → 设置 → 提交一次
          ↓
本地监控 → 匹配具体成品 → 官方菜单下载
          ↓
文件校验与归档 → Blender 后处理 → 项目资产库

Related MCP server: blender-mcp

当前功能覆盖

八个 Studio 功能的代表性表单已经真实验证;几何生成和多视图纹理已完成真实生成、监控、下载。 “表单已验证”表示能完成对应页面的输入准备,不代表该功能的最终产物、所有参数和所有导出格式都已验收。

功能

当前可以调用的流程

验证程度

概念设计

文字生成表单、人物参考图生成多视图表单

代表性表单已验证;概念图生成与完整下载待验收

几何生成

单图、3–8 张多视图、V3.1、面数选择

三视图几何生成 → 监控 → 下载已验证

组件拆分

上传模型、准备预分割

表单已验证;预分割后的部件调整、确认与分件导出待完善

低模生成

上传模型、低/中/高档、三角面/四边面

表单已验证;最终拓扑和结果下载待验收

UV 展开

上传模型、智能展开 UV

表单已验证;UV 质量和产物下载待验收

纹理绘制

文字、单图、多视图;笔刷辅助入口

多视图纹理生成 → 自动下载 GLB 已验证;笔刷区域操作需人工

绑骨蒙皮

上传模型、准备自动绑骨

表单已验证;真实人物的骨骼、权重和变形质量待验收

动画生成

选择可见角色、匹配动作模板

表单已验证;实际动画生成和导出待验收

成品下载

按资产实际菜单选择格式、归档和校验

GLB / STL / FBX 有真实成功记录;USDZ / MP4 / GIF 仅发现入口

世界生成不在本项目范围内。 普通首页的图/文生 3D、全景图、世界重建尚未接入当前 Studio 任务流程。详见 调研与功能边界

安装

运行环境:Python 3.11+、已安装的 Google Chrome、可登录的混元 3D 网页账号。当前生产流程在 Windows 上验证;其他操作系统尚未完成同等验收。Blender 仅在导入和后处理时需要。

从源码安装

在 PowerShell 中执行:

git clone https://github.com/ABOOAI/hunyuan3d-workbench.git
cd hunyuan3d-workbench
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install .

$Workbench = (Resolve-Path .\.venv\Scripts\hunyuan-workbench.exe).Path
& $Workbench doctor
& $Workbench capabilities

开发时可将安装命令改为 python -m pip install -e .

从发行包安装

Releases 下载 wheel,在自己的工具目录建立虚拟环境后安装:

py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install .\hunyuan3d_workbench-0.2.1-py3-none-any.whl
$Workbench = (Resolve-Path .\.venv\Scripts\hunyuan-workbench.exe).Path
& $Workbench doctor

wheel 安装仍需获取 Python 依赖。Chrome 需要单独安装;发布包不包含浏览器、登录资料、生成素材或运行中的任务数据。后续示例沿用本节的 $Workbench 变量;若已激活虚拟环境,也可直接使用 hunyuan-workbench

第一次生成三视图道具

1. 启动浏览器并登录

& $Workbench web-start

在新打开的 Chrome 中完成混元 3D 登录。工具使用独立的持久浏览器配置,不自动继承其他 Chrome 窗口或内置浏览器的登录资料。登录、验证码等需要人工操作时,工具会报告需要处理。

2. 登记三张参考图

将自己的正面、右侧、背面图片放到当前目录的 inputs/prop/ 下:

& $Workbench prepare --name "陶罐" --front .\inputs\prop\front.png --right .\inputs\prop\right.png --back .\inputs\prop\back.png --faces 50000 --height 0.34

返回 JSON 中的 id 是本地任务号。把后续命令中的 JOB_ID 替换成它。此步只校验并保存本地输入,不上传、不生成。

多视图预设要求 3–8 张、必须含正面、不同方向不能使用完全相同的文件。支持 PNG/JPEG/WEBP,每边 128–4096 像素,每张不超过 10 MiB。这些是当前工具的输入预设;例如“三图起步”比当时网页的最少两图要求更严格。

3. 上传、生成、自动下载

& $Workbench web-run JOB_ID --submit --wait 15
& $Workbench status JOB_ID
& $Workbench watches

--submit 会点击官网生成,可能消耗网页额度,并自动开启完成后下载。 只想检查上传后的表单时,先运行 web-run JOB_ID,检查后再运行 submit JOB_ID

--wait 表示 CLI 等待这次本地请求的秒数,上限 60 秒,不是服务端生成超时。命令返回 request_id 时,本地执行还可能继续;用 web-poll REQUEST_ID 获取这次执行结果。生成状态由 worker 后台检查,无需不断调用 web-inspect

status JOB_ID 读取本地记录;需要主动刷新官网状态时:

& $Workbench status JOB_ID --refresh --wait 10
& $Workbench download JOB_ID --format auto --wait 15

重复下载同一格式会先核对文件哈希,再复用已归档文件。请求另一种可用格式会保留额外导出,不覆盖原始成品。

用 JSON 调用不同功能

& $Workbench prepare-spec .\examples\multiview-geometry.json
& $Workbench web-run JOB_ID --submit

示例只包含参数,不附带参考图和模型。修改路径或准备自己的输入后再执行。JSON 内的相对路径按命令的当前工作目录解析,不按 JSON 所在目录解析。

字段 / 功能

参数约定

通用字段

featurename 必填;revision 默认 v001height_m 为可选目标米制高度

concept

mode: text + prompt,或 mode: multiview + image;可选 a_pose;图生多视图限人物

geometry

mode: single + image,或 mode: multiview + viewsface_count: 50000 / 500000 / 1000000 / 1500000

components

mode: presegment + model

retopology

mode: retopology + modellevel: low / medium / high;polygon: triangle / quad

uv

mode: unwrap + model

texture

model + mode: text / image / multiview,分别搭配 prompt / image / viewsbrush 仅辅助入口

rig

mode: auto + model;GLB 声明三角面数超过 500000 时先拦截

animation

mode: template + character + motion;前者是角色选择器中的实际 HTTPS 缩略图 URL,后者是准确的可见动作名

文字模式的 prompt 为 1–150 字。views 支持 frontrightbacklefttopbottomleft_frontright_front。模型通常接受 GLB/FBX/OBJ,组件拆分额外接受 STL;带外部材质的 OBJ 需先打包为 GLB,以免漏传依赖。

自定义角色应先完成绑骨,再从动画页面的角色选择器选取;该页面没有直接上传本地模型的入口。动作名称出现歧义时工具会停止,不会任意选取。

可用示例:三视图几何三视图纹理低模绑骨批量道具

# 默认只登记本地任务;每批 1–8 份描述。
& $Workbench batch .\examples\batch-props.json

# 明确提交时需要 worker 已启动,并会使用官网额度。
& $Workbench batch .\examples\batch-props.json --submit

相同输入、参数和版本会复用本地任务,防止误重复提交。确实要生成新版本时修改 revision。批量命令用于登记和提交任务,不是具备上下游依赖的流水线:例如纹理任务需要先取得几何文件,再单独准备。

监控、异常和恢复

& $Workbench watch JOB_ID --interval 20 --format auto
& $Workbench watch JOB_ID --no-download
& $Workbench watch JOB_ID --stop
& $Workbench assets JOB_ID --wait 10
& $Workbench doctor

检查间隔接受 5–300 秒,默认 20 秒,异常时会退避。停止监控不会取消官网生成。保持电脑运行及 worker 存活才能持续监控和下载;它不是 Windows 系统服务,关机或退出 worker 后不会自行继续执行。

任务状态通常为:

PREPARED → UPLOADING → READY → SUBMITTING
                                    ↓
                         SUBMITTED / RUNNING
                                    ↓
                         SUCCEEDED → DOWNLOADED

提交结果不确定时记录 UNCERTAIN;只有对应官网卡片明确报告失败,才记为 FAILED。浏览器超时不能直接证明任务生成失败。已提交或不确定的任务不会自动重发。

当前页面资产卡不提供可直接读取的稳定官网任务号。生成时工具绑定这次提交后唯一新增的卡片元素,完成后保存唯一缩略图身份。如果浏览器在稳定身份形成前中断,工具会停止该任务的监控并报告 TASK_IDENTITY_REQUIRED,需要核对成品。

确认某张已完成且当前选中的卡片确实属于该任务后,可使用 assets 返回的缩略图地址恢复绑定:

& $Workbench recover JOB_ID --thumbnail "已核对的完整缩略图URL" --evidence "参考图、提交时间和结果外观的核对依据" --wait 10
& $Workbench watch JOB_ID

不要把第一个卡片或相似缩略图当成恢复依据。未提交的 READY 表单若被修改或浏览器重启,需要重新 web-run 准备;出现页面改版或控件不匹配时,用 web-inspect --job-id JOB_ID 辅助诊断。

下载、数据目录与 Blender

auto 只从该资产实际提供的格式中选择。几何优先 GLB、其次 STL;纹理、绑骨和动画流程优先 GLB、其次 FBX。显式请求不可用格式时会报告可用项,不会生成一个虚假的成功结果。

Windows 默认数据目录为 %LOCALAPPDATA%\hunyuan-workbench。使用全局参数 --root 或环境变量 HUNYUAN_WORKBENCH_ROOT 可指定其他位置:

# --root 放在子命令之前;同一组任务的后续调用使用同一个目录。
& $Workbench --root .\local-data doctor

# 或在当前 PowerShell 会话统一设置;MCP 可在宿主配置的 env 中设置。
$env:HUNYUAN_WORKBENCH_ROOT = Join-Path $env:LOCALAPPDATA 'hunyuan-workbench'
数据目录/
  jobs.sqlite3                 任务账本与状态事件
  jobs/JOB_ID/manifest.json     输入信息和参数
  jobs/JOB_ID/references/       输入副本
  jobs/JOB_ID/browser/          页面证据和结果身份
  jobs/JOB_ID/output/           下载原件、校验报告、额外格式、Blender 脚本
  watches/                     监控配置及结果
  queue/                       本地执行请求和结果
  chrome-profile/              持久浏览器配置,包括登录资料

不要把数据目录提交到 GitHub。 它可能包含登录状态、作品、参考图、账号相关页面和临时下载地址。分享问题记录前请先脱敏;仓库和发行包仅包含工具源代码、文档、示例参数及离线测试。

完成下载后:

& $Workbench inspect-asset .\my-model.glb
& $Workbench blender-script JOB_ID

# 替换成自己的 Blender 程序,以及上一条命令返回的脚本绝对路径。
& 'C:\Path\To\Blender\blender.exe' --background --factory-startup --python 'C:\Path\To\import_in_background.py'

该脚本会清空它所在进程的场景,必须在独立后台 Blender 进程运行。它导入并保留模型层级、按目标高度缩放、落地、打包资源并保存 .blend;不负责自动减面、修复拓扑或生成 Unity 交互。GLB/FBX 轴信息由导入器处理,仍需逐个检查朝向、比例和材质。

文件检查覆盖容器、签名、压缩包完整性及声明信息,不等同于视觉、拓扑、骨骼或 VR 性能验收。进入 Unity 前仍需检查材质、面数、贴图大小、LOD、碰撞和角色变形。

MCP 接入

安装包提供 hunyuan-workbench-mcphunyuan-workbench mcp 两种 stdio 启动方式。mcp-config.example.json 是通用示例:

{
  "mcpServers": {
    "hunyuan-workbench": {
      "command": "hunyuan-workbench-mcp",
      "args": []
    }
  }
}

宿主需要能够从 PATH 找到这个命令。使用虚拟环境安装时,通常应把 command 改为该环境中 Scripts/hunyuan-workbench-mcp.exe绝对路径。不同宿主的配置格式不同,按其 MCP 配置入口填写;复制样例文件不等于宿主已注册或加载服务。

工具分组

MCP 工具

能力与诊断

workbench_capabilitiesworkbench_doctor

本地任务

workbench_prepareworkbench_prepare_featureworkbench_listworkbench_get

浏览器与提交

workbench_browser_startworkbench_browser_runworkbench_submit

监控

workbench_statusworkbench_watchworkbench_watches

成品与恢复

workbench_downloadworkbench_assetsworkbench_recover

排错

workbench_browser_inspectworkbench_browser_result

本地导入

workbench_ingestworkbench_blender_script

智能体应先读能力状态、准备任务,再按用户授权提交。workbench_browser_run(submit=True)workbench_submit 都可能消耗网页额度;不要重发处于 SUBMITTINGUNCERTAINRUNNING 的任务。

开发、验证和限制

在源码目录及已安装依赖的环境中运行:

.\.venv\Scripts\python.exe -m unittest test_workbench test_lifecycle -v
.\.venv\Scripts\python.exe smoke_mcp.py

发布准备中的 27 项离线测试通过,MCP 初始化、19 个工具枚举和能力查询通过。离线浏览器测试会启动本机 Chrome,但拦截页面请求,不访问官网、不消耗生成额度。真实生成记录、离线测试覆盖及未完成项见 VALIDATION.md

这是依赖可见网页结构的适配器。官网改版、登录失效、导出故障或资产尚未加载,都可能需要恢复或更新适配器。曾观察到 FBX 导出时 Chrome 崩溃;恢复同一成品后导出成功,但这不是所有导出故障已解决的保证。

项目公开可见,代码许可证尚未指定。第三方依赖与混元服务分别遵循各自条款。

Available Tools

19 tools
workbench_assetsA

List currently loaded visible asset cards and thumbnail identities on this job page. Does not enumerate unloaded pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

A4.2/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 burden of behavioral disclosure. It clearly states that only loaded, visible cards are included and that unloaded pages are excluded, setting accurate expectations about the tool's limited scope. It does not discuss side effects, but this appears to be a read-only listing operation.

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?

Two short sentences with no filler. The main purpose is front-loaded, and the important limitation is stated separately. Every clause 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 simple single-parameter listing tool, the description is reasonably complete. It states what is listed and what is excluded, though it does not describe the return structure or how to find the job_id. Given the low complexity and absence of an output schema, this is a minor gap.

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

Parameters3/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 add meaning to the lone 'job_id' parameter. Saying 'on this job page' implies that job_id identifies the relevant job page, but the description does not explain how to obtain or format the job_id beyond what the parameter name suggests.

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 and resource: 'List currently loaded visible asset cards and thumbnail identities'. It also clarifies scope with 'on this job page' and differentiates itself from broader listing tools by noting it does not enumerate unloaded pages.

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 implies when to use this tool: when you need only currently loaded visible asset cards and thumbnails. The explicit exclusion of unloaded pages provides clear context, though it does not name alternative sibling tools or state when not to use it.

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

workbench_blender_scriptC

Create a separate background Blender import script with metres, normalized height and grounded origin.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden. It indicates a create/write operation but does not disclose side effects, whether files are modified, permissions required, idempotency, or what 'background' means.

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 filler, and it includes key formatting constraints. It is concise, though it trades away necessary usage and behavioral 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 output schema and no annotations, the description omits expected result, side effects, and workflow context. An agent cannot tell what happens after the script is created or how `job_id` drives the operation.

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 never mentions `job_id` or explains how it relates to the created script. The parameter title is self-explanatory at a superficial level, but the description adds no semantic value and fails to 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?

The description uses a specific verb and resource: it creates a 'separate background Blender import script' with concrete constraints ('metres, normalized height and grounded origin'). It is clear about the output artifact, but it does not differentiate this from close siblings in the pipeline, and the word 'background' is ambiguous.

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 choose this tool over siblings such as workbench_prepare, workbench_submit, or workbench_ingest. No prerequisites, workflow position, or exclusions are mentioned; only the action itself is stated.

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

workbench_browser_inspectA

Read the visible job page or default page for diagnosing a changed UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNo

TDQS

A3.5/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 burden of behavioral disclosure. 'Read' signals a non-mutating operation and 'visible job page' clarifies what is observed, but it does not explain the output format, whether a browser session must be active, or any other behavioral nuances.

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 sentence with no filler, front-loading the main verb and resource, and ending with the use case. Every word contributes to the agent's understanding.

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 simple read-only tool with one optional parameter, the description is mostly adequate. However, it does not explain what the return value looks like (no output schema exists) or mention any prerequisite like having a browser started, which could matter given the browser_* sibling tools.

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

Parameters3/5

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

The schema has a single optional job_id with 0% description coverage. The description's mention of 'job page or default page' implies that job_id selects a specific job page while omission uses the default page, adding meaning beyond the schema. However, this relationship is not stated explicitly.

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 ('Read') and a resource ('the visible job page or default page'), with a clear diagnostic purpose ('for diagnosing a changed UI'). It is distinct from sibling browser tools like start, run, and result, though it does not explicitly name them.

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 diagnosing a changed UI' provides a clear context for when to use the tool, but it does not mention alternatives or state when not to use it. The usage guidance is implied rather than explicit relative to the sibling tools.

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

workbench_browser_resultA

Retrieve one local request result. Read watches for generation progress; do not repeatedly inspect the page.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYes

TDQS

A3.5/5.0
Behavior3/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. It discloses that this is a retrieval operation and warns against repeated page inspection, which is useful behavioral context. It does not mention error behavior, persistence, or side effects, but for a simple read operation this is acceptable.

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?

Two short sentences with no filler. The core action is front-loaded and the caution about watches is placed second, making the most important instruction immediately visible.

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 only one parameter and no output schema, so the description does not need to explain complex return values. However, it omits where request_id comes from and what shape the result takes, leaving minor gaps for an agent that must invoke the tool correctly in a larger 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 does not explain what request_id means, where it comes from, or how it relates to other workbench calls. The parameter name is self-explanatory at a basic level, but the tool description adds no semantic value beyond the 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 action ('Retrieve') and a specific object ('one local request result'), making the core purpose clear. It does not explicitly contrast with sibling tools like workbench_get or workbench_browser_inspect, but the wording is specific enough to distinguish intent.

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 practical usage direction: use watches for generation progress and do not repeatedly inspect the page with this tool. It implies an alternative behavior but does not name the exact sibling tool, so it stops short of fully explicit routing.

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

workbench_browser_runA

Upload and configure the full job in one local execution. submit=True generates once and starts local monitoring with automatic download; consumes web quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
submitNo

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description must disclose behavior itself. It does mention that the operation consumes web quota and that submit=True starts local monitoring and automatic download, which is useful. However, it leaves the submit=False behavior implicit, does not state whether the operation is destructive or creates persistent state, and gives no blocking or timeout expectations.

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 two sentences with no wasted words. It front-loads the primary action and then explains the conditional submit behavior and the quota cost, which is optimally compact for the information provided.

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 core behavior for a two-parameter tool is present, but there is no mention of return values or result format, no prerequisites, and no guidance on how this relates to the many sibling tools. Given no annotations and no output schema, an agent would still have open questions about what happens after invocation and how to combine this with other workbench steps.

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

Parameters3/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 explains submit=True well: generates once, starts local monitoring, and auto-downloads. job_id is only surfaced as 'Job Id' in the schema, and the description does not clarify what kind of job reference is valid or whether the job must already be prepared.

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 states it uploads and configures the full job in one local execution, which identifies a specific combined action. The submit flag adds detail about generate/monitor/download behavior. It does not explicitly name sibling differences, but the phrase 'in one local execution' hints at being a consolidated alternative to multi-step workflows.

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?

Usage context is implied: use this tool for a one-shot full job execution, with submit=True enabling generation, monitoring, and automatic download. However, it never says when to use this instead of related tools such as workbench_submit, workbench_browser_start, or a prepare-then-run sequence, and it omits prerequisites.

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

workbench_browser_startA

Start/reconnect the persistent local browser. Uses its existing official web login.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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 of behavioral disclosure. It does reveal two important behaviors: the browser session is persistent and the tool reuses an existing official web login rather than prompting for new credentials. It does not mention side effects, failure modes, or what happens on reconnect versus fresh start, but the core behavior is reasonably 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 two short sentences with no filler. The primary action is front-loaded and the authentication detail is concise and relevant. 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?

Given zero parameters and the straightforward nature of a start/reconnect operation, the description provides enough context for an agent to understand the tool's role. Mentioning persistence and existing login is valuable. It could be slightly stronger by noting the relationship to browser_run or browser_inspect, but this is a minor gap for such a simple tool.

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 is no parameter detail for the description to add. A baseline of 4 is appropriate because there is nothing the description must clarify about arguments.

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 action ('Start/reconnect') and the resource ('persistent local browser'), making the tool's purpose immediately understandable. It is not a tautology and has enough specificity to distinguish it from generic browser operations, though it does not explicitly contrast with sibling 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 phrase 'Start/reconnect' implies when the tool should be used: when the persistent browser session needs to be initiated or resumed. The note about using its 'existing official web login' gives useful context about authentication expectations. However, it does not explicitly say when to use this tool versus siblings like workbench_browser_run or workbench_browser_inspect.

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

workbench_capabilitiesA

Observed feature catalog, inputs, tested status and current limitations. Excludes world generation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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 disclosure burden. It meaningfully discloses that the catalog is observed, includes tested status, and documents current limitations, which helps set expectations about reliability and completeness. It does not state whether the tool has side effects, but for a zero-parameter capabilities tool this is reasonably 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 extremely concise, front-loaded with the primary content, and every phrase adds value. 'Excludes world generation' is a useful scoping exclusion in a single short sentence. No filler or redundancy is present.

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 introspection tool with no output schema, the description is largely complete: it tells the agent what the tool provides and what it excludes. It could be slightly more helpful by indicating a prototypical use case, such as checking workbench capabilities before invoking other workbench tools, but it is not critically incomplete.

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 no parameters and an empty input schema, so the baseline is 4. The description adds context about what will be returned rather than parameter details, which is appropriate here since there are no parameters to document.

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 conveys that the tool returns a catalog of observed features, inputs, tested status, and limitations. It is clearly a capabilities/introspection tool rather than an operation tool, and it explicitly excludes world generation, which narrows its scope. However, it lacks a direct verb like 'Lists' or 'Reports' and does not differentiate itself from sibling tools such as workbench_status or workbench_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 states the content of the tool but gives no guidance on when to use it versus alternatives. There is no mention of when to consult capabilities versus workbench_doctor, workbench_status, or workbench_list, and no explicit conditions or exclusions beyond world generation.

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

workbench_doctorB

Inspect local runtime, worker heartbeat and persisted monitoring state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/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 burden. 'Inspect' implies a read-only diagnostic operation and the listed targets add useful context, but the description does not disclose side effects, return format, or whether any monitoring state is refreshed as part of the inspection.

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, direct sentence with no filler. It front-loads the verb and clearly enumerates the three inspected areas, making every word useful.

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 zero-parameter diagnostic tool, the description is mostly self-sufficient and clearly enumerates the scope of inspection. However, with no output schema and no usage guidance, an agent still lacks information about what result to expect and when this tool is the right choice among the many siblings.

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 coverage is vacuously 100%, so there are no parameter semantics to clarify. The description appropriately focuses on what the tool inspects rather than any inputs.

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, 'Inspect', and concrete resources: local runtime, worker heartbeat, and persisted monitoring state. It is clear about what the tool examines, though it does not explicitly distinguish itself from sibling diagnostic tools like workbench_status or workbench_watch.

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 the many sibling tools. The description states what it inspects but not the conditions or context in which an agent should choose workbench_doctor over alternatives.

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

workbench_downloadB

Select the matching completed asset, download via official UI, validate and archive. Never generates again.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
format_nameNoauto

TDQS

B3.3/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 of disclosing behavior. It does disclose the multi-step behavior: downloading via official UI, validating, archiving, and never generating again. However, it omits details like authentication requirements, what 'archive' does to data, and whether the operation has side effects beyond the download.

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 compact, approximately two short sentences, and every phrase adds information: the selection criterion, the download mode, validation, archiving, and the non-generation guarantee. There is no redundant fluff.

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 description provides a high-level workflow but is incomplete for actual invocation. It lacks any explanation of the input parameters, expected output, or operational prerequisites beyond 'completed asset.' With no output schema and no annotations, this is a material 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%, so the description must compensate by explaining the parameters, but it never mentions job_id or format_name. 'Matching completed asset' vaguely implies job_id, but format_name is completely unaddressed. An agent cannot reliably know how to set format_name from this 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 gives a specific workflow: select a completed asset, download it, validate, and archive. It clearly describes the resource and action, and the line 'Never generates again' helps distinguish this download tool from generation-oriented siblings, even though no sibling is explicitly named.

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 phrase 'Select the matching completed asset' provides clear context that this tool should only be used when a completed asset already exists. 'Never generates again' is an explicit exclusion, telling the agent this tool is not for generation. It does not name alternative tools, but the usage boundary is reasonably clear.

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

workbench_getA

Read one job, its input hashes and state history; no browser calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

A3.9/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 transparency burden. It clearly signals a read-only operation ('Read') and explicitly disclaims side-effectful browser activity ('no browser calls'). It could add more about authentication or output behavior, but for a simple read tool this is sufficient.

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 core operation first, then the key scoping constraint ('no browser calls'), earning every word.

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 tool with one required string parameter, no output schema, and no annotations, the description covers the core purpose, return content, and a key behavioral boundary. It is slightly thin on parameter provenance and selection guidance, but overall an agent can invoke this tool correctly with the information provided.

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 job_id parameter. Saying 'Read one job' conveys that job_id identifies a single job, but it does not explain the ID's format, where to obtain it, or how it relates to sibling tools like workbench_list. The compensation is minimal.

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 a clear resource ('one job'), and further specifies the data returned: input hashes and state history. It also explicitly distinguishes itself from browser-oriented siblings with 'no browser calls', so an agent can select it confidently.

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 tool is for reading a single job's details, and 'no browser calls' hints it is not for browser automation. However, it does not explicitly name alternatives or state when to use this tool versus workbench_list, workbench_status, or workbench_watch.

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

workbench_ingestB

Validate/archive a manually downloaded artifact for a confirmed successful job.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
downloaded_fileYes

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. It reveals that the tool validates and archives, but it does not describe side effects, whether archiving is irreversible, what validation checks occur, or what happens on failure. This is a significant gap for a tool that likely moves or stores files.

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. Every word contributes meaning, including 'manually' and 'confirmed successful,' which set scope. There is no fluff or repetition.

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, no output schema, and no parameter documentation, this description is too thin for confident invocation. An agent would still need to infer how to supply the file, what validation means in this context, and what the archive step does to the artifact.

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 define either parameter. It implies that 'downloaded_file' is the manually downloaded artifact and 'job_id' refers to the confirmed successful job, but it omits critical details like file path format, accepted values, or expected relationship between the two 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 states specific actions ('Validate/archive') on a clear resource ('a manually downloaded artifact') and an explicit condition ('confirmed successful job'). This makes it distinguishable from sibling tools like workbench_download, though no sibling is named directly.

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 'manually downloaded artifact for a confirmed successful job' gives a clear context for when to use this tool. However, it does not explicitly explain when not to use it or point to an alternative tool, leaving some routing decisions to the agent.

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

workbench_listA

Read durable local jobs; no browser calls.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

There are no annotations, so the description carries the behavioral burden. 'Read durable local jobs; no browser calls' conveys that this is a read-only, non-browser operation, which is helpful. It does not mention result shape, ordering, pagination, or error behavior, so transparency is adequate but limited.

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: a single sentence with two clear clauses. Every word contributes either to the resource being read or to the key exclusion of browser calls, with no filler.

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, no-output-schema tool, the description covers the essential purpose and the main behavioral constraint. It could say more about what the returned data contains, but 'Read durable local jobs' is enough to guide invocation correctly in most cases.

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 baseline is 4. There is nothing for the description to add beyond what the empty input schema already shows, and no parameter meaning is left 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?

The description uses a specific verb 'Read' with a clear resource, 'durable local jobs,' and adds the distinguishing trait 'no browser calls.' This separates it from browser-related siblings, though it does not explicitly differentiate it from reading/status tools like workbench_get or workbench_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?

'No browser calls' implies this is the non-browser route for reading local jobs, which is useful context. However, it does not name alternatives or state when to prefer this over workbench_get, workbench_status, or workbench_watches, leaving usage mostly implied.

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

workbench_prepareB

Validate/copy/deduplicate 3..8 views including front. Does not submit or consume quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
viewsYes
height_mNo
revisionNov001
face_countNo

TDQS

B3.2/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 usefully discloses non-behaviors ('does not submit', 'does not consume quota') and a constraint ('including front'). Yet it does not clarify potential side effects of copy/deduplicate, required state, permissions, 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 extremely compact, with the core behavior and the key constraint front-loaded in the first sentence. The second sentence adds an important distinguishing fact. No filler or redundancy exists.

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 5 parameters, a nested views object, no output schema, and no annotations, this description is too sparse. It addresses only the views count and the submit/quota behavior, leaving the agent to guess about parameter formats, defaults, return values, and overall 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 0%, so the description must compensate for all parameters. It only adds meaning for 'views' by specifying a count range of 3..8 and requiring 'front'. The other parameters (name, height_m, revision, face_count) remain unexplained, leaving the agent without enough semantic information to set them correctly.

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 the core operation ('Validate/copy/deduplicate') on a specific resource ('3..8 views including front') and clarifies it does not submit or consume quota. This is sufficiently specific to differentiate it from submission-style tools, though the compound verb list makes the exact primary action slightly ambiguous.

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 'Does not submit or consume quota' implies this is a pre-submission preparation step, which gives some contextual guidance. However, it does not explicitly name alternatives, state when to choose this over workbench_prepare_feature, or describe prerequisites.

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

workbench_prepare_featureC

Validate a feature specification and preserve local inputs. See capabilities and README for schemas.

ParametersJSON Schema
NameRequiredDescriptionDefault
specYes

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description must carry the full burden of behavioral disclosure. It reveals only that the tool validates and 'preserves local inputs,' but does not explain what preservation means, whether there are side effects, what happens on failure, or what the output looks like.

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 short and front-loads the core action in the first sentence. The second sentence points to external references, which is helpful but slightly reduces self-containedness. Overall, no words are wasted.

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 output schema, and a free-form spec object, the description leaves too much unspecified. The tool cannot be correctly invoked based solely on this description, and it defers critical schema details to the README and capabilities rather than including them.

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 sole parameter 'spec' is an open object with additionalProperties true. The description only labels it as a feature specification, without providing structure, expected fields, or examples, so it does not 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 uses a specific verb ('validate') and identifies a clear resource ('feature specification'), and also mentions the additional behavior of preserving local inputs. However, it does not differentiate this tool from the similarly named sibling workbench_prepare, so it stops 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 implies this tool is used when you need to validate a feature specification, and it directs the agent to capabilities and README for schemas. But it provides no explicit when-to-use versus alternatives such as workbench_prepare, and no exclusion criteria or prerequisites are stated.

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

workbench_recoverC

Explicitly rebind an interrupted task only after reviewing its matching completed asset. Thumbnail must identify the one selected card. Never generates.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
evidenceYes
thumbnailYes

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 full behavioral burden. It discloses that the tool 'never generates,' but it does not explain side effects of rebinding, whether it mutates state, requires permissions, or can be undone. For a recovery/mutation tool, this is a significant gap.

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?

Three short sentences, each carrying meaningful information, with the primary purpose front-loaded. The word 'Explicitly' is somewhat redundant, but overall the description is efficiently written.

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 3 required parameters, no output schema, no annotations, and 18 siblings, the description is too sparse. It lacks definitions for 'evidence' and 'job_id,' omits return-value or side-effect information, and does not differentiate itself from sibling tools beyond a vague 'never generates.'

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 coverage is 0%, so the description must compensate. It only clarifies 'thumbnail' ('must identify the one selected card'); 'job_id' is self-explanatory by name but undocumented, and 'evidence' is entirely unexplained. The description fails to adequately define two of the three required 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 states a specific action ('rebind an interrupted task') and adds a clear constraint ('only after reviewing its matching completed asset'). The phrase 'Never generates' helps distinguish it from generation-focused siblings, though 'rebind' remains domain-specific jargon.

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?

It provides a clear precondition (use only after reviewing the completed asset) and implies it's for interrupted tasks, but it does not explicitly name alternatives or enumerate when-not-to-use conditions. 'Never generates' is a behavioral constraint rather than usage guidance.

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

workbench_statusC

Read local state or enqueue a fresh check of the exactly bound web asset.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
refreshNo

TDQS

C2.4/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 burden. It does disclose a read/refresh dual-mode and mentions 'enqueue a fresh check', which hints at side effects, but it does not explain consequences, whether the check is asynchronous, what local state means, or any 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.

Conciseness4/5

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

The description is a single short sentence with the core behavior front-loaded. No filler or redundancy, though the phrase 'exactly bound' could be clearer without adding length.

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, no output schema, and 0% schema coverage, this description is too thin. It leaves unclear what the returned status looks like, what 'exactly bound' means, what triggers a refresh, and how job_id relates to the asset.

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 does not explicitly explain either parameter. 'Fresh check' loosely maps to the refresh flag, and 'exactly bound web asset' hints at job_id, but the mapping is implicit and incomplete.

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

Purpose3/5

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

The description states a specific action ('Read local state or enqueue a fresh check') for a resource ('web asset'), so it is not a tautology. However, 'exactly bound web asset' is vague jargon, and the tool's purpose is not clearly distinguished from siblings like workbench_watch or workbench_get.

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 any of the many siblings. The dual-mode behavior implies some usage context, but no conditions, exclusions, or alternatives are stated.

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

workbench_submitA

Submit an already prepared READY form exactly once. Use only with user authorization for this job; may consume web quota.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses meaningful behavioral traits: the action is one-time, requires user authorization, and may consume web quota. It stops short of describing post-submission state or failure behavior, so it does not reach a 5.

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?

Two tight sentences front-load the core action and state requirement, then append the authorization and quota caveats. Every word adds operational guidance with no redundancy or restatement of schema fields.

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 one-parameter submit action with no output schema, the description covers the essential operational context: what to submit, when it is allowed, the one-time constraint, and quota consequence. Some detail about what happens after submission is missing, but the simple scope keeps this gap minor.

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

Parameters3/5

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

The schema has 0% description coverage for job_id, and the description does not explicitly mention job_id. However, describing the target as 'an already prepared READY form' implies job_id identifies that prepared form, providing minimal semantic context without fully explaining the parameter.

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 ('Submit') with a clear object ('an already prepared READY form'), establishing the exact action and required state. The phrase 'already prepared READY' differentiates it from sibling preparation tools like workbench_prepare.

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?

It clearly signals the tool is for the post-preparation step by requiring a READY form, and it adds explicit constraints: exactly once, user authorization required, and possible web quota consumption. It does not explicitly name alternative tools, but the workflow context is clear.

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

workbench_watchA

Configure persistent local task monitoring. Checks happen in the worker without repeated model calls. Stopping monitoring does not cancel generation.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes
enabledNo
intervalNo
format_nameNoauto
auto_downloadNo

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose two non-obvious behavioral traits: monitoring checks run in the worker without repeated model calls, and stopping monitoring does not cancel generation. It could add more about response behavior or side effects, but the key operational and safety-relevant behaviors 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 three short sentences with no filler, front-loaded with the purpose, and every sentence adds distinct behavioral or contextual information. It is appropriately sized for the tool's complexity.

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 five parameters and no output schema, the description is not complete enough for an agent to configure the tool confidently. It omits parameter semantics such as interval units, format_name values, and auto_download behavior, and says nothing about the return value or how existing watches are affected.

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 five parameters, but it does not explain job_id, enabled, interval, format_name, or auto_download. Phrases like 'stopping monitoring' weakly map to enabled, but no parameter receives meaningful semantic clarification.

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 and resource ('Configure persistent local task monitoring') and makes the tool's role clear compared to one-time status checks or listing watches. It does not explicitly name a sibling tool, but the wording distinguishes it from workbench_status and workbench_watches well enough.

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: this is for persistent, low-overhead monitoring because checks happen in the worker without repeated model calls. It also warns that disabling monitoring is not a cancellation action, which is important guidance for when to stop using it. It does not explicitly enumerate alternatives or exclusions, so it is not a 5.

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

workbench_watchesA

Read monitor results, errors, next check times and attention flags from disk.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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 behavioral disclosure burden. It communicates a read-only operation from disk and enumerates the returned data categories, but does not mention staleness, scope (all watches vs. a single watch), or any other behavioral caveats.

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 that leads with the action and lists the relevant data contents. There is no filler or redundant information.

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 no-parameter, no-output-schema tool, the description adequately conveys what will be read and from where. It could be more explicit about whether it returns all watches or a single watch, but the enumerated fields give an agent enough context to invoke it correctly.

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 covers parameter semantics by having an empty properties object. The description does not need to add parameter detail, matching the baseline of 4 for parameterless tools.

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 ('Read') and identifies the resource: monitor results, errors, next check times, and attention flags from disk. This clearly distinguishes it from an abstract or tautological definition, though it does not explicitly contrast it with the sibling workbench_watch.

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 workbench_watch, workbench_status, or workbench_get. The agent must infer usage from the name and description without any stated selection criteria.

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. 19 tool updatesv0.2.1
    • First observedworkbench_assets
    • First observedworkbench_blender_script
    • First observedworkbench_browser_inspect
    • First observedworkbench_browser_result
    • First observedworkbench_browser_run
    • First observedworkbench_browser_start
    • First observedworkbench_capabilities
    • First observedworkbench_doctor
    • First observedworkbench_download
    • First observedworkbench_get
    • First observedworkbench_ingest
    • First observedworkbench_list
    • First observedworkbench_prepare
    • First observedworkbench_prepare_feature
    • First observedworkbench_recover
    • First observedworkbench_status
    • First observedworkbench_submit
    • First observedworkbench_watch
    • First observedworkbench_watches

TDQS

B3/5.0

Scored across 19 tools

Disambiguation2/5

Multiple read/state tools (list, get, status, watch, watches, browser_result, doctor) have overlapping 'read local state or monitoring results' purposes, and browser_run vs submit can both lead to generation. The descriptions do help distinguish them, but an agent still faces several near-boundary choices.

Naming Consistency3/5

All tools share the workbench_ prefix and snake_case, which gives a readable family feel. However, the naming convention is mixed: some are verb_noun like browser_start and prepare_feature, while others are bare nouns or verbs like list, get, watches, assets, capabilities, and doctor.

Tool Count3/5

At 19 tools, the server is in the borderline-heavy range. Most tools map to a real workflow stage, but several status/watch/result variants could likely be consolidated.

Completeness4/5

The server covers the core generate-monitor-download-archive lifecycle, including recovery, manual ingest, diagnostics, and basic Blender integration. Minor gaps exist around cancellation and cleanup/delete operations, but the intended workflow has no obvious dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    Enables AI-powered control of Blender through natural language, allowing users to create, manipulate, and automate 3D scenes, objects, materials, animations, and more via Claude or other MCP clients.
    71
    41
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables connecting Blender 3D to AI assistants via MCP, allowing prompt-driven 3D modeling, scene editing, and real-time manipulation. Supports object/material control, scene inspection, viewport screenshots, and integrations with Poly Haven, Sketchfab, and AI model generators.
    22
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables any MCP client to drive Blender 5.2 LTS through natural language, with tools for scene inspection, object creation and transformation, material and modifier handling, rendering, viewport capture, and guarded Python execution.
    2
    MIT