Skip to main content
Glama

Blender MCP

将 Blender 连接到任何 LLM

由 AI 驱动的提示辅助 3D 建模、场景创建与操作。

PyPI Downloads PyPI Version License: MIT Discord

网站 · 完整教程 · Discord · 发布版本 · 赞助

支持者

CodeRabbit Kevin Guanche Darias

所有支持者: 支持本项目


快速开始

三个步骤:安装 uv,将 MCP 服务器指向你的客户端,安装 Blender 插件。

1. 安装 uv

# macOS
brew install uv

# Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

警告: 在安装 uv 之前不要继续。请使用官方安装程序 — 不要使用 pip install uv

2. 将 MCP 服务器添加到你的客户端

{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": ["blender-mcp"]
        }
    }
}
claude mcp add blender uvx blender-mcp

请参阅下面的 MCP 客户端设置,了解每个客户端的说明和一键安装按钮。

3. 安装 Blender 插件

uvx blender-mcp install-addon

然后在 Blender 中:编辑 → 偏好设置 → 插件 → 启用 界面: Blender MCP

4. 连接

在 Blender 的 3D 视口中,按 N → 打开 BlenderMCP 选项卡 → 点击 启动 MCP 服务器。就这样 — 让 Claude 帮你构建东西。

注意: 只运行 一个 MCP 服务器实例(要么 Cursor,要么 Claude Desktop),不要同时运行。


Related MCP server: BlenderMCP

目录


功能特性

双向通信

通过基于 socket 的服务器将 Claude AI 连接到 Blender

对象操作

在 Blender 中创建、修改和删除 3D 对象

材质控制

应用和修改材质与颜色

场景检查

获取当前 Blender 场景的详细信息

代码执行

从 Claude 在 Blender 中运行任意 Python 代码

资产与模型生成

通过 Hyper3D Rodin 和 Hunyuan3D 获取 Poly Haven 资产、Sketchfab 模型和 AI 生成的 3D 模型

组件

该系统由两个主要组件组成:

  1. Blender 插件addon.py)— 一个在 Blender 内创建 socket 服务器以接收和执行命令的 Blender 插件

  2. MCP 服务器src/blender_mcp/server.py)— 一个实现模型上下文协议并连接到 Blender 插件的 Python 服务器


安装

前提条件

  • Blender 3.0 或更高版本

  • Python 3.10 或更高版本

  • uv 包管理器

macOS

brew install uv

Windows

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

然后在 Windows 中将 uv 添加到用户路径(之后可能需要重启 Claude Desktop):

$localBin = "$env:USERPROFILE\.local\bin"
$userPath = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$userPath;$localBin", "User")

Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

它会安装到 ~/.local/bin — 打开一个新的 shell 以使其出现在 PATH 中。

否则,安装说明请参阅其网站:安装 uv

在每个操作系统上,请使用 uv 的上述官方安装程序 — 不要使用 pip install uv,后者可能不会创建 uvx 命令,并且可能将 uv 隐藏在客户端无法看到的环境中。

警告: 在安装 uv 之前不要继续。

让客户端找到 uvx

从 GUI 启动的 MCP 客户端(Claude Desktop、Cursor、从 Dock/开始菜单启动的 VS Code)不会继承终端中的 PATH,因此即使 uvx 在你的终端中正常工作,裸的 "command": "uvx" 也可能以 spawn uvx ENOENT 失败。如果发生这种情况:

  • 找到 uvx 的完整路径 — which uvx(macOS/Linux)或 where uvx(Windows)— 并将其用作 "command",例如 /opt/homebrew/bin/uvxC:\Users\<you>\.local\bin\uvx.exe

  • 在 Windows 上,你也可以用包装方式:"command": "cmd", "args": ["/c", "uvx", "blender-mcp"]

  • 在更改任何 PATH 或配置后,完全退出并重新启动客户端(Windows:从系统托盘退出,而不仅仅是关闭窗口;macOS:Cmd+Q)。

固定 Python 版本

避免 conda / pyenv / 版本冲突。

uv 会选择哪个 Python 来运行服务器。在安装了 conda(自动激活 base)、pyenv 或 asdf 的机器上 — 或者当有某些依赖项还没有对应 wheel 的较新 CPython 版本时 — uv 可能会选择导致安装失败的解释器。请固定 Python 3.11 并优先使用 uv 管理的解释器,以避免使用 PATH 上的任何解释器:

{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": ["--python", "3.11", "blender-mcp"],
            "env": { "UV_PYTHON_PREFERENCE": "only-managed" }
        }
    }
}

--python 3.11 仍然满足此包的 requires-python >=3.10 要求,而 UV_PYTHON_PREFERENCE=only-managed 可防止 uv 首先选择 conda、pyenv、asdf 或系统 Python。(仓库中的 .python-version 只是给贡献者的提示,不会影响 uvx。)

如果修复后之前的失败尝试仍然反复出现,请清除缓存:

uv cache clean blender-mcp && uvx --refresh blender-mcp

不使用 uv 安装

在受限制的机器上,你可以使用 pipx 完全跳过 uvx,然后将客户端指向已安装的命令:

pipx install blender-mcp
pipx ensurepath          # then restart your shell / client

使用生成的绝对路径作为 "command"(用 which blender-mcp / where blender-mcp 找到它)并省略 args

环境变量

以下环境变量可用于配置 Blender 连接:

变量

默认值

描述

BLENDER_HOST

localhost

Blender socket 服务器的主机地址

BLENDER_PORT

9876

Blender socket 服务器的端口号

示例:

export BLENDER_HOST='host.docker.internal'
export BLENDER_PORT=9876

MCP 客户端设置

Claude for Desktop

观看设置说明视频(假设你已经安装了 uv)

转到 Claude → 设置 → 开发者 → 编辑配置 → claude_desktop_config.json 并包含以下内容:

{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": [
                "blender-mcp"
            ]
        }
    }
}

使用 Claude Code CLI 添加 blender MCP 服务器:

claude mcp add blender uvx blender-mcp

Cursor

Install MCP Server

macOS — 转到 设置 → MCP 并粘贴以下内容:

  • 要作为全局服务器使用,请使用 "添加新的全局 MCP 服务器" 按钮并粘贴

  • 要作为项目专用服务器使用,请在项目根目录创建 .cursor/mcp.json 并粘贴

{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": [
                "blender-mcp"
            ]
        }
    }
}

Windows — 转到 设置 → MCP → 添加服务器,使用以下设置添加新服务器:

