Files
integration/Plugins/BlueprintMCP/endpoint-rename-plan.md

16 KiB

BlueprintMCP Endpoint Naming Plan

Convention: every endpoint is verb_noun. Names should be descriptive enough that you can guess what the endpoint does without reading documentation. Verbs:

  • dump — return the entire contents of a single object (blueprint, graph, material, etc.)
  • list — enumerate assets or sub-elements from the asset registry (cheap, no loading)
  • search — deep search that loads assets, inspects their contents, and returns matches
  • find — look up references or locate specific items by criteria
  • create — make a new asset/graph/struct/enum
  • add — add a sub-element to an existing thing (variable, component, parameter, etc.)
  • remove/delete — remove a sub-element or asset
  • set/change — change a property value or type
  • rename — rename something
  • connect/disconnect — wire/unwire pins
  • validate/compile — compile and report errors
  • snapshot/diff/restore — capture, compare, and restore graph state

Blueprint — Read/Query

Current Proposed Description
list list_blueprint_assets List all blueprint and level blueprint assets from the asset registry (no loading). Optional query filters by name/path substring. Optional parentClass filters by parent class name. Returns name, path, and parent class for each.
blueprint dump_blueprint Load one blueprint by name and dump everything: variables, graph list, interfaces, and parent class.
graph dump_blueprint_graph Load one graph by blueprint name + graph name. Dumps all nodes with their pins, connections, positions, and metadata.
search search_within_blueprints Deep search: loads every blueprint, iterates all graphs/nodes, and finds nodes whose title, function name, event name, or variable name matches the query. Returns blueprint, graph, and node info for each match.
references find_asset_references Given an asset path, queries the asset registry for all packages that reference it. Separates results into blueprint referencers and other referencers.
search_by_type search_type_usage_in_blueprints Deep search: loads every blueprint and finds variables, function parameters, and pin types that use a given type name (struct, class, or enum). Returns usage location and context for each match.
get_pin_info get_pin_details Get detailed type and connection info for a specific pin (by blueprint, nodeId, pinName).
check_pin_compatibility check_pin_connection_compatibility Check whether two specific pins (source and target) can be connected. Returns compatibility and any error message.
test_save test_save_blueprint_package Diagnostic: load a blueprint and save its package with no modifications, to verify the save pipeline works.

Blueprint — Discovery (Unreal reflection)

Current Proposed Description
list_classes search_unreal_classes Search all UClasses in the engine. Optional query filters by class name substring. Optional parentClass restricts to subclasses. Returns class name, path, parent, and flags.
list_functions list_class_functions List all UFunctions on a given class. Optional query filters by function name substring. Returns name, parameters, return type, and flags for each.
list_properties list_class_properties List all UProperties on a given class. Optional query filters by property name substring. Returns name, type, flags, and metadata for each.

Blueprint — Validation

Current Proposed Description
validate_blueprint compile_blueprint Compile one blueprint and report any errors/warnings with graph, node, and message details.
validate_all_blueprints compile_all_blueprints Compile all blueprints (optional query to filter which ones). Returns per-blueprint pass/fail with error details. Supports pagination.

Blueprint — Creation/Structure

Current Proposed Description
create_blueprint create_blueprint_asset Create a new Blueprint asset with a given name, path, and parent class.
create_graph create_blueprint_graph Create a new function or macro graph inside a blueprint.
delete_graph delete_blueprint_graph Delete a graph from a blueprint.
rename_graph rename_blueprint_graph Rename a graph inside a blueprint.
reparent_blueprint reparent_blueprint Change a blueprint's parent class.
create_struct create_struct_asset Create a new user-defined struct asset.
create_enum create_enum_asset Create a new user-defined enum asset.
add_struct_property add_struct_field Add a field to a user-defined struct.
remove_struct_property remove_struct_field Remove a field from a user-defined struct.

Blueprint — Variables

