Skip to main content
Glama

Remove a file from a piece's material

remove_material
DestructiveIdempotent

Removes a file from a piece's material: the piece stops listing it and the file stays in the owner's library; a scene that already mounts it keeps it (removing is not unmounting). It is also how a third party's contribution is declined. Removing a file that is not in the piece changes nothing (removed: false). Only the piece's owner. Requires write. $0.

Input Schema

NameRequiredDescriptionDefault
asset_idYesThe `assetId` of a file in the piece's material.
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the annotations by disclosing the actual blast radius — the file survives in the owner's library and mounted scenes keep it — plus the no-op behavior with `removed: false`. It also states the authorization model (owner only, requires `write`) and cost (`$0`), which the annotations do not convey.

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?

Front-loads the verb and effect, then layers the important caveats (not unmounting, no-op, permissions, cost) in short clauses. Every sentence carries distinct information; nothing is padding.

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?

With no output schema it still communicates the meaningful return signal (`removed: false`) and covers idempotency, authorization, and cost — everything needed to call it safely. The one gap is leaving the `project_id` parameter undefined for a two-required-parameter mutation.

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 50%: `asset_id` is documented in the schema, but `project_id` has no description in either place, and the description only alludes to the piece/owner relationship without mapping it to `project_id`. The description adds framing but no concrete parameter meaning beyond the schema.

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 ("Removes a file from a piece's material") and immediately bounds it against the two nearest confusions: the file is not deleted from the library, and removing is not unmounting. An agent can distinguish this from assign_material or a mount/unmount operation without opening another schema.

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 real usage context: it is the mechanism for declining a third party's contribution, and it is explicitly distinguished from unmounting a scene. It does not name a sibling tool (e.g. accept_contribution) as the alternative path, so the when-not guidance is implied rather than enumerated.

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.

Resources