{
    "mcpServers": {
        "blender": {
            "command": "cmd",
            "args": [
                "/c",
                "uvx",
                "blender-mcp"
            ]
        }
    }
}

Cursor 设置视频

注意: 只运行 一个 MCP 服务器实例(要么在 Cursor 上,要么在 Claude Desktop 上),不要同时运行。

Visual Studio Code

前提条件:在继续之前,请确保你已安装 Visual Studio Code

Install in VS Code

OpenCode

{
  "mcp": {
    "blender-mcp": {
      "type": "local",
      "command": ["uvx", "blender-mcp"],
      "enabled": true,
      "environment": {
        "BLENDER_HOST": "localhost",
        "BLENDER_PORT": "9876"
      }
    }
  }
}

Antigravity

{
  "mcpServers": {
    "blender-mcp": {
      "command": "uvx",
      "args": ["blender-mcp"],
      "env": {
        "BLENDER_HOST": "localhost",
        "BLENDER_PORT": "9876"
      }
    }
  }
}

安装 Blender 插件

1. 推荐方式 — 在终端中运行:

uvx blender-mcp install-addon

这会将插件复制到你的 Blender 插件文件夹中,命名为 blender_mcp.py。它会打印写入位置,并保留被替换文件的 .bak 备份。

可选:uvx blender-mcp addon-paths 会列出检测到的 Blender 插件文件夹。使用 BLENDERMCP_ADDONS_DIR=/path/to/scripts/addons 覆盖目标位置。

2. 打开 Blender

3. 转到 编辑 → 偏好设置 → 插件

4. 启用 界面: Blender MCP(搜索 "Blender MCP")。如果尚未出现,请点击 安装… 并选择已复制的 blender_mcp.py / addon.py,或重启 Blender。

5. 手动替代方式 — 如果上述命令找不到你的 Blender 安装,或者你更愿意手动操作:从此仓库下载 addon.py → 在 Blender 中,编辑 → 偏好设置 → 插件 → 安装… → 选择下载的 addon.py → 启用它。

然后在 Blender 的侧边栏中打开 BlenderMCP 选项卡(在 3D 视口中按 N)并点击 启动 MCP 服务器。请参阅下面的 启动连接

升级(现有用户)

对于新用户,请直接前往 快速开始。对于现有用户,请参阅下文。

1. 通过运行以下命令更新插件文件:

uvx blender-mcp install-addon
uvx blender-mcp addon-paths   # optional: list detected Blender addons folders

2. 在 Blender 中:偏好设置 → 插件 → 禁用并重新启用 界面: Blender MCP(或重启 Blender),然后再次点击 启动 MCP 服务器

3. 如果服务器包本身需要刷新,请从 Claude 中删除 MCP 服务器并重新添加。

注意: MCP 服务器本身永远不会修改你的 Blender 插件文件。启动时,它会检查已安装的插件是否落后于捆绑副本,并记录如何更新;install-addon 才是实际执行写入的命令,并且它会保留被替换文件的 .bak 备份。轨迹捕获仍然可以通过 execute_code 回退方式在较旧的已加载插件上工作。


使用方法

启动连接

