BlenderMCP
BlenderMCP connects Claude AI to Blender through the Model Context Protocol, enabling AI-driven control of the 3D environment.
Core Blender Operations
Scene Inspection: Get detailed information about the current scene and specific objects
Viewport Screenshots: Capture images of the 3D viewport to visualize the current state
Code Execution: Execute arbitrary Python code in Blender for custom operations
Asset Management
Poly Haven: Browse categories, search and download HDRIs, textures, and models at various resolutions, apply textures to objects, and check integration status
Sketchfab: Search with filtering options, download and import models by identifier, and check integration status
Hyper3D Rodin: Generate 3D models from text descriptions or reference images (file paths/URLs), poll job status, import completed assets, and check integration status and mode (MAIN_SITE or FAL_AI)
Enables direct control and manipulation of Blender through socket-based communication, allowing for 3D object creation and modification, material application, scene inspection, and execution of arbitrary Python code within Blender
Provides search and download capabilities for 3D models from the Sketchfab platform
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BlenderMCPcreate a simple cube and apply a metallic material to it"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BlenderMCP - Blender Model Context Protocol Integration
BlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
We have no official website. Any website you see online is unofficial and has no affiliation with this project. Use them at your own risk.
Join the Community
Give feedback, get inspired, and build on top of the MCP: Discord
Supporters
All supporters:
Release notes (1.2.0)
View screenshots for Blender viewport to better understand the scene
Search and download Sketchfab models
Previously added features:
Support for Poly Haven assets through their API
Support to generate 3D models using Hyper3D Rodin
For newcomers, you can go straight to Installation. For existing users, see the points below
Download the latest addon.py file and replace the older one, then add it to Blender
Delete the MCP server from Claude and add it back again, and you should be good to go!
Related MCP server: BlenderMCP
Features
Two-way communication: Connect Claude AI to Blender through a socket-based server
Object manipulation: Create, modify, and delete 3D objects in Blender
Material control: Apply and modify materials and colors
Scene inspection: Get detailed information about the current Blender scene
Code execution: Run arbitrary Python code in Blender from Claude
Components
The system consists of two main components:
Blender Addon (
addon.py): A Blender addon that creates a socket server within Blender to receive and execute commandsMCP Server (
src/blender_mcp/server.py): A Python server that implements the Model Context Protocol and connects to the Blender addon
Installation
Prerequisites
Blender 3.0 or newer
Python 3.10 or newer
uv package manager:
If you're on Mac, please install uv as
brew install uvOn Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex" and then
set Path=C:\Users\nntra\.local\bin;%Path%Otherwise installation instructions are on their website: Install uv
⚠️ Do not proceed before installing UV
Environment Variables
The following environment variables can be used to configure the Blender connection:
BLENDER_HOST: Host address for Blender socket server (default: "localhost")BLENDER_PORT: Port number for Blender socket server (default: 9876)
Example:
export BLENDER_HOST='host.docker.internal'
export BLENDER_PORT=9876Claude for Desktop Integration
Watch the setup instruction video (Assuming you have already installed uv)
Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}Cursor integration
For Mac users, go to Settings > MCP and paste the following
To use as a global server, use "add new global MCP server" button and paste
To use as a project specific server, create
.cursor/mcp.jsonin the root of the project and paste
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}For Windows users, go to Settings > MCP > Add Server, add a new server with the following settings:
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": [
"/c",
"uvx",
"blender-mcp"
]
}
}
}⚠️ Only run one instance of the MCP server (either on Cursor or Claude Desktop), not both
Visual Studio Code Integration
Prerequisites: Make sure you have Visual Studio Code installed before proceeding.
Installing the Blender Addon
Download the
addon.pyfile from this repoOpen Blender
Go to Edit > Preferences > Add-ons
Click "Install..." and select the
addon.pyfileEnable the addon by checking the box next to "Interface: Blender MCP"
Usage
Starting the Connection

