Skip to main content
Glama

save_material_to_library

Save a material copy to the KeyShot library under a chosen folder so you can reuse it in other scenes; existing materials are protected unless overwrite is explicitly allowed.

Instructions

Enregistre une copie créée par le pont dans la bibliothèque de matériaux de KeyShot, sous Materials// (sous-dossier relatif, sans « .. »), pour la réutiliser dans d'autres scènes. cmf : champs CMF de KeyShot, p. ex. {"Name": "CMF-01", "Color": "RAL 7016", "Finish": "Microbillé", "Material": "Aluminium anodisé", "Vendor": "...", "Notes": "..."} ; la réponse les rend tels que KeyShot les a gardés. Nommer d'abord la copie (rename_material) : le nom devient celui du matériau en bibliothèque. Refusé si le matériau existe déjà dans ce dossier, sauf overwrite=true (seulement avec l'accord de l'utilisateur).

Input Schema

NameRequiredDescriptionDefault
cmfNo
folderNokeyshot-mcp
materialYes
overwriteNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, but the description adds real behavioral context: the collision refusal, the overwrite exception gated on user approval, and the fact that the response echoes the CMF as KeyShot stored it. Only the response shape beyond the CMF echo is left to the output schema.

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?

The primary action and destination path are front-loaded, then constraints follow. It is dense and semicolon-heavy but every clause carries actionable information; no padding sentences.

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?

For a mutation tool with an output schema already documenting returns and annotations covering the safety profile, the description supplies the missing pieces: collision handling, overwrite consent, path restrictions, and naming prerequisite. Adequate without redundant return-value explanation.

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

Parameters4/5

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 largely does: it documents cmf with a concrete field example, restricts folder to a relative subfolder without "..", and gates overwrite behind user consent. The material parameter's own semantics (identifier vs. name) are only indirectly implied via the rename_material note.

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?

States a specific verb and resource: saves a bridge-created copy into the KeyShot material library under Materials/<folder>/ so it can be reused in other scenes. This is clearly distinguishable from siblings like list_library_materials or assign_material, and the destination path is spelled out.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to rename_material first ("Nommer d'abord la copie") and states the refusal condition when the material already exists, plus the exception overwrite=true only with user consent. Both when-to-use and when-not-to-use are covered with an alternative named.

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