Current Proposed Description
add_variable add_blueprint_variable Add a variable to a blueprint with a given name and type.
remove_variable remove_blueprint_variable Remove a variable from a blueprint by name.
change_variable_type change_blueprint_variable_type Change an existing blueprint variable's type.
set_variable_metadata set_blueprint_variable_metadata Set variable metadata (category, tooltip, replication, etc.).

Blueprint — Functions/Parameters

Current Proposed Description
add_function_parameter add_function_parameter Add an input or output parameter to a function graph.
remove_function_parameter remove_function_parameter Remove a parameter from a function graph.
change_function_param_type change_function_parameter_type Change the type of an existing function parameter.

Blueprint — Event Dispatchers

Current Proposed Description
add_event_dispatcher add_event_dispatcher Add an event dispatcher to a blueprint.
list_event_dispatchers list_event_dispatchers List all event dispatchers on a blueprint with their delegate signatures.

Blueprint — Components

Current Proposed Description
add_component add_blueprint_component Add a component to a blueprint's component hierarchy.
remove_component remove_blueprint_component Remove a component from a blueprint.
list_components list_blueprint_components List all components in a blueprint's component hierarchy.

Blueprint — Interfaces (new-style)

Current Proposed Description
list_interfaces list_blueprint_interfaces List all interfaces implemented by a blueprint, with the function stubs each provides.
add_interface add_blueprint_interface Add an interface implementation to a blueprint. Creates function stub graphs.
remove_interface remove_blueprint_interface Remove an interface implementation from a blueprint. Optionally preserves function graphs.

Blueprint — Node Mutation (new-style)

Current Proposed Description
search_node_types search_spawnable_node_types Search the blueprint action database (the right-click menu) for spawnable node types matching a query string. Returns full action names like "Utilities|Flow Control|Branch".
spawn_node spawn_node_in_graph Create one or more nodes in a graph by exact action name (from search_spawnable_node_types). Invokes the spawner and returns the new node details.
delete_node delete_node_from_graph Delete a node from a graph by GUID.
move_node set_node_position Set a node's X/Y position in the graph editor.
duplicate_nodes duplicate_nodes_in_graph Duplicate one or more nodes within a graph.
connect_pins connect_blueprint_pins Connect two pins (by blueprint, source node+pin, target node+pin).
disconnect_pin disconnect_blueprint_pin Break connections on a pin (all connections, or a specific one).
set_pin_default set_pin_default_value Set a pin's default value string.
get_node_comment get_node_comment Get the comment text on a node.
set_node_comment set_node_comment Set or clear the comment text on a node.
replace_function_calls replace_function_calls_in_blueprint Bulk-replace all calls to one function with calls to another across a blueprint.
refresh_all_nodes refresh_all_nodes_in_graph Refresh (reconstruct) all nodes in a graph to pick up signature changes.
change_struct_node_type change_struct_node_type Change which struct a Break/Make/Set-Members node operates on.
set_blueprint_default set_class_default_value Set a property value on the blueprint's Class Default Object (CDO).
rename_asset rename_asset Rename or move an asset to a new name/path.
delete_asset delete_asset Delete an asset from the project.
diff_blueprints diff_two_blueprints Compare two blueprints and return structural differences (added/removed/changed nodes, connections, variables).

Blueprint — Snapshots

Current Proposed Description
snapshot_graph snapshot_blueprint_graph Capture a snapshot of a blueprint's graphs (nodes and connections) for later diffing or restore.
diff_graph diff_blueprint_graph_vs_snapshot Diff the current state of a blueprint's graphs against a previously captured snapshot. Returns added/removed/changed nodes and connections.
restore_graph restore_blueprint_graph_from_snapshot Restore a blueprint's graphs to the state captured in a snapshot (recreates nodes and connections).
find_disconnected_pins find_pins_disconnected_since_snapshot Compare current graphs against a snapshot and find pins that were previously connected but are now disconnected.
analyze_rebuild_impact analyze_cpp_rebuild_impact Given a C++ module name, find all blueprints that use structs/classes from that module and report which nodes/pins would be affected by a rebuild.

Materials — Read

