Skip to main content
Glama

remove_interface

DestructiveIdempotent

Remove an implemented Blueprint Interface and delete its function graphs by default; pass preserve_functions=true to keep them as normal Blueprint functions. No error if not implemented.

Instructions

Remove an implemented Blueprint Interface (inverse of implement_interface) and, unless preserve_functions is set, DELETE the graphs that implemented it -- work is lost, so pass preserve_functions=true to keep them as ordinary Blueprint functions. Idempotent, unlike implement_interface: an interface that is not implemented returns removed:false instead of erroring.

Returns: { blueprint_name, interface, removed } -- removed:false means it was not implemented (no-op), not a failure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoOptional. This command is REFUSED while a Play-in-Editor session is running: it either compiles a Blueprint (the reinstancer can retain a world, and CheckForWorldGCLeaks is Fatal -- it KILLS the editor) or writes to disk (Editor.AllowSavingAssetsDuringPIE=0 makes the engine refuse the write, so it would report success without writing a byte). Stop PIE and retry instead; force=true runs it anyway, at your own risk.
blueprint_nameNoBlueprint asset name or path
blueprint_pathNoAlias of `blueprint_name` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `blueprint_name`.
interface_pathYesBlueprint interface asset path (or class name) to remove
preserve_functionsNoWhen true, keep the interface's function graphs as normal Blueprint functions instead of deleting them; defaults to false

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations (destructiveHint/idempotentHint) by disclosing exactly what is destroyed ('DELETE the graphs that implemented it -- work is lost'), the mitigation (preserve_functions=true keeps them as ordinary functions), and the precise idempotent semantics (removed:false instead of erroring). This is the kind of consequence detail the annotations cannot convey.

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?

Front-loads the action, then layers the destructive consequence, the preserve option, and the idempotency/return shape. Dense but every sentence earns its place; only the trailing Returns block and the long middle clause keep it from being maximally tight.

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, the description supplies the return shape and the meaning of removed:false, and annotations already cover the safety profile. It leaves the force/PIE refusal behavior to the schema, but that is fully documented there, so the definition is nearly complete for this destructive 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 description coverage is 100%, so all five parameters are already documented, including preserve_functions and the force/PIE warning. The description's mention of preserve_functions largely restates what the schema says, adding emphasis rather than new meaning, so the baseline 3 applies.

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 ('Remove an implemented Blueprint Interface') and immediately identifies itself as the inverse of a named sibling, implement_interface. An agent can distinguish it from implement_interface, implement_interface_function, and override_interface_member without opening any 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?

Names the sibling relationship (inverse of implement_interface) and gives a clear conditional instruction: pass preserve_functions=true to keep the graphs. It stops short of explicit when-not-to-use guidance against other removal siblings (e.g. remove_blueprint_function), so context is clear but exclusions are absent.

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

Deploy Server

Other Tools