BlenderMCP in the sidebar

  1. 在 Blender 中,转到 3D 视图侧边栏(如果不可见,按 N

  2. 找到 BlenderMCP 选项卡

  3. 打开你想要使用的复选框(更多信息请参见下面的 功能

  4. 点击 连接到 Claude

  5. 确保 MCP 服务器在你的终端中运行

与 Claude 一起使用

一旦配置文件已在 Claude 上设置,并且插件在 Blender 中运行,你将看到一个带有 Blender MCP 工具的锤子图标。

侧边栏中的 BlenderMCP

功能

  • 获取场景和对象信息

  • 创建、删除和修改形状

  • 为对象应用或创建材质

  • 在 Blender 中执行任意 Python 代码

  • 通过 Poly Haven 下载合适的模型、资产和 HDRI

  • Sketchfab 搜索并下载模型

  • 通过 Hyper3D RodinHunyuan3D 生成 AI 3D 模型

示例命令

以下是一些你可以让 Claude 做的事情示例:

提示

演示

"创建一个地牢中的低多边形场景,有一条龙守护着一罐金子"

观看

"使用 Poly Haven 的 HDRI、纹理和模型(如岩石和植被)创建海滩氛围"

观看

给出一张参考图片,并从中创建 Blender 场景

观看

"获取当前场景的信息,并从中制作一个 threejs 草图"

观看

"通过 Hyper3D 生成一个花园小矮人的 3D 模型"

"把这辆车变成红色和金属质感"

"创建一个球体并将其放在立方体上方"

"让灯光像摄影棚一样"

"将相机对准场景,并使其成为等距视图"


持久化 API 凭据

BlenderMCP 通过 Blender 插件偏好设置支持持久化凭据:

编辑 → 偏好设置 → 插件 → Blender MCP

你可以将这些值存储在那里,以便在 Blender 重启后仍然保留:

  • Sketchfab API 密钥

  • Hyper3D API 密钥

  • Hunyuan3D SecretId / SecretKey

  • Hunyuan3D API URL

对于无头设置或 CI,也可以通过环境变量注入凭据:

变量

BLENDERMCP_SKETCHFAB_API_KEY

BLENDERMCP_HYPER3D_API_KEY

BLENDERMCP_HUNYUAN3D_SECRET_ID

BLENDERMCP_HUNYUAN3D_SECRET_KEY

BLENDERMCP_HUNYUAN3D_API_URL


故障排除

问题

修复

连接问题

确保 Blender 插件服务器正在运行,并且 MCP 服务器已在 Claude 上配置。不要在终端中运行 uvx 命令。有时第一条命令不会通过,但之后就会开始工作。

超时错误

尝试简化你的请求或将其分解为更小的步骤。

Poly Haven 集成

Claude 有时行为不稳定。

你试过关闭再打开吗?

如果仍然遇到连接错误,请尝试重启 Claude 和 Blender 服务器。

技术细节

通信协议

该系统使用基于 TCP 套接字的简单 JSON 协议:

  • 命令 以 JSON 对象形式发送,包含 type 和可选的 params

  • 响应 是包含 statusresultmessage 的 JSON 对象

限制与安全注意事项

警告: execute_blender_code 工具允许在 Blender 中运行任意 Python 代码,这可能很强大但潜在危险。在生产环境中请谨慎使用。使用前请务必保存你的工作。

  • Poly Haven 需要下载模型、纹理和 HDRI 图像。如果你不想使用它,请在 Blender 中的复选框中将其关闭。

  • 复杂操作可能需要分解为更小的步骤。

遥测控制

BlenderMCP 收集匿名使用数据以帮助改进工具。遥测同意默认开启,你可以通过两种方式关闭:

1. 在 Blender 中 — 转到 编辑 → 偏好设置 → 插件 → Blender MCP 并取消选中遥测同意复选框。

  • 如果同意(选中,默认):查看 TnC 以了解收集数据的更多详情。

2. 环境变量 — 通过运行以下命令完全禁用所有遥测:

DISABLE_TELEMETRY=true uvx blender-mcp

或将其添加到你的 MCP 配置中:

{
    "mcpServers": {
        "blender": {
            "command": "uvx",
            "args": ["blender-mcp"],
            "env": {
                "DISABLE_TELEMETRY": "true"
            }
        }
    }
}

遥测数据不会与你的姓名或账户关联。它可能用于改进 BlenderMCP、进行研究以及训练 AI 模型。

关于收集内容的完整详情,以及你保持遥测开启所授予的许可,请参阅 TERMS_AND_CONDITIONS.md


反馈

我们正在积极寻求对 Blender MCP 的反馈。如果你有任何想法,请在此处分享:这里

如果你有更详细的反馈,可以在此处与我们安排通话:这里 — 我们将在项目中感谢你。

加入社区

提供反馈、获得灵感,并在 MCP 的基础上进行构建:Discord

贡献

欢迎贡献!请随时提交 Pull Request。

免责声明

这是一个第三方集成,并非由 Blender 制作。由 Siddharth 制作。


Star 历史

如果 Blender MCP 对你有用,请考虑给仓库加星

Available Tools

21 tools
download_polyhaven_assetA

Download and import a Polyhaven asset into Blender.

Parameters:

  • asset_id: The ID of the asset to download

  • asset_type: The type of asset (hdris, textures, models)

  • resolution: The resolution to download (e.g., 1k, 2k, 4k)

  • file_format: Optional file format (e.g., hdr, exr for HDRIs; jpg, png for textures; gltf, fbx for models)

Returns a message indicating success or failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYes
asset_typeYes
resolutionNo1k
file_formatNo

TDQS

A3.8/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 the behavioral burden. It does state that the tool downloads and imports into Blender and returns a success/failure message. However, it does not disclose side effects like modifying the current Blender scene, network requirements, or whether the operation could overwrite existing objects. This is adequate but leaves gaps.

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 well-structured: a one-sentence purpose, a concise parameter block with examples, and a return-value note. It is front-loaded and every line adds value given the schema has no descriptions. The parameter list is slightly long but justified by the lack of schema documentation.

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?

All parameters are covered and the return behavior is stated, which is good for a tool with no output schema. However, the description omits useful context such as where asset_id comes from, whether the import modifies the existing scene, and any dependency on Blender being open. Given no annotations and no output schema, this is a clear gap.

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 0% description coverage, so the parameter list in the description is the primary source of semantic information. It provides meaningful examples and allowed values for asset_type, resolution, and file_format, including asset-type-specific formats. Asset_id is under-specified (only 'The ID of the asset to download'), but the overall parameter documentation compensates well for the bare 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 opens with a specific verb and resource: 'Download and import a Polyhaven asset into Blender.' This clearly distinguishes the tool from siblings like search_polyhaven_assets (searching) and download_sketchfab_model (different source platform). No ambiguity about what this tool does.

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 makes it clear this is for Polyhaven assets, which implies when to use it versus Sketchfab or Hunyuan tools. However, it does not explicitly state when to prefer this over search_polyhaven_assets or set_texture, nor does it mention preconditions such as needing an asset_id from a prior search. Usage context is present but only implied.

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

download_sketchfab_modelA

Download and import a Sketchfab model by its UID.

Parameters:

  • uid: The unique identifier of the Sketchfab model

Returns a message indicating success or failure. The model must be downloadable and you must have proper access rights.

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description only mentions return type (message) and prerequisites. It does not disclose side effects (e.g., scene modification), idempotency, rate limits, or error handling beyond success/failure.

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?

Description is short and presents action first, then parameter and return. It could group the prerequisite line more efficiently, but overall is well-structured and not verbose.

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 tool with one parameter and no output schema, description covers the basic action and prerequisites but lacks usage guidance and behavioral context, making it minimally 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?

Coverage is 0%, so description must compensate. However, it merely restates 'uid: The unique identifier of the Sketchfab model' from the schema without adding format, examples, or constraints.

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 it downloads and imports a Sketchfab model by UID, distinguishing it from sibling tools like search_sketchfab_models and download_polyhaven_asset.

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?

Specifies prerequisites (model must be downloadable, proper access rights) and return value, but does not explicitly mention when to use this tool over alternatives or that the UID likely comes from search_sketchfab_models.

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

execute_blender_codeB

Execute arbitrary Python code in Blender. Make sure to do it step-by-step by breaking it into smaller chunks.

Parameters:

  • code: The Python code to execute

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the burden falls on the description. It does disclose that the tool can run arbitrary Python code, which implies broad power and risk, and the 'step-by-step' warning hints that long or complex executions need caution. However, it does not mention possible destructive scene mutations, absence of undo, execution limits, or error behavior, so the disclosure is only partially complete.

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-loaded with the core purpose. The step-by-step instruction is useful, and the parameter note is simple. The phrase 'step-by-step by breaking it into smaller chunks' is slightly redundant, but overall the text is efficient and easy to scan.

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 an arbitrary code execution tool with no annotations and no output schema, the description leaves important gaps: there is no indication of what the tool returns, how failures surface, what Python objects are available in scope, or whether the execution mutates the Blender scene permanently. The minimal description does not give an agent enough context to safely and correctly invoke this powerful tool in varied situations.

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. The line 'code: The Python code to execute' adds only marginally more than the schema property title 'Code' and the tool name itself. It does not explain expected code environment details such as whether Blender's bpy module is pre-imported, how results or errors are returned, or whether there are execution limits.

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 a specific action and resource: 'Execute arbitrary Python code in Blender.' The word 'arbitrary' signals this is a general-purpose escape hatch, and no sibling tool has the same role, so an agent can immediately distinguish it from the other scene, asset, and model-generation tools.

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 prefer this tool over the many specialized sibling tools. The instruction to break work into smaller chunks is about how to structure execution, not about choosing this tool over alternatives. The only implied guidance is that 'arbitrary' means it can be used for tasks the other tools don't cover, but that is not made explicit.

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

generate_hunyuan3d_modelA

Generate 3D asset using Hunyuan3D by providing either text description, image reference, or both for the desired asset, and import the asset into Blender. The 3D asset has built-in materials.

Parameters:

  • text_prompt: (Optional) A short description of the desired model in English/Chinese.

  • input_image_url: (Optional) The local or remote url of the input image. Accepts None if only using text prompt.

Returns:

  • When successful, returns a JSON with job_id (format: "job_xxx") indicating the task is in progress

  • When the job completes, the status will change to "DONE" indicating the model has been imported

  • Returns error message if the operation fails

ParametersJSON Schema
NameRequiredDescriptionDefault
text_promptNo
input_image_urlNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full behavioral burden and does well: it discloses asynchronous job submission via job_id, eventual DONE status meaning the model has been imported, error returns, and built-in materials. Could mention scene impact, but key behavior is covered.

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?

Well-structured with front-loaded purpose, a compact Parameters section, and a Returns section. Every sentence adds value with no filler or repetition.

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?

Provides enough context for a generation-and-import workflow: inputs, async behavior, success condition, and error handling. It does not explicitly point to poll_hunyuan_job_status for status checking, but the job_id and DONE status make the flow inferable.

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

Parameters5/5

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

Schema coverage is 0%, but the description fully compensates by defining text_prompt as an optional short English/Chinese description and input_image_url as an optional local/remote URL that accepts None. It also clarifies the relationship between the two: either text, image, or both.

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 action, resource, and method: generate a 3D asset using Hunyuan3D from text, image, or both, and import it into Blender. This distinguishes it from sibling generation tools like generate_hyper3d_model_via_text/images and from standalone import 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?

Clearly indicates when to use the tool (Hunyuan3D generation with auto-import) and how to choose inputs (text, image, or both). It does not explicitly name sibling alternatives or state when-not-to-use, but the context is clear enough for selection.

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

generate_hyper3d_model_via_imagesA

Generate 3D asset using Hyper3D by giving images of the wanted asset, and import the generated asset into Blender. The 3D asset has built-in materials. The generated model has a normalized size, so re-scaling after generation can be useful.

Parameters:

  • input_image_paths: The absolute paths of input images. Even if only one image is provided, wrap it into a list. Required if Hyper3D Rodin in MAIN_SITE mode.

  • input_image_urls: The URLs of input images. Even if only one image is provided, wrap it into a list. Required if Hyper3D Rodin in FAL_AI mode.

  • bbox_condition: Optional. If given, it has to be a list of ints of length 3. Controls the ratio between [Length, Width, Height] of the model.

Only one of {input_image_paths, input_image_urls} should be given at a time, depending on the Hyper3D Rodin's current mode. Returns a message indicating success or failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
input_image_pathsNo
input_image_urlsNo
bbox_conditionNo

TDQS

A4.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 behavioral disclosure burden. It usefully mentions built-in materials, normalized sizing that may require re-scaling, that the asset is imported into Blender, and that a success/failure message is returned. However, it does not disclose whether generation is asynchronous, whether a job ID is produced, or what side effects occur beyond the import, which could be significant for an agent deciding how to proceed.

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 and well-structured: a clear one-line purpose, a few meaningful behavioral notes, and a bullet-like parameter section. Every sentence adds value without redundancy, and the most important invocation constraints are placed prominently.

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 covers the key parameters and gives relevant behavioral context, but it does not explain how an agent can determine the current Hyper3D Rodin mode, what image requirements exist, or what the success/failure message contains. Since there is no output schema and sibling polling tools exist, the lack of async/job details leaves some ambiguity for correct invocation.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description fully compensates. It explains that input_image_paths must be absolute paths, that single values must still be wrapped in a list, that the three-element bbox_condition controls Length/Width/Height ratio, and that the two input parameters are mutually exclusive based on the current mode. This is strong parameter-level guidance.

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: 'Generate 3D asset using Hyper3D by giving images' and 'import the generated asset into Blender.' It clearly distinguishes itself from the sibling text-based generation tool by emphasizing image input, so an agent can identify when this tool is relevant.

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 provides concrete guidance on parameter selection: input_image_paths is for MAIN_SITE mode, input_image_urls is for FAL_AI mode, and exactly one must be provided. It does not explicitly name alternative generation tools or state when not to use this tool, but the image-vs-text distinction is clear enough to infer the primary use case.

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

generate_hyper3d_model_via_textA

Generate 3D asset using Hyper3D by giving description of the desired asset, and import the asset into Blender. The 3D asset has built-in materials. The generated model has a normalized size, so re-scaling after generation can be useful.

Parameters:

  • text_prompt: A short description of the desired model in English.

  • bbox_condition: Optional. If given, it has to be a list of floats of length 3. Controls the ratio between [Length, Width, Height] of the model.

Returns a message indicating success or failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
text_promptYes
bbox_conditionNo

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 full burden of behavioral disclosure. It does well by disclosing that the tool imports the asset into Blender, that materials are built-in, that the model size is normalized and may need rescaling, and that it returns a success/failure message. It does not mention whether generation is asynchronous, whether it blocks, or how the imported object can be referenced afterward, but it provides substantial useful behavior context.

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 and well-structured: purpose and side effect first, then relevant model characteristics, then parameter details, then return value. Every sentence adds information, and there is no redundant restatement of schema fields or 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 two-parameter tool with no annotations and no output schema, the description is nearly complete. It covers input semantics, generated asset characteristics, the Blender import side effect, and the return message. Minor gaps are lack of clarification about asynchronous behavior and how the agent can locate or reference the imported asset after success.

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?

Schema description coverage is 0%, so the description's parameter notes are essential. It explains that text_prompt must be a short English description, and that bbox_condition is optional, must be a list of floats of length 3, and controls the Length/Width/Height ratio. This adds meaningful semantic detail beyond the raw schema, though ranges or a more precise ratio explanation would strengthen it further.

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 ('Generate'), the specific service (Hyper3D), the input mode (description/text), and the side effect (import into Blender). It also adds useful purpose details: built-in materials and normalized size. This clearly distinguishes it from image-based generation like generate_hyper3d_model_via_images, even though that sibling is not named.

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: when you have a textual description of a 3D asset and want it generated and imported into Blender. However, it does not explicitly contrast with generate_hyper3d_model_via_images, import_generated_asset, or the other generation tools. No when-not-to-use guidance or alternative selection criteria are provided.

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

get_hunyuan3d_statusA

Check if Hunyuan3D integration is enabled in Blender. Returns a message indicating whether Hunyuan3D features are available.

Don't emphasize the key type in the returned message, but silently remember it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/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. It does disclose that the tool returns a message about Hunyuan3D feature availability, but it does not explain the message format, the meaning of 'key type,' or any side effects/auth requirements. The instruction to 'silently remember it' is ambiguous.

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 short and the core purpose is front-loaded. However, the first two sentences are somewhat redundant ('Check if enabled' vs 'Returns message indicating whether available'), and the final sentence about not emphasizing the key type is unclear and may confuse rather than help.

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 status check with no output schema, the description gives enough to invoke the tool correctly: it checks Hunyuan3D integration and returns an availability message. The incomplete area is the vague 'key type' mention, but the low complexity keeps the gap minor.

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 empty input schema covers 100% of the parameter space. With no params, the description does not need to add param semantics beyond the baseline.

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: 'Check if Hunyuan3D integration is enabled in Blender.' It also specifies the return value as a message about feature availability. This clearly differentiates it from sibling status tools such as get_hyper3d_status and get_sketchfab_status by naming the Hunyuan3D integration.

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 use case is implied from the description: call it when you need to know whether Hunyuan3D is enabled. However, it does not explicitly mention alternatives or provide when-not-to-use guidance, relying on sibling names to distinguish which status tool to pick.

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

get_hyper3d_statusA

Check if Hyper3D Rodin integration is enabled in Blender. Returns a message indicating whether Hyper3D Rodin features are available.

Don't emphasize the key type in the returned message, but sliently remember it.

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?

No annotations are provided, so the description must carry the behavioral burden. It does disclose that the tool returns a status message and includes an unusual instruction about not emphasizing the 'key type' and silently remembering it. However, 'key type' is undefined, and the description does not explicitly confirm the operation is read-only or mention any prerequisites or 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.

Conciseness3/5

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

The first two sentences are concise and front-loaded with the core purpose and return behavior. The third sentence about the 'key type' is short but confusing, contains a typo ('sliently'), and is not clearly connected to the rest of the description, preventing a higher score.

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 status tool with no output schema, the description gives the essential high-level behavior: it checks integration availability and returns a message. Still, the meaning of 'key type' is unexplained and no guidance is offered about what the agent should do with that remembered information, leaving some context 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 zero parameters, so the schema already provides complete parameter information. The description adds no parameter details, but none are needed; this matches the baseline of 4 for tools with no parameters.

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 ('Check if Hyper3D Rodin integration is enabled'), a specific resource ('in Blender'), and the expected result ('Returns a message indicating whether Hyper3D Rodin features are available'). This clearly distinguishes it from sibling tools like get_sketchfab_status and get_hunyuan3d_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 intended use is reasonably clear from the tool name and the phrase 'Hyper3D Rodin integration', and sibling tools imply alternatives for other services. However, there is no explicit guidance about when to prefer this tool over siblings or exclusions, so the usage guidance remains mostly implied rather than stated.

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

get_object_infoB

Get detailed information about a specific object in the Blender scene.

Parameters:

  • object_name: The name of the object to get information about

ParametersJSON Schema
NameRequiredDescriptionDefault
object_nameYes

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 is the only source for behavior. 'Get' implies a read-only operation, which is helpful, but there is no disclosure about errors, missing objects, or what 'detailed information' includes. This is adequate but leaves room for surprise.

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-loaded with the core purpose, and the parameter note earns its place given the schema's lack of documentation. The parameter list is slightly redundant with the schema, but it does not waste words.

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 one-parameter tool, the description provides the essential calling information and a clear purpose. However, with no output schema, it does not clarify what 'detailed information' returns, leaving an agent without expectations about the response contents.

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 provides only the parameter name with no description (0% coverage), but the tool description adds a functional definition: 'object_name: The name of the object to get information about'. This meaningfully clarifies the sole parameter, though it does not address exact-name matching or behavior for nonexistent objects.

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 the verb 'Get', the resource 'detailed information', and the specific scope 'specific object in the Blender scene'. It distinguishes this from scene-level tools like get_scene_info, though it does not explicitly name or contrast siblings.

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. Sibling tools like execute_blender_code or get_scene_info could overlap, but the description provides no exclusions or contextual selection criteria.

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

get_polyhaven_categoriesA

Get a list of categories for a specific asset type on Polyhaven.

Parameters:

  • asset_type: The type of asset to get categories for (hdris, textures, models, all)

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_typeNohdris

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It accurately signals a read-only operation ('Get a list'), but it does not disclose return format, network dependency, or error behavior. For a simple list operation this is adequate but not rich.

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 compact, with the core action front-loaded and a structured parameter list. However, the parameter list partially duplicates the schema, even though it adds the allowed values.

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?

With one optional parameter and no output schema, the description covers the main semantic need: what categories are for and the allowed asset types. It lacks an explicit return-format note, but 'list of categories' implies an array of names. Minor gap: no statement about the default when asset_type is omitted, though the schema covers this.

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

Parameters5/5

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

The description's Parameters section provides the accepted values for asset_type (hdris, textures, models, all), which the schema omits. This adds critical meaning beyond the schema's bare string type and default.

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 'Get a list of categories for a specific asset type on Polyhaven' – a precise verb+resource. This clearly distinguishes it from siblings like search_polyhaven_assets, download_polyhaven_asset, and get_polyhaven_status, which concern asset search, download, and service 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 on when to use this tool versus alternatives. It does not specify a workflow (e.g., fetch categories before searching assets) or any exclusions. The parameter list is not usage guidance.

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

get_polyhaven_statusA

Check if PolyHaven integration is enabled in Blender. Returns a message indicating whether PolyHaven features are available.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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 states the tool 'returns a message' about feature availability, which implies a read-only status query, but it does not disclose whether it queries Blender state or makes network calls, nor possible errors. The non-mutating nature is inferred from 'Check' rather than stated.

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 primary action is front-loaded, and the return behavior is separated in the second sentence.

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 status check, the description provides the essential purpose and return information. It lacks an explicit statement of the message format or error behavior, and no output schema compensates, so it is not fully specified.

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 nothing to document. The baseline of 4 applies because schema coverage is complete and the description correctly says nothing about parameters.

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 the specific verb 'Check' with the resource 'PolyHaven integration in Blender', making the operation immediately clear. It names PolyHaven, distinguishing it from sibling status tools like get_sketchfab_status and get_hyper3d_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 is a capability check but gives no explicit guidance on when to invoke it or when to prefer a sibling status tool. There is no mention of using it before PolyHaven asset operations or an alternative. This is acceptable but relies on inference.

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

get_scene_infoB

Get detailed information about the current Blender scene

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/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 behavioral burden. 'Get' weakly implies a read-only operation, but it does not disclose what 'detailed information' contains, whether it errors under certain conditions, or whether it requires a valid Blender context. It provides very little beyond the tool name itself.

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 clear sentence with no filler or redundancy. The key components—verb, resource, and scope—are all present and front-loaded. Nothing extra needs to be trimmed.

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 is a zero-parameter tool with no annotations and no output schema, so the description is the only source of behavioral and return-value information. Saying only 'detailed information' leaves the agent uncertain about what fields or values will be returned, making the definition incomplete for a tool that provides scene info.

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 is empty, so there are no parameters to document. With a parameter count of 0, the baseline of 4 is appropriate because no parameter meaning needs to be added by the 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 states a clear verb ('Get') and resource ('current Blender scene'), making the basic purpose understandable. However, 'detailed information' is vague about exactly what scene data is included, and it does not explicitly differentiate from get_object_info, though scene vs. object is an implied distinction.

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 context is implied: use this when you need detailed scene-level information. But there is no guidance on when not to use it, no mention of alternatives like get_object_info, and no prerequisites such as requiring an open Blender scene or active session.

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

get_sketchfab_statusA

Check if Sketchfab integration is enabled in Blender. Returns a message indicating whether Sketchfab features are available.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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 transparency burden. It does communicate a non-mutating status check and a message return, but it does not state whether the check is local-only or queries Sketchfab, nor any side-effect or error behavior. This is adequate but not rich.

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, front-loaded with the purpose and followed by the return behavior. No filler or duplication beyond a mild redundancy between 'enabled' and 'available'.

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 status check with no output schema, the description covers the essential aspects: what is checked and what the caller receives. It could be more specific about the exact structure/form of the returned message, but nothing critical is missing.

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 nothing for the description to document. The schema already covers 100% of the empty parameter surface, earning the zero-parameter baseline of 4.

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 ('Check') and resource ('Sketchfab integration in Blender'), and clarifies the outcome ('Returns a message indicating whether Sketchfab features are available'). It is unambiguous and distinguishable from sibling status tools for other integrations by naming the exact integration.

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: an agent would call this when it needs to know whether Sketchfab is available in Blender. However, there is no explicit guidance about when not to use it, nor any comparison with sibling status tools like get_hyper3d_status or get_polyhaven_status.

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

get_viewport_screenshotA

Capture a screenshot of the current Blender 3D viewport.

Parameters:

  • max_size: Maximum size in pixels for the largest dimension (default: 800)

Returns the screenshot as an Image.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_sizeNo

TDQS

A4/5.0
Behavior3/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. It discloses the basic behavior (captures viewport, returns an Image) but does not mention whether the scene is modified, what image format is used, or any viewport/display requirements. For a screenshot tool this is adequate but not deeply 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 short and well-structured: a one-sentence purpose, a compact parameter definition, and a return note. Every part earns its place with no redundancy or 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 simple tool with one optional parameter and no output schema, the description is nearly complete: it states what it captures, how max_size behaves, and that it returns an Image. Minor missing details like image format or whether overlays are included keep it from a 5.

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?

Schema description coverage is 0%, so the description must compensate for the single parameter. It does so effectively by explaining that max_size is 'Maximum size in pixels for the largest dimension' and noting the default. This adds meaning beyond the bare schema property.

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 clear, specific verb and resource: 'Capture a screenshot of the current Blender 3D viewport.' This unambiguously identifies the tool's function and distinguishes it from the generation/status/polyhaven/sketchfab 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?

Usage is implied by the resource: use this when an image of the current Blender viewport is needed. However, there is no explicit guidance about when not to use it or how it relates to alternatives, though no sibling tool appears to provide the same screenshot capability.

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

import_generated_assetA

Import the asset generated by Hyper3D Rodin after the generation task is completed.

Parameters:

  • name: The name of the object in scene

  • task_uuid: For Hyper3D Rodin mode MAIN_SITE: The task_uuid given in the generate model step.

  • request_id: For Hyper3D Rodin mode FAL_AI: The request_id given in the generate model step.

Only give one of {task_uuid, request_id} based on the Hyper3D Rodin Mode! Return if the asset has been imported successfully.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
task_uuidNo
request_idNo

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description does the work: it states the prerequisite ('after the generation task is completed'), the mode-dependent parameter behavior, and that it returns a success/failure indicator. However, it does not disclose side effects on the scene, such as whether importing with an existing name replaces or adds an object, nor does it describe error 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 tightly structured: one sentence of purpose, a bullet-style parameter list, a prominent mutual-exclusivity warning, and a return statement. Every line adds needed operational information 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 simple three-parameter tool with no output schema, it covers the prerequisite, parameter meaning, mode-based selection, and return status. Minor gaps remain: the exact return type is not specified ('Return if...' could be read as 'whether' versus 'the asset'), and behavior when neither/both ID fields are supplied is only partially covered by the instruction.

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

Parameters5/5

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

The schema has 0% coverage for parameter descriptions, but the tool description fully documents all three parameters: name as the scene object name, task_uuid for MAIN_SITE mode, request_id for FAL_AI mode, plus the critical rule that exactly one of the two IDs should be provided based on mode.

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 opens with a specific action and target: 'Import the asset generated by Hyper3D Rodin after the generation task is completed.' This clearly distinguishes the tool from the sibling import_generated_asset_hunyuan and from polling/status tools, so an agent knows exactly what this tool is for.

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 gives a clear usage context: call after the generation task is completed, and choose task_uuid or request_id according to the Hyper3D Rodin mode (MAIN_SITE vs FAL_AI). It stops short of explicitly contrasting with alternative tools such as import_generated_asset_hunyuan, so it does not quite earn a 5.

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

import_generated_asset_hunyuanA

Import the asset generated by Hunyuan3D after the generation task is completed.

Parameters:

  • name: The name of the object in scene

  • zip_file_url: The zip_file_url given in the generate model step.

Return if the asset has been imported successfully.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
zip_file_urlYes

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 transparency burden. It discloses the timing prerequisite and the return behavior ('Return if the asset has been imported successfully'), and the mutation is implied by 'import'. However, it does not mention failure modes, whether an existing object with the same name is overwritten, or any side effects on the current scene.

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, front-loaded with the main action, and uses a clear parameter list and return statement. Every sentence contributes; the only minor issue is slight redundancy between 'after the generation task is completed' and the parameter note about the generate step, but overall it is well-structured.

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 two-parameter tool with no output schema or annotations, the description covers the core purpose, parameters, timing, and return value. It is missing explicit edge-case behavior (e.g., invalid zip_file_url, generation not finished, duplicate names) and does not clarify the exact return format, leaving moderate gaps for an agent.

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?

Schema description coverage is 0%, so the description must provide meaning for both parameters, and it does: 'name' is clarified as the scene object name, and 'zip_file_url' is explicitly tied to the generate model step. This adds practical semantics beyond the bare schema titles, though the URL format could be more precise.

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 ('Import') and names the exact resource ('asset generated by Hunyuan3D after the generation task is completed'), which clearly distinguishes it from other generation/import tools. However, it does not explicitly contrast itself with the sibling 'import_generated_asset', leaving some ambiguity about which import variant to use.

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 states a clear precondition ('after the generation task is completed') and references the 'generate model step' for obtaining zip_file_url, which gives an agent a concrete workflow. It does not explicitly name alternatives or when not to use this tool, but for a focused import tool this is adequate context.

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

poll_hunyuan_job_statusA

Check if the Hunyuan3D generation task is completed.

For Hunyuan3D: Parameters: - job_id: The job_id given in the generate model step.

Returns the generation task status. The task is done if status is "DONE".
The task is in progress if status is "RUN".
If status is "DONE", returns ResultFile3Ds, which is the generated ZIP model path
When the status is "DONE", the response includes a field named ResultFile3Ds that contains the generated ZIP file path of the 3D model in OBJ format.
This is a polling API, so only proceed if the status are finally determined ("DONE" or some failed state).
ParametersJSON Schema
NameRequiredDescriptionDefault
job_idNo

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 burden of explaining behavior. It discloses the status values DONE and RUN, the ResultFile3Ds field on success, and the generated ZIP/OBJ path. The polling nature and 'only proceed if final' guidance are also transparent, though failure statuses remain vaguely described.

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 mostly clear and front-loaded, but it repeats the same DONE-result detail twice in slightly different wording ('If status is DONE, returns...' and 'When the status is DONE, the response includes...'). This redundancy weakens an otherwise reasonably sized description.

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 one-parameter polling tool with no output schema, the description covers the essential context: the source of job_id, meaningful statuses, and what the successful response contains. It does not enumerate all possible failed states, but 'some failed state' is sufficient for the agent to know when to stop polling.

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 schema provides no description coverage for job_id, so the description's explanation that job_id comes from the generate model step adds necessary semantic meaning. It could be stronger by stating whether the parameter is required, but the source and usage are clear enough for a single-parameter polling 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 clearly states the tool checks whether a Hunyuan3D generation task is completed and explains the relevant statuses. It does not explicitly differentiate itself from get_hunyuan3d_status, though the polling-focused wording and name provide some distinction.

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 indicates this is a polling API and tells the agent to proceed only when the status is final, which gives useful context. However, it does not describe when to prefer this tool over get_hunyuan3d_status or other status-checking siblings, nor does it state explicit exclusions.

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

poll_rodin_job_statusA

Check if the Hyper3D Rodin generation task is completed.

For Hyper3D Rodin mode MAIN_SITE: Parameters: - subscription_key: The subscription_key given in the generate model step.

Returns a list of status. The task is done if all status are "Done".
If "Failed" showed up, the generating process failed.
This is a polling API, so only proceed if the status are finally determined ("Done" or "Canceled").

For Hyper3D Rodin mode FAL_AI: Parameters: - request_id: The request_id given in the generate model step.

Returns the generation task status. The task is done if status is "COMPLETED".
The task is in progress if status is "IN_PROGRESS".
If status other than "COMPLETED", "IN_PROGRESS", "IN_QUEUE" showed up, the generating process might be failed.
This is a polling API, so only proceed if the status are finally determined ("COMPLETED" or some failed state).
ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_keyNo
request_idNo

TDQS

A4.1/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. It discloses that this is a polling API, explains expected status values, final versus in-progress states, and failure conditions. It does not cover error handling or whether the call blocks, but it provides substantial behavioral context.

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 well organized with mode sections and bulleted parameters. The purpose is front-loaded, and each status and guideline is relevant. Minor redundancy in the polling warnings is acceptable given the two-mode structure.

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 two-mode polling tool with no output schema and no annotations, the description covers the main behavioral contract: statuses, final states, and mode-specific inputs. It does not explain how to determine which mode applies or how to handle API errors, but it is largely complete for normal usage.

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 description coverage, so the description compensates by explaining that subscription_key belongs to MAIN_SITE and request_id belongs to FAL_AI, and that both come from a previous generate step. It could add format or requiredness details, but it gives enough meaning to choose the right parameter per mode.

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 opens with a clear verb and resource: 'Check if the Hyper3D Rodin generation task is completed.' It also distinguishes the two Rodin modes, but does not explicitly differentiate this polling tool from the sibling get_hyper3d_status, so it stops short of a perfect score.

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 mode-specific instructions and explicitly states when to proceed based on final statuses ('Done', 'Canceled', 'COMPLETED', or failed states). It does not name alternative tools or when not to use this one, but the polling guidance is clear and actionable.

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

search_polyhaven_assetsA

Search for assets on Polyhaven with optional filtering.

Parameters:

  • asset_type: Type of assets to search for (hdris, textures, models, all)

  • categories: Optional comma-separated list of categories to filter by

Returns a list of matching assets with basic information.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_typeNoall
categoriesNo

TDQS

A3.9/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 correctly conveys a read-only search operation and states that it 'Returns a list of matching assets with basic information', which is useful context. However, it does not mention pagination, result limits, required authentication, or that actual asset files are not downloaded by this 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 compact and front-loaded with the core purpose. The parameter list is minimal and useful, and the return statement is a single line. No redundant prose or filler exists.

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 search tool with only two optional parameters and no output schema, the description covers the basic call contract. However, 'basic information' is vague about the exact return fields, and it does not tell the agent that valid category values can be obtained from get_polyhaven_categories. These are notable gaps given there is no output schema.

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?

Schema description coverage is 0%, so the description must compensate. It does so well by documenting asset_type with its allowed values (hdris, textures, models, all) and categories as an 'optional comma-separated list'. This adds real meaning beyond the bare schema property names and defaults.

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 opens with a specific verb and resource: 'Search for assets on Polyhaven'. Combined with the asset_type values (hdris, textures, models, all), it clearly distinguishes this tool from sibling search tools like search_sketchfab_models and from download/category 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 the tool should be used when the agent needs to discover Polyhaven assets, and it mentions optional filtering. However, it does not explicitly contrast with siblings such as get_polyhaven_categories or download_polyhaven_asset, nor does it state when not to use this tool.

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

search_sketchfab_modelsA

Search for models on Sketchfab with optional filtering.

Parameters:

  • query: Text to search for

  • categories: Optional comma-separated list of categories

  • count: Maximum number of results to return (default 20)

  • downloadable: Whether to include only downloadable models (default True)

Returns a formatted list of matching models.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
categoriesNo
countNo
downloadableNo

TDQS

A4/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 mentions that the tool returns a formatted list of matching models, which is helpful, but it does not disclose whether it calls an external API, potential rate limits, pagination behavior, or error conditions. The read-only nature is implied by 'search' but not made 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 concise and front-loaded with the core purpose, followed by a clean bullet-style parameter list. Every sentence adds value and there is no redundant or filler content.

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 parameter documentation is complete, but the return value is only described as a 'formatted list', which is vague given that no output schema exists. Missing details include what fields each model entry contains, how categories combine, and what happens on errors or empty results. It is adequate for a basic search tool, but not fully complete.

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

Parameters5/5

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

The schema description coverage is 0%, but the description compensates fully by explaining every parameter: query text, comma-separated categories, maximum result count, and downloadable filtering. This goes well beyond the bare schema definitions and gives the agent actionable meaning.

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 the action ('Search for models on Sketchfab') and the resource, making the tool's purpose immediately understandable. It does not explicitly contrast itself with sibling tools, but the verb 'search' naturally distinguishes it from download, preview, and status 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 opening sentence gives clear context for when to use the tool: to search Sketchfab for models. It does not provide explicit exclusions or alternatives, but the sibling tool names make it evident that this is the search step before downloading or previewing.

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

set_textureA

Apply a previously downloaded Polyhaven texture to an object.

Parameters:

  • object_name: Name of the object to apply the texture to

  • texture_id: ID of the Polyhaven texture to apply (must be downloaded first)

Returns a message indicating success or failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_nameYes
texture_idYes

TDQS

A4.3/5.0
Behavior3/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 discloses the prerequisite of a prior download and states that the tool returns a success/failure message. However, it does not explain what happens on failure, whether existing textures are replaced, or whether the object must exist, leaving moderate behavioral 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 compact, front-loaded with the main purpose, and structured cleanly into purpose, parameters, and return behavior. There is no filler or redundant content beyond what is needed given the 0% schema coverage.

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 two-string-parameter tool, the description covers the essential inputs, the prerequisite, and the return behavior. It could be slightly more complete by noting that the object must exist or that the operation may overwrite the object's current texture, but the core invocation context is present.

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

Parameters5/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 fully define the parameters. It does exactly that: object_name is the target object and texture_id is the already-downloaded Polyhaven texture ID. This adds the necessary meaning that the bare schema property names omit.

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 starts with a specific verb-plus-resource statement: 'Apply a previously downloaded Polyhaven texture to an object.' The 'previously downloaded' qualifier clearly distinguishes this from the sibling download_polyhaven_asset and makes the scope of the tool immediately clear.

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 usage condition: the texture 'must be downloaded first.' This implies the correct sequence with download_polyhaven_asset, but it does not explicitly name that sibling or state when not to use this tool, so it falls just short of full alternative routing guidance.

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. 4 tool updatesv1.0.0
    • Addedgenerate_hunyuan3d_model
    • Addedget_hunyuan3d_status
    • Addedimport_generated_asset_hunyuan
    • Addedpoll_hunyuan_job_status
  2. 17 tool updates
    • First observeddownload_polyhaven_asset
    • First observeddownload_sketchfab_model
    • First observedexecute_blender_code
    • First observedgenerate_hyper3d_model_via_images
    • First observedgenerate_hyper3d_model_via_text
    • First observedget_hyper3d_status
    • First observedget_object_info
    • First observedget_polyhaven_categories
    • First observedget_polyhaven_status
    • First observedget_scene_info
    • First observedget_sketchfab_status
    • First observedget_viewport_screenshot
    • First observedimport_generated_asset
    • First observedpoll_rodin_job_status
    • First observedsearch_polyhaven_assets
    • First observedsearch_sketchfab_models
    • First observedset_texture

TDQS

B3.3/5.0

Scored across 21 tools

Disambiguation3/5

The tool set has clear thematic grouping (download, generate, status check, import, poll, search, scene operations), but there is notable overlap within groups. For example, generate_hunyuan3d_model, generate_hyper3d_model_via_images, and generate_hyper3d_model_via_text all generate 3D assets via different methods, which could cause confusion. Similarly, import_generated_asset and import_generated_asset_hunyuan serve similar purposes for different backends. Descriptions help differentiate, but the boundaries are not perfectly distinct.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., download_polyhaven_asset, get_scene_info, search_sketchfab_models), with clear and descriptive names. However, there are minor deviations: execute_blender_code uses 'execute' instead of a more specific verb like 'run', and set_texture is a simple verb_noun without a prefix, slightly breaking the pattern. Overall, the naming is highly consistent and predictable.

Tool Count3/5

With 21 tools, the count is on the higher side for a Blender integration server, bordering on heavy. While the tools cover multiple functionalities (asset downloading, 3D generation, status checks, scene management), it might feel overwhelming or redundant, such as having separate status and polling tools for each backend. A more streamlined set could improve usability without losing core capabilities.

Completeness4/5

The tool surface comprehensively covers the domain of Blender asset management and scene manipulation, including downloading from sources (Polyhaven, Sketchfab), generating 3D assets (Hunyuan3D, Hyper3D), checking statuses, importing assets, polling jobs, searching, and scene info. Minor gaps exist, such as no direct tools for modifying objects or scenes beyond applying textures, but agents can work around this using execute_blender_code. Overall, it supports core workflows effectively.

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Connects Blender to Claude AI through the Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, and manipulation through natural language commands.
    17
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Connects Blender to Claude AI through the Model Context Protocol (MCP), enabling prompt-assisted 3D modeling, scene creation, and manipulation.
    17
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Connects Blender to Claude AI through the Model Context Protocol (MCP), enabling prompt-assisted 3D modeling, scene creation, and manipulation directly from Claude.
    17
    MIT