Skip to main content
Glama

add_blueprint_variable

Add a member variable to an Unreal Engine Blueprint with specified type, default value, and optional exposure in the Details panel. Define type, name, and initial value in one call.

Instructions

Add a member variable to a Blueprint.

Supported variable_type values: Boolean, Integer, Integer64, Float, Double, String, Name, Text, Vector, Rotator, Transform, Object/ (e.g. 'Object//Script/Engine.StaticMeshComponent')

Args: blueprint_name: Asset name. variable_name: New variable name. variable_type: Type string (see above). is_exposed: Expose in Details panel (BlueprintVisible + Edit). default_value: Optional initial value string (e.g. '0', 'true', '(X=0.0,Y=0.0,Z=0.0)'). Stored in both the FBPVariableDescription and the Blueprint CDO.

Returns: Dict with 'variable_name' and 'variable_type'.

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: add_blueprint_variable(blueprint_name="/Game/MCP_Test/BP_Example", variable_name="ExampleName", variable_type="ExampleName")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
is_exposedNo
default_valueNo
variable_nameYes
variable_typeYes
blueprint_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses important behavioral details beyond the schema: it explains the effect of is_exposed (BlueprintVisible + Edit), states that default_value is stored in both the FBPVariableDescription and the Blueprint CDO, and documents the return value. It also lists supported variable_type values, which is critical runtime behavior. No annotations are provided, so the description carries the full burden, and it does so well.

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 description is well-structured with clear sections: a one-line summary, supported types, args, returns, KB reference, and example. It's longer than average but every section earns its place given the 0% schema coverage. The most critical information (supported types and parameter semantics) is front-loaded, and the example at the end is a useful capstone.

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?

Given the 5-parameter tool with 0% schema coverage and no annotations, the description is quite complete. It covers all parameters, valid values, return format, and provides a KB reference and example. It doesn't mention error conditions or side effects (e.g., whether the blueprint needs to be compiled afterward), but the core information needed to call the tool correctly is present. The output schema exists, so return values are partially covered by structured data.

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 description coverage is 0%, so the description must compensate. It does: it explains blueprint_name, variable_name, variable_type (with a full list of valid values), is_exposed (with its BlueprintVisible+Edit meaning), and default_value (with format examples and storage semantics). The only minor gap is that it doesn't explain the exact format for Object/<FullClassPath> beyond one example, but the provided example is sufficient.

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 action ('Add a member variable to a Blueprint') with a specific verb and resource. It distinguishes itself from siblings like add_blueprint_variable_get_node and add_blueprint_variable_set_node by focusing on the variable declaration itself, not graph nodes. The supported variable_type list and example further clarify the tool's purpose.

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?

The description provides a clear context for when to use this tool (adding a member variable to a Blueprint) and includes a knowledge base reference for deeper understanding. It doesn't explicitly state when NOT to use it or name alternative tools, but the context is clear enough for an agent to select it over the many node-adding siblings. The example invocation also serves as a usage pattern.

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