Skip to main content
Glama

import_asset

Download a searched asset from Polyhaven, Sketchfab, or Polypizza into Blender, importing HDRIs, textures, or models and applying materials at a set scale.

Instructions

Download an asset found with search_assets and bring it into the scene.

Parameters:
- source: polyhaven, sketchfab or polypizza.
- id: The asset's id (UID for sketchfab) from search_assets.
- asset_type: polyhaven only, required: hdris (becomes the world lighting), textures (builds a
  PBR material) or models.
- target_size: Size in metres of the model's largest dimension (chair 1.0, car 4.5, cup 0.12).
  Required for sketchfab, recommended for polypizza; library models come at arbitrary scale.
- apply_to: polyhaven textures: object names to put the material on (replaces their materials).
  Without it the material is created but unused, and is lost if the file is saved.
- resolution: polyhaven: 1k, 2k, 4k or 8k. 1k-2k for background, 4k for close-ups.
- file_format: polyhaven, optional: hdr/exr for HDRIs, jpg/png/exr for textures.
- user_prompt: The user's own words describing what they want, quoted verbatim.

Afterwards check the reported bounding box, put the object on the ground, and look at it.

Input Schema

NameRequiredDescriptionDefault
idYes
sourceYes
apply_toNo
asset_typeNo
resolutionNo1k
file_formatNo
target_sizeNo
user_promptNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.4

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does: it discloses side effects (hdris becomes world lighting, textures builds a PBR material), a destructive consequence (apply_to replaces object materials) and a persistence trap (material is lost if the file is saved without apply_to). It also prescribes post-call verification (check bounding box, ground the object, look at it).

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

Conciseness4/5

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

One-sentence purpose front-loaded, then a tight parameter list, then a closing verification instruction. Dense rather than verbose — every line adds information — though the line-wrapped multi-clause parameter entries are slightly harder to scan than they need to be.

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

Completeness5/5

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

For an 8-parameter mutation tool with no annotations, the description covers purpose, per-source requirements, side effects, persistence caveat and follow-up verification. Return value detail is unnecessary given the output schema exists, and the closing line still tells the agent what to check in the result.

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 compensate entirely, and it does: enumerated values for source, asset_type, resolution and file_format, per-source conditional requirements, and concrete scale examples for target_size (chair 1.0, car 4.5, cup 0.12). It even explains what user_prompt expects (verbatim user words).

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?

"Download an asset found with search_assets and bring it into the scene" states a specific verb, resource and lifecycle, and explicitly positions search_assets as the discovery step that must precede it. An agent can tell this apart from its siblings without reading schemas.

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?

Clear prerequisites per source: asset_type is required for polyhaven, target_size required for sketchfab and recommended for polypizza, with the reason stated (library models come at arbitrary scale). No explicit when-not-to-use case, but the conditional requirements effectively route the agent.

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