In Blender, go to the 3D View sidebar (press N if not visible)
Find the "BlenderMCP" tab
Turn on the Poly Haven checkbox if you want assets from their API (optional)
Click "Connect to Claude"
Make sure the MCP server is running in your terminal
Using with Claude
Once the config file has been set on Claude, and the addon is running on Blender, you will see a hammer icon with tools for the Blender MCP.
![]()
Capabilities
Get scene and object information
Create, delete and modify shapes
Apply or create materials for objects
Execute any Python code in Blender
Download the right models, assets and HDRIs through Poly Haven
AI generated 3D models through Hyper3D Rodin
Example Commands
Here are some examples of what you can ask Claude to do:
"Create a low poly scene in a dungeon, with a dragon guarding a pot of gold" Demo
"Create a beach vibe using HDRIs, textures, and models like rocks and vegetation from Poly Haven" Demo
Give a reference image, and create a Blender scene out of it Demo
"Generate a 3D model of a garden gnome through Hyper3D"
"Get information about the current scene, and make a threejs sketch from it" Demo
"Make this car red and metallic"
"Create a sphere and place it above the cube"
"Make the lighting like a studio"
"Point the camera at the scene, and make it isometric"
Hyper3D integration
Hyper3D's free trial key allows you to generate a limited number of models per day. If the daily limit is reached, you can wait for the next day's reset or obtain your own key from hyper3d.ai and fal.ai.
Troubleshooting
Connection issues: Make sure the Blender addon server is running, and the MCP server is configured on Claude, DO NOT run the uvx command in the terminal. Sometimes, the first command won't go through but after that it starts working.
Timeout errors: Try simplifying your requests or breaking them into smaller steps
Poly Haven integration: Claude is sometimes erratic with its behaviour
Have you tried turning it off and on again?: If you're still having connection errors, try restarting both Claude and the Blender server
Technical Details
Communication Protocol
The system uses a simple JSON-based protocol over TCP sockets:
Commands are sent as JSON objects with a
typeand optionalparamsResponses are JSON objects with a
statusandresultormessage
Limitations & Security Considerations
The
execute_blender_codetool allows running arbitrary Python code in Blender, which can be powerful but potentially dangerous. Use with caution in production environments. ALWAYS save your work before using it.Poly Haven requires downloading models, textures, and HDRI images. If you do not want to use it, please turn it off in the checkbox in Blender.
Complex operations might need to be broken down into smaller steps
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Disclaimer
This is a third-party integration and not made by Blender. Made by Rodingo
Available Tools
17 toolsdownload_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.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_id | Yes | ||
| asset_type | Yes | ||
| resolution | No | 1k | |
| file_format | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It only states that the tool returns a success or failure message, omitting crucial behavioral traits such as whether it modifies the scene destructively, requires authentication, or has rate limits. For a download/import tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with a clear purpose statement followed by a parameter list. Every sentence earns its place, and there is no unnecessary verbosity. Slight improvement could be front-loading more critical behavioral info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is moderately complete. It covers all parameters and return value, but misses behavioral context (e.g., whether it replaces existing assets, if it requires a Blender scene to be active). The sibling import_generated_asset suggests similar functionality, but no comparison is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, which has 0% coverage of property descriptions. It provides concrete examples for resolution (1k, 2k, 4k) and file_format (hdr, exr, jpg, etc.), and clarifies asset_type values. However, it does not explain the meaning of asset_id beyond 'ID of the asset', which is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (download and import) and the resource (Polyhaven asset into Blender). It distinguishes itself from sibling tools like download_sketchfab_model and search_polyhaven_assets by specifying Polyhaven as the source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists parameters but does not provide explicit guidance on when to use this tool versus alternatives. It implies usage through the name and parameters (e.g., specifying asset_type) but lacks context like prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_sketchfab_modelC
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.
| Name | Required | Description | Default |
|---|---|---|---|
| uid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description must carry the burden. Lacks disclosure of side effects (e.g., scene modification, object creation) and does not detail the return format beyond 'success or failure message'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise but the parameter line is redundant with the schema. Structure is adequate but could be improved by removing the parameter section.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description omits important behavioral details (e.g., what importing entails, return value specifics). Only covers basic purpose and a precondition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only parameter 'uid' is described as 'The unique identifier of the Sketchfab model', which adds no meaning beyond the schema. Schema coverage is 0%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action (download and import), the resource (Sketchfab model), and the key identifier (UID). Distinguishes from siblings like search_sketchfab_models and get_sketchfab_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Mentions prerequisites (model must be downloadable, proper access rights) but does not provide guidance on when to use versus alternatives, nor when not to use.
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
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
TDQS
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 mentions executing 'arbitrary Python code' and suggests a step-by-step approach, but fails to cover critical traits like safety (e.g., potential for destructive operations), permissions, error handling, or output format. This is a significant gap for a tool with such open-ended functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one stating the purpose and one offering usage advice. It's front-loaded with the core function, and the second sentence adds value without redundancy. There's minimal waste, though it could be slightly more structured (e.g., bullet points).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's high complexity (executing arbitrary code) and lack of annotations or output schema, the description is insufficient. It doesn't address risks, expected outputs, error conditions, or how results are returned, making it incomplete for safe and effective use by an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 lists the single parameter 'code' and explains it as 'The Python code to execute,' adding basic meaning beyond the schema's title 'Code.' However, it doesn't provide details on code format, constraints, or examples, leaving the parameter only partially documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Execute arbitrary Python code in Blender.' It specifies the verb ('Execute') and resource ('Python code in Blender'), making the function unambiguous. However, it doesn't explicitly differentiate from siblings like 'get_object_info' or 'set_texture,' which are more specific operations rather than general code execution.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by suggesting to 'break it into smaller chunks' for step-by-step execution, which hints at best practices for this tool. However, it lacks explicit when-to-use rules, alternatives (e.g., vs. other Blender tools), or exclusions, leaving the agent to infer context from the sibling list.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| input_image_paths | No | ||
| input_image_urls | No | ||
| bbox_condition | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses that the asset has built-in materials and normalized size needing rescaling, and returns a success/failure message. This is moderate but lacks details on potential side effects, overwrite behavior, or resource limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with main purpose first, then parameter details. Some redundancy ('wrap it into a list' repeated) but overall concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description covers essential aspects: input parameters, mode logic, return type, and a practical note about scaling. Lacks details on generation time, supported image formats, but adequate for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description fully compensates by explaining each parameter's meaning: absolute paths vs URLs, mode dependency, mutual exclusivity, and optional bbox_condition with ratio semantics. This adds significant value beyond the schema's type/title fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a 3D asset from images and imports it into Blender, using specific verb and resource. It distinguishes from sibling 'generate_hyper3d_model_via_text' by specifying images as input.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on parameter mutual exclusivity and mode-dependent requirements ('Only one of {input_image_paths, input_image_urls} should be given at a time'). However, it does not explicitly compare to alternative tools (e.g., when to use text vs images), though the distinction is implicit in the name.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text_prompt | Yes | ||
| bbox_condition | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It discloses that the model has built-in materials, normalized size, and returns a success/failure message, but omits behavioral details such as scene modification impact, permission requirements, or whether generation is synchronous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief at four sentences, with the main action first followed by notable attributes and parameter details. It is front-loaded and efficient, though the parameter explanations could be integrated more tightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex (generates and imports a 3D model) with no output schema. The description states the return is a success/failure message but does not specify how to reference the generated object in Blender, whether it is automatically selected, or how it interacts with operations like 'import_generated_asset'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds meaningful context: text_prompt should be a short English description; bbox_condition is optional, must be a list of three floats controlling Length/Width/Height ratio. This goes beyond the raw schema, though more detail on float range could help.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: generating a 3D asset using Hyper3D from a text description and importing it into Blender. The sibling tool 'generate_hyper3d_model_via_images' confirms differentiation by input modality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that this tool is for text-based generation but does not explicitly state when to use it versus the image-based alternative. No exclusions or prerequisites are mentioned, leaving usage guidance implicit.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It adds a behavioral instruction about not emphasizing the key type, but lacks other context like side effects or auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each adding value: purpose, return type, and a behavioral note. No waste, front-loaded key info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 0-parameter tool with no output schema, the description adequately covers purpose, return value, and an important behavioral constraint. Complete for the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, schema coverage is trivial (100%). Baseline score of 4 is appropriate as description adds no param info beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks Hyper3D Rodin integration status in Blender, distinguishing it from sibling status tools like get_sketchfab_status and get_polyhaven_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or alternatives, but the purpose is clear enough for a simple status check tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_object_infoC
Get detailed information about a specific object in the Blender scene.
Parameters:
- object_name: The name of the object to get information about
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It implies a read-only operation but does not specify what 'detailed information' includes, error handling for non-existent objects, or any side effects. The description is too vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the purpose, which is good for conciseness. However, it could be more structured (e.g., separate sections for behavior and parameters). It earns its place but lacks depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, annotations, and a simple single-parameter input, the description is insufficiently complete. It does not explain the return format or content, which is critical for an AI agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds minimal clarity by stating 'The name of the object' for `object_name`, but does not explain format, constraints, or impact of invalid names. With only one parameter, the contribution is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'detailed information about a specific object in the Blender scene', which distinguishes it from sibling tools like get_scene_info (broader) or get_geometry_nodes_status (different focus).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives (e.g., get_scene_info). No explicit context or exclusion criteria are given, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| asset_type | No | hdris |
TDQS
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 not state that the operation is read-only or non-destructive, nor does it mention potential errors or rate limits. The agent cannot infer safety or side effects from this description alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with two sentences clearly stating the purpose and then a focused parameter list. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with one optional parameter, the description does not specify the return format (e.g., an array of category strings). Given no output schema, the agent might be uncertain about the response structure, making it slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter with type string and default value, but the description adds critical meaning by listing the allowed values ('hdris, textures, models, all'), which the schema does not provide as enums. This compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a list of categories for a specific asset type on Polyhaven, distinguishing it from sibling tools like search_polyhaven_assets or download_polyhaven_asset. The verb 'Get' and resource 'categories for a specific asset type' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, such as indicating it should be used before searching or downloading assets. No context about prerequisites or when not to use it is given.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it returns a message indicating availability, and it is a read-only operation with no side effects. Since no annotations are provided, the description carries the full burden and does so adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, efficient, and free of unnecessary information. It is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is complete. It explains the tool's behavior and return value, and sibling tools are sufficiently different.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, and the input schema coverage is 100%. The description adds no parameter information, but baseline 4 is appropriate as there is nothing to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if PolyHaven integration is enabled in Blender. It uses a specific verb ('Check') and resource ('PolyHaven integration enabled'), and is distinct from sibling tools like get_polyhaven_categories or 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (e.g., before using PolyHaven features) but does not explicitly state when to use it versus alternatives like get_polyhaven_categories or other status tools. However, for a simple status check, the context is sufficient.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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_statusB
Check if Sketchfab integration is enabled in Blender. Returns a message indicating whether Sketchfab features are available.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It notes it returns a message but doesn't specify if it's a boolean, string, or the exact content. No side effects are mentioned, but it's implied to be non-destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with front-loaded purpose. Efficient, though could be slightly more explicit about the return format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description adequately covers the purpose and behavior. It could mention the return type (e.g., boolean or string) for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. The description adds value by explaining the purpose but doesn't need to compensate for missing param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if Sketchfab integration is enabled in Blender, using a specific verb and resource. It is distinct from sibling tools like download_sketchfab_model, but doesn't explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any prerequisites or exclusions. The description only states what it does, not when it's appropriate.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| max_size | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that it returns an Image and defines the max_size parameter. No annotations are provided, so the description adequately covers the read-only nature and output format. It does not disclose potential errors or viewport requirements, but this is acceptable for a straightforward capture tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and to the point, front-loading the main purpose and including parameter details. Could be slightly more structured, but it is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema), the description covers the essentials: what it does, its parameter meaning, and return type. Missing details like resolution bounds or behavior on failure, but not critical for a basic screenshot tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only type and default for max_size; the description adds 'Maximum size in pixels for the largest dimension', which clarifies its purpose. With 0% schema coverage, the description effectively compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Capture a screenshot of the current Blender 3D viewport', specifying the verb 'capture' and the resource 'screenshot of viewport'. It distinguishes well from sibling tools that deal with scenes, objects, or scripts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or avoid this tool. The description is self-contained but lacks context about alternatives or prerequisites. However, the tool is simple and its purpose is obvious.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| task_uuid | No | ||
| request_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that it returns a success indicator ('Return if the asset has been imported successfully') and enforces a parameter exclusivity constraint. However, it does not describe side effects (e.g., scene modifications), failure modes, or necessary preconditions, leaving some ambiguity for a mutation-like operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, structured with a parameters list and a note on exclusivity. Every sentence provides value: purpose, parameter explanations, and usage constraint. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter tool with no output schema, the description covers the essential aspects: target resource, when to use, parameter semantics, and return status. It could be more explicit about prerequisites (e.g., an active scene) but is sufficiently complete given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does thoroughly. It explains 'name' as the object name in scene, and crucially distinguishes 'task_uuid' (for MAIN_SITE mode) from 'request_id' (for FAL_AI mode), including the conditional rule that only one should be provided. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Import' and the resource 'asset generated by Hyper3D Rodin after the generation task is completed'. It distinguishes from the sibling 'import_generated_asset_hunyuan' by specifying 'Hyper3D Rodin', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool ('after the generation task is completed') and provides explicit usage guidance on parameter selection: 'Only give one of {task_uuid, request_id} based on the Hyper3D Rodin Mode!'. It does not explicitly mention alternatives or when not to use, but the context is clear enough for an agent to select correctly.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| subscription_key | No | ||
| request_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It discloses mode-specific statuses, progress states, failure conditions, and terminal states: 'Done', 'Canceled', 'COMPLETED', 'IN_PROGRESS', and 'IN_QUEUE'. It does not describe exact response shape or polling timeout/block behavior, but the core decision logic is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized into two mode sections with clear parameter and status explanations. It is still reasonably tight, though the 'polling API, so only proceed' caution is repeated in both sections, which slightly reduces conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description covers the important status logic, failure conditions, and decision rule with enough clarity for an agent. It is slightly incomplete because it does not differentiate itself from the sibling get_hyper3d_status tool or describe the response structures in more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema contains two arbitrary string fields with no descriptions and 0% schema coverage. The description compensates by explaining that subscription_key belongs to MAIN_SITE mode and request_id belongs to FAL_AI mode, both obtained from the generate step. It still does not explicitly state that exactly one parameter is required depending on mode.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair: checking whether the Hyper3D Rodin generation task is completed. It clearly separates behavior across MAIN_SITE and FAL_AI modes, which makes the tool's role in the generation pipeline obvious and distinguishes it from sibling generation/import tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful usage context: it is a polling API, should be called when checking generation status, and should only proceed when terminal statuses are observed. However, it does not explicitly name alternatives such as get_hyper3d_status or describe when this tool is not appropriate.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_type | No | all | |
| categories | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description states it returns a list but does not disclose safety traits (e.g., read-only), rate limits, or any side effects, which is insufficient for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is short and front-loaded, but the bullet list repeats parameter info that could be integrated concisely. Still, no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers basic parameters and output, but lacks details on result limits, pagination, or ordering, which are common for search tools. Adequate but with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description adds meaningful explanations for both parameters: asset_type lists allowed values, categories describes format and default null, compensating for lack of schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Search for assets on Polyhaven' with specific verb and resource, and distinguishes from sibling tools like download_polyhaven_asset or get_polyhaven_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for searching with optional filtering, but does not provide when-not-to-use guidance or compare to alternatives.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| categories | No | ||
| count | No | ||
| downloadable | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It mentions 'optional filtering' and returns a 'formatted list,' but omits details like read-only nature, error handling, pagination, or API rate limits. The description is insufficient for a search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-sentence purpose followed by a clear bullet list of parameters. It is front-loaded with the main action and avoids unnecessary fluff. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the search function and all parameters, but lacks detail on the return value ('formatted list' is vague) and does not address error cases or rate limits. With no output schema, more detail on result structure would be expected for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains each parameter: 'query' as search text, 'categories' as optional comma-separated list, 'count' as max results with default 20, and 'downloadable' as filter with default true. This adds meaning beyond the schema's bare titles, though it could be more specific (e.g., valid categories).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for models on Sketchfab with optional filtering,' specifying both the action (search) and the resource (Sketchfab models). This distinguishes it from sibling tools like 'download_sketchfab_model' and 'get_sketchfab_status.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as when to prefer searching versus downloading or using other context scripts. It lacks explicit context or exclusions.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| object_name | Yes | ||
| texture_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must fully disclose behavior. It only states success/failure message, but does not mention error cases (e.g., missing object, invalid texture_id) 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and direct, with two sentences and a structured parameter list. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (2 params, no output schema), the description covers the core functionality and parameter semantics. However, lacks error handling details and prerequisites beyond downloading.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains texture_id as 'ID of the Polyhaven texture' and object_name as 'Name of the object', which adds basic meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action: apply a Polyhaven texture to an object, specifying it must be downloaded first. Distinguishes from sibling tools like download_polyhaven_asset and search_polyhaven_assets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisite (texture must be downloaded first), which guides when to use. No explicit when-not-to-use or alternatives, but context is clear.
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.
17 tool updates
v1.0.0- Changed
download_polyhaven_asset1 field changed- added
Input schema / titleAdded value: +"download_polyhaven_assetArguments"
- Changed
download_sketchfab_model1 field changed- added
Input schema / titleAdded value: +"download_sketchfab_modelArguments"
- Changed
execute_blender_code1 field changed- added
Input schema / titleAdded value: +"execute_blender_codeArguments"
- Changed
generate_hyper3d_model_via_images1 field changed- added
Input schema / titleAdded value: +"generate_hyper3d_model_via_imagesArguments"
- Changed
generate_hyper3d_model_via_text1 field changed- added
Input schema / titleAdded value: +"generate_hyper3d_model_via_textArguments"
- Changed
get_hyper3d_status1 field changed- added
Input schema / titleAdded value: +"get_hyper3d_statusArguments"
- Changed
get_object_info1 field changed- added
Input schema / titleAdded value: +"get_object_infoArguments"
- Changed
get_polyhaven_categories1 field changed- added
Input schema / titleAdded value: +"get_polyhaven_categoriesArguments"
- Changed
get_polyhaven_status1 field changed- added
Input schema / titleAdded value: +"get_polyhaven_statusArguments"
- Changed
get_scene_info1 field changed- added
Input schema / titleAdded value: +"get_scene_infoArguments"
- Changed
get_sketchfab_status1 field changed- added
Input schema / titleAdded value: +"get_sketchfab_statusArguments"
- Changed
get_viewport_screenshot1 field changed- added
Input schema / titleAdded value: +"get_viewport_screenshotArguments"
- Changed
import_generated_asset1 field changed- added
Input schema / titleAdded value: +"import_generated_assetArguments"
- Changed
poll_rodin_job_status1 field changed- added
Input schema / titleAdded value: +"poll_rodin_job_statusArguments"
- Changed
search_polyhaven_assets1 field changed- added
Input schema / titleAdded value: +"search_polyhaven_assetsArguments"
- Changed
search_sketchfab_models1 field changed- added
Input schema / titleAdded value: +"search_sketchfab_modelsArguments"
- Changed
set_texture1 field changed- added
Input schema / titleAdded value: +"set_textureArguments"
17 tool updates
- First observed
download_polyhaven_asset - First observed
download_sketchfab_model - First observed
execute_blender_code - First observed
generate_hyper3d_model_via_images - First observed
generate_hyper3d_model_via_text - First observed
get_hyper3d_status - First observed
get_object_info - First observed
get_polyhaven_categories - First observed
get_polyhaven_status - First observed
get_scene_info - First observed
get_sketchfab_status - First observed
get_viewport_screenshot - First observed
import_generated_asset - First observed
poll_rodin_job_status - First observed
search_polyhaven_assets - First observed
search_sketchfab_models - First observed
set_texture
TDQS
Scored across 17 tools
Most tools have distinct purposes, such as downloading assets from different sources (Polyhaven, Sketchfab), generating models via Hyper3D, and getting scene/object info. However, there is some overlap between 'generate_hyper3d_model_via_images' and 'generate_hyper3d_model_via_text' as both generate Hyper3D assets, which could cause confusion if the user is unsure which input method to use, though their descriptions clarify the difference.
All tool names follow a consistent snake_case pattern with clear verb_noun structures, such as 'download_polyhaven_asset', 'execute_blender_code', and 'get_scene_info'. There are no deviations in naming conventions, making the set predictable and easy to parse for an agent.
With 17 tools, the count is slightly high but reasonable for a Blender integration server that covers asset downloading, model generation, scene management, and status checks. It feels comprehensive without being overwhelming, though it borders on the upper limit of typical scoping (3-15 tools).
The tool surface covers key areas like asset import (Polyhaven, Sketchfab, Hyper3D), scene inspection, and basic operations (e.g., screenshot, code execution). Minor gaps exist, such as no tools for editing or deleting objects in Blender, but agents can work around this using 'execute_blender_code' for custom operations, ensuring core workflows are supported.
Maintenance
Related MCP Connectors
Cloud Blender for AI agents: scenes, assets, renders, MP4, STL, GLB — over hosted remote MCP.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Related MCP Servers
- AlicenseBqualityDmaintenanceConnects Blender to Claude AI through the Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, and manipulation through natural language commands.172MIT
- AlicenseAqualityDmaintenanceConnects Claude AI to Blender through the Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, material control, and object manipulation. Supports integration with Poly Haven assets and Hyper3D for AI-generated models.13MIT
- AlicenseAqualityDmaintenanceConnects Claude AI to Blender through the Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, material control, and direct Python code execution in Blender. Includes integration with Poly Haven assets and Hyper3D model generation.172MIT
- AlicenseBqualityDmaintenanceConnects Blender to Claude AI through the Model Context Protocol, enabling AI-assisted 3D modeling, scene creation, object manipulation, and material control. Supports asset integration from Poly Haven and AI-generated 3D models through Hyper3D Rodin.217MIT