Skip to main content
Glama

set_resource_properties

Set and save properties of a .tres or .res resource atomically while preserving its UID and script. Use dryRun to preview changes or expectedHash to verify before applying.

Instructions

Set stored properties of a .tres/.res resource and save atomically, preserving its UID and script. Supports dryRun and expectedHash. Executes setters.

Input Schema

NameRequiredDescriptionDefault
dryRunNo
propertiesYes
projectPathYes
expectedHashNo
resourcePathYes

Output Schema

NameRequiredDescriptionDefault
savedYes
classNameYes
truncatedNo
propertiesNo
sourceHashYes
resourcePathYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior: the save is atomic, UID and script are preserved, and setters are executed (a side-effect caveat). It omits what happens on hash mismatch, on a missing resource, or whether unlisted properties are retained.

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?

Three short sentences, front-loaded with the core action, with no filler. 'Executes setters.' is terse to the point of being cryptic, but the density is otherwise appropriate for the tool's complexity.

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

Completeness2/5

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

For a mutating tool with openWorldHint, an untyped nested 'properties' object at 0% schema coverage, and hash-based concurrency control, the description leaves too much undefined. The output schema covers return values, but the input contract — especially properties shape and hash-mismatch behavior — is not conveyed.

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

Parameters2/5

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

Schema description coverage is 0% across 5 parameters, so the description must carry the load. It names dryRun and expectedHash but gives no meaning, format, or default for them, and never explains projectPath, resourcePath, or the shape of the nested 'properties' object — the most important parameter for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource type ('Set stored properties of a .tres/.res resource') and adds scope details (atomic save, UID/script preservation). The .tres/.res framing implicitly separates it from set_node_properties and set_node_reference, but no sibling is named explicitly.

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

Usage Guidelines2/5

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

No statement of when to use this versus create_resource, set_node_properties, or get_resource_info, and no preconditions such as whether the resource must already exist. 'Supports dryRun and expectedHash' hints at a safe-write workflow but never says to use dryRun first or when expectedHash should be supplied.

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