Skip to main content
Glama

bp_auto_format_graph

Automatically arranges Blueprint graph nodes into a clean left-to-right execution layout using topological sort. Places data nodes below exec nodes and stacks disconnected chains; layout is undoable.

Instructions

Auto-arrange nodes in a Blueprint graph into a clean left-to-right layout.

Performs a topological sort of node execution order, then repositions nodes so execution flows left-to-right with consistent spacing. Data/reference nodes are placed below their consuming exec nodes.

This uses exec_python_transactional so the layout is undoable.

Layout rules:

  • Execution chain nodes are spaced x_spacing apart horizontally

  • Pure/getter nodes are placed below exec chain at y_spacing offset

  • Events (no exec-in) are anchored at start_x, start_y

  • Multiple disconnected chains are stacked vertically

Args: blueprint_name: Blueprint asset name graph_name: Graph to format. Default 'EventGraph' x_spacing: Horizontal spacing between exec nodes (default 350) y_spacing: Vertical spacing for data nodes (default 150) start_x: X position of first node (default -400) start_y: Y starting position (default 0)

Returns: JSON string with StructuredResult. outputs.nodes_repositioned — count of nodes moved outputs.layout_summary — list of {node_id, title, new_x, new_y}

KB: see knowledge_base/01_BLUEPRINT_FUNDAMENTALS.md#overview Example: bp_auto_format_graph(blueprint_name="/Game/MCP_Test/BP_Example")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
start_xNo
start_yNo
x_spacingNo
y_spacingNo
graph_nameNoEventGraph
blueprint_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries full disclosure burden and meets it: it reveals the topological sort, the placement rules for data/reference nodes, anchoring of events, stacking of disconnected chains, and the use of exec_python_transactional making the layout undoable. It also documents the return contract via StructuredResult outputs.

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 longer than average but front-loaded with a one-sentence summary, then organized sections for layout rules, args, returns, KB, and example. The layout rules block repeats some of the summary's content, but every part earns its place; a small amount of redundancy keeps it from a 5.

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

Completeness5/5

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

For a 6-parameter mutating layout tool with no annotations, this is complete: it covers all parameters, behavior, side effects (undoable), return values, a knowledge-base pointer, and an example invocation. The presence of an output schema doesn't hurt; the description still explains what the fields mean.

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

Parameters5/5

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

The input schema has 0% description coverage, but the Args section compensates fully: every parameter (blueprint_name, graph_name, x_spacing, y_spacing, start_x, start_y) has a plain-language meaning and defaults. This gives an agent more than the schema's bare titles/defaults.

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 ('Auto-arrange') and resource ('nodes in a Blueprint graph'), and the one-sentence summary clearly distinguishes it from sibling tools like move_blueprint_node or bp_validate_graph by focusing on automatic left-to-right layout. The additional details (topological sort, spacing) reinforce the specific purpose.

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

Usage Guidelines3/5

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

The intended usage is implied by the description — 'Auto-arrange nodes in a Blueprint graph' — but no explicit when-to-use or alternative tools are named. It doesn't state that manual per-node positioning should be done with move_blueprint_node or that validation is handled elsewhere. Clear context but no exclusions.

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