Skip to main content
Glama

Apply a KeyShot material

keyshot_apply_material
Destructive

Apply a KeyShot material from the library or a local file to an object, then save the edited scene.

Instructions

Apply a KeyShot library material or local material file to a specific object, then save the edited scene.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scenePathYesAbsolute path to an existing KeyShot scene file to open. Input files may be outside the configured output directory.
objectNameNoScene object name to modify. Provide either objectName or the more specific objectPath.
objectPathNoFull scene-tree path of the object to modify. Use this instead of objectName when names are duplicated.
materialNameNoMaterial name from the local KeyShot library. Provide either materialName or materialPath.
materialPathNoAbsolute path to a local KeyShot material file. Provide either materialPath or materialName.
outputScenePathYesDestination path for the saved KeyShot scene. The path must stay inside KEYSHOT_OUTPUT_DIR unless external outputs are explicitly enabled.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesTrue when the requested operation completed successfully.
dataNoOperation-specific structured result data, or null when unavailable.
errorYesHuman-readable failure reason, or null after success.
warningsYesNon-fatal conditions the user or agent should review.
errorCodeNoStable error category for common failures.
outputFilesYesAbsolute paths of images or scene files created by the operation.
suggestionsNoActionable recovery steps for the user or agent.
keyshotStdoutTailYesTruncated tail of KeyShot headless output for diagnostics.
Behavior3/5

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

Annotations already indicate destructive behavior (destructiveHint=true), and the description adds that the tool saves the edited scene. This is useful context beyond the raw annotation. However, it does not elaborate on other behavioral aspects such as file overwriting specifics, potential errors, or prerequisites. Given the annotation coverage, a score of 3 is appropriate.

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 a single, front-loaded sentence that conveys the essential action without redundancy. Every word contributes to understanding the tool's purpose and workflow. It is concise and well-structured.

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?

The description, combined with the fully detailed schema and output schema, provides sufficient context for understanding the tool's function. It covers the core workflow (apply material, save scene) without needing to explain return values. Minor gaps such as explicit failure modes or prerequisites are not critical given the schema richness, but a bit more behavioral context would make it fully complete.

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?

The input schema provides 100% coverage with detailed descriptions for all six parameters, including the distinction between objectName and objectPath and materialName and materialPath. The tool description itself adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 holds.

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 the specific action: applying a KeyShot library material or local material file to a specific object, followed by saving the scene. This distinguishes it from sibling tools like keyshot_apply_material_preset (which applies a preset) and keyshot_save_scene (which only saves). The verb 'apply' and resource 'material' are precise and unambiguous.

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 usage context by mentioning 'library material or local material file,' which hints at when to use this tool versus the preset-based alternative. However, it does not explicitly name alternatives or provide exclusionary guidance. The context is not fully developed, so it falls short of a 4.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/truman-t3/keyshot-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server