Current Proposed Description
materials list_material_assets List all material and material instance assets from the asset registry (no loading). Optional query filters by name/path substring. Optional type filters to "material" or "instance" only.
material dump_material Load one material by name and dump everything: properties (domain, blend mode, shading model, two-sided, etc.) and expression summary.
material_graph dump_material_expression_graph Load one material and dump its full expression graph: every expression node with type, position, parameter values, and all pin connections.
describe_material describe_material_in_english Load a material and generate a human-readable text description by tracing the expression graph backwards from each material output pin.
search_materials search_within_materials Deep search: loads every material, inspects expression nodes, and finds materials/expressions whose name, class, description, or parameter name matches the query.
material_references find_material_references Given a material name, query the asset registry for all assets that reference it.

Materials — Mutation

Current Proposed Description
create_material create_material_asset Create a new material asset.
set_material_property set_material_property Set a top-level material property (blend mode, shading model, two-sided, etc.).
add_material_expression add_material_expression Add a material expression node to a material's graph.
delete_material_expression delete_material_expression Remove a material expression node from a material's graph.
connect_material_pins connect_material_expression_pins Connect two expression pins in a material graph.
disconnect_material_pin disconnect_material_expression_pin Disconnect a pin in a material graph.
set_expression_value set_material_expression_property Set a property on a material expression node (e.g. constant value, texture, parameter name).
move_material_expression set_material_expression_position Set X/Y position of a material expression in the graph editor.
validate_material compile_material Compile a material and report errors.

Material Instances

Current Proposed Description
create_material_instance create_material_instance_asset Create a new material instance constant with a given parent material.
set_material_instance_parameter set_material_instance_parameter Set a parameter override on a material instance (scalar, vector, texture, etc.).
material_instance_params dump_material_instance_parameters Dump all parameter values on a material instance, showing both overridden and inherited values.
reparent_material_instance reparent_material_instance Change a material instance's parent material.

Material Functions

Current Proposed Description
material_functions list_material_function_assets List all material function assets from the asset registry. Optional query filters by name/path substring.
material_function dump_material_function Load one material function and dump its expressions, inputs, and outputs.
create_material_function create_material_function_asset Create a new material function asset.

Material Snapshots

Current Proposed Description
snapshot_material_graph snapshot_material_expression_graph Capture a snapshot of a material's expression graph.
diff_material_graph diff_material_graph_vs_snapshot Diff a material's current expression graph against a snapshot.
restore_material_graph restore_material_graph_from_snapshot Restore a material's expression graph from a snapshot.

Animation Blueprints

Current Proposed Description
create_anim_blueprint create_anim_blueprint_asset Create a new Animation Blueprint asset with a given skeleton.
add_anim_state add_anim_state_to_machine Add a state node to a state machine graph.
remove_anim_state remove_anim_state_from_machine Remove a state node from a state machine graph.
add_anim_transition add_anim_state_transition Add a transition between two states in a state machine.
set_transition_rule set_anim_transition_rule Set the boolean condition expression for a state machine transition.
add_anim_node add_anim_graph_node Add an animation node (sequence player, blend space player, etc.) to a state's graph.
add_state_machine add_anim_state_machine Add a state machine sub-graph to an anim blueprint's AnimGraph.
set_state_animation set_anim_state_animation Set which animation sequence a state plays.
list_anim_slots list_anim_slot_names List all animation slot names available in the skeleton's slot groups.
list_sync_groups list_anim_sync_groups List all animation sync groups defined in the project.
create_blend_space create_blend_space_asset Create a new Blend Space asset.
set_blend_space_samples set_blend_space_sample_points Set the sample points (animation + coordinates) on a blend space.
set_state_blend_space set_anim_state_blend_space Set a state to play a blend space instead of a single animation.

System

Current Proposed Description
health health Returns server status, mode, and asset counts. Answered on HTTP thread, no game-thread access.
rescan rescan_asset_registry Re-scan the asset registry and refresh all cached asset lists.
shutdown shutdown Request graceful engine exit. Only available in commandlet mode.