blender-mcp

ahujasid/blender-mcp

3.8

If you are the rightful owner of blender-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

BlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), enabling prompt-assisted 3D modeling, scene creation, and manipulation.

Tools

Functions exposed to the LLM to take actions

get_scene_info

Get detailed information about the current Blender scene

get_object_info

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

Parameters:

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

get_viewport_screenshot

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.

execute_blender_code

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

get_polyhaven_categories

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)

search_polyhaven_assets

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.

download_polyhaven_asset

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.

set_texture

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.

get_polyhaven_status

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

get_hyper3d_status

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.

get_sketchfab_status

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

search_sketchfab_models

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.

download_sketchfab_model

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.

generate_hyper3d_model_via_text

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.

generate_hyper3d_model_via_images

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.

poll_rodin_job_status

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).

import_generated_asset

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.

Prompts

Interactive templates invoked by user choice

asset_creation_strategy

Defines the preferred strategy for creating assets in Blender

Resources

Contextual data attached and managed by the client

No resources