Skip to main content
Glama

Search CC0 assets

asset_search
Read-onlyIdempotent

Find free CC0 3D models, PBR textures or HDRIs on Poly Haven by words ('wooden chair', 'forest hdri') to furnish a scene without uploading files; no GPU time. For product shots of something the user has no model for: asset_search(''), then render_preview(scene_script='import jr_assets; jr_assets.import_model("")', asset_urls=['polyhaven:'], preset='product') gives 4 studio shots on a plain backdrop (import_model removes Blender's untouched startup cube first). Each result has a spec 'polyhaven:' to pass in asset_urls, its size in metres and the entry file. In the scene script: import jr_assets, then jr_assets.import_model('', location=(x, y, z), scale=1.0) returns the objects, jr_assets.material('') builds a material and jr_assets.apply(obj, mat) assigns it, jr_assets.world_hdri('', strength=1.0) lights the world. 'polyhaven:@2k' fetches 2k textures (1k by default).

Input Schema

NameRequiredDescriptionDefault
kindNo'models' (default) | 'textures' | 'hdris'.models
queryYesWords to search Poly Haven for (name, tags, category), e.g. 'wooden chair' or 'forest hdri'.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / kind / description
      Added value: +"'models' (default) | 'textures' | 'hdris'."
    • addedInput schema / properties / query / description
      Added value: +"Words to search Poly Haven for (name, tags, category), e.g. 'wooden chair' or 'forest hdri'."
  2. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare it as a read-only, idempotent, open-world search, and the description adds substantial context beyond that: the result spec format 'polyhaven:<id>', that sizes are in metres, the entry file, 1k-default versus '@2k' texture variants, and that import_model strips Blender's startup cube. That is real behavioral knowledge an agent cannot get from the annotations.

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 purpose is correctly front-loaded, but the rest is one dense run-on paragraph that mixes search semantics with a full render workflow and a Python API reference (material, apply, world_hdri) that belongs to the import tooling, not to search. Several clauses would be better placed in render_preview or the import tool's description.

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?

Even though an output schema exists, the description still tells the agent what each result carries (spec id, size in metres, entry file), which is exactly what it needs to wire results into render_preview. Nothing required for a correct call is missing.

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

Parameters3/5

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

Schema coverage is 100%, with both params (query, kind) fully documented including the enum-like kind values, so baseline is 3. The description's query examples restate the schema and the '@2k' suffix applies to the id used in asset_urls rather than to this tool's inputs, so it adds little parameter meaning of its own.

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?

Opens with a specific verb and resource: find free CC0 3D models, PBR textures or HDRIs on Poly Haven, plus concrete query examples. It is unmistakably a search tool and cannot be confused with the render_* siblings.

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?

Gives an explicit scenario ('for product shots of something the user has no model for') and chains it into render_preview with concrete arguments, so the agent knows when to reach for it. It stops short of naming the counterpart path (e.g. use render_import_file if the user already has a file), so it lacks a true alternative branch.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.