|
|
|
|
@@ -510,11 +510,11 @@ bool FBlueprintMCPServer::Start(int32 InPort, bool bEditorMode)
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
// /api/rescan — re-scan asset registry and refresh cached asset lists (game thread)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/rescan")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("rescan")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/rescan_asset_registry")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("rescan_asset_registry")));
|
|
|
|
|
|
|
|
|
|
// /api/list — answered directly (only reads immutable asset list)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_blueprint_assets")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
FHttpRequestHandler::CreateLambda(
|
|
|
|
|
[this](const FHttpServerRequest& Request, const FHttpResultCallback& OnComplete)
|
|
|
|
|
{
|
|
|
|
|
@@ -532,87 +532,87 @@ bool FBlueprintMCPServer::Start(int32 InPort, bool bEditorMode)
|
|
|
|
|
}));
|
|
|
|
|
|
|
|
|
|
// Old-style handlers (queued, not yet ported to UMCPHandler)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/blueprint")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("blueprint")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/graph")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/search")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("search")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/references")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("references")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/change_variable_type")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("change_variable_type")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/change_function_param_type")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("change_function_param_type")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/test_save")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("test_save")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/get_pin_info")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("get_pin_info")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/check_pin_compatibility")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("check_pin_compatibility")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_classes")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_classes")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_functions")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_functions")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_properties")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_properties")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/dump_blueprint")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("dump_blueprint")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/dump_blueprint_graph")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("dump_blueprint_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/search_within_blueprints")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("search_within_blueprints")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/find_asset_references")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("find_asset_references")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/change_blueprint_variable_type")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("change_blueprint_variable_type")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/change_function_parameter_type")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("change_function_parameter_type")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/test_save_blueprint_package")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("test_save_blueprint_package")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/get_pin_details")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("get_pin_details")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/check_pin_connection_compatibility")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("check_pin_connection_compatibility")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/search_unreal_classes")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("search_unreal_classes")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_class_functions")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_class_functions")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_class_properties")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_class_properties")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_function_parameter")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_function_parameter")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/search_by_type")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("search_by_type")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/validate_blueprint")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("validate_blueprint")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/validate_all_blueprints")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("validate_all_blueprints")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/search_type_usage_in_blueprints")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("search_type_usage_in_blueprints")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/compile_blueprint")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("compile_blueprint")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/compile_all_blueprints")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("compile_all_blueprints")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/reparent_blueprint")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("reparent_blueprint")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_blueprint")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_blueprint")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_struct")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_struct")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_enum")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_enum")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_struct_property")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_struct_property")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_struct_property")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_struct_property")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/delete_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("delete_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/rename_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("rename_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_variable")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_variable")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_variable")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_variable")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_variable_metadata")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_variable_metadata")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_blueprint_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_blueprint_asset")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_blueprint_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_blueprint_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_struct_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_struct_asset")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_enum_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_enum_asset")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_struct_field")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_struct_field")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_struct_field")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_struct_field")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/delete_blueprint_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("delete_blueprint_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/rename_blueprint_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("rename_blueprint_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_blueprint_variable")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_blueprint_variable")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_blueprint_variable")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_blueprint_variable")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_blueprint_variable_metadata")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_blueprint_variable_metadata")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_event_dispatcher")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_event_dispatcher")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_event_dispatchers")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_event_dispatchers")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_function_parameter")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_function_parameter")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_component")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_component")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_component")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_component")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_components")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_components")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/snapshot_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("snapshot_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/diff_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("diff_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/restore_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("restore_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/find_disconnected_pins")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("find_disconnected_pins")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/analyze_rebuild_impact")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("analyze_rebuild_impact")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_blueprint_component")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_blueprint_component")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_blueprint_component")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_blueprint_component")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_blueprint_components")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_blueprint_components")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/snapshot_blueprint_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("snapshot_blueprint_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/diff_blueprint_graph_vs_snapshot")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("diff_blueprint_graph_vs_snapshot")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/restore_blueprint_graph_from_snapshot")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("restore_blueprint_graph_from_snapshot")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/find_pins_disconnected_since_snapshot")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("find_pins_disconnected_since_snapshot")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/analyze_cpp_rebuild_impact")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("analyze_cpp_rebuild_impact")));
|
|
|
|
|
|
|
|
|
|
// Material read-only tools (Phase 1)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/materials")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_material_assets")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
FHttpRequestHandler::CreateLambda(
|
|
|
|
|
[this](const FHttpServerRequest& Request, const FHttpResultCallback& OnComplete)
|
|
|
|
|
{
|
|
|
|
|
@@ -629,46 +629,46 @@ bool FBlueprintMCPServer::Start(int32 InPort, bool bEditorMode)
|
|
|
|
|
return true;
|
|
|
|
|
}));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/material")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("get_material")));
|
|
|
|
|
QueuedHandler(TEXT("dump_material")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/material_graph")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("get_material_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/describe_material")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("describe_material")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/search_materials")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("search_materials")));
|
|
|
|
|
QueuedHandler(TEXT("dump_material_expression_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/describe_material_in_english")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("describe_material_in_english")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/search_within_materials")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("search_within_materials")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/material_references")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("find_material_references")));
|
|
|
|
|
|
|
|
|
|
// Material mutation tools (Phase 2)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_material")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_material")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_material_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_material_asset")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_material_property")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_material_property")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_material_expression")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_material_expression")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/delete_material_expression")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("delete_material_expression")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/connect_material_pins")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("connect_material_pins")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/disconnect_material_pin")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("disconnect_material_pin")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_expression_value")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_expression_value")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/move_material_expression")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("move_material_expression")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/connect_material_expression_pins")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("connect_material_expression_pins")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/disconnect_material_expression_pin")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("disconnect_material_expression_pin")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_material_expression_property")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_material_expression_property")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_material_expression_position")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_material_expression_position")));
|
|
|
|
|
|
|
|
|
|
// Material instance tools (Phase 3)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_material_instance")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_material_instance")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_material_instance_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_material_instance_asset")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_material_instance_parameter")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_material_instance_parameter")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/material_instance_params")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("get_material_instance_params")));
|
|
|
|
|
QueuedHandler(TEXT("dump_material_instance_parameters")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/reparent_material_instance")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("reparent_material_instance")));
|
|
|
|
|
|
|
|
|
|
// Material function tools (Phase 4)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/material_functions")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_material_function_assets")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
FHttpRequestHandler::CreateLambda(
|
|
|
|
|
[this](const FHttpServerRequest& Request, const FHttpResultCallback& OnComplete)
|
|
|
|
|
{
|
|
|
|
|
@@ -685,47 +685,47 @@ bool FBlueprintMCPServer::Start(int32 InPort, bool bEditorMode)
|
|
|
|
|
return true;
|
|
|
|
|
}));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/material_function")), EHttpServerRequestVerbs::VERB_GET,
|
|
|
|
|
QueuedHandler(TEXT("get_material_function")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_material_function")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_material_function")));
|
|
|
|
|
QueuedHandler(TEXT("dump_material_function")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_material_function_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_material_function_asset")));
|
|
|
|
|
|
|
|
|
|
// Material snapshot/diff/restore (Phase 5)
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/snapshot_material_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("snapshot_material_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/diff_material_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("diff_material_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/restore_material_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("restore_material_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/validate_material")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("validate_material")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/snapshot_material_expression_graph")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("snapshot_material_expression_graph")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/diff_material_graph_vs_snapshot")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("diff_material_graph_vs_snapshot")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/restore_material_graph_from_snapshot")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("restore_material_graph_from_snapshot")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/compile_material")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("compile_material")));
|
|
|
|
|
|
|
|
|
|
// Animation Blueprint tools
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_anim_blueprint")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_anim_blueprint")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_anim_state")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_anim_state")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_anim_state")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_anim_state")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_anim_transition")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_anim_transition")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_transition_rule")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_transition_rule")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_anim_node")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_anim_node")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_state_machine")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_state_machine")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_state_animation")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_state_animation")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_anim_slots")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_anim_slots")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_sync_groups")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_sync_groups")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_blend_space")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_blend_space")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_blend_space_samples")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_blend_space_samples")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_state_blend_space")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_state_blend_space")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_anim_blueprint_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_anim_blueprint_asset")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_anim_state_to_machine")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_anim_state_to_machine")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/remove_anim_state_from_machine")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("remove_anim_state_from_machine")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_anim_state_transition")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_anim_state_transition")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_anim_transition_rule")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_anim_transition_rule")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_anim_graph_node")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_anim_graph_node")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/add_anim_state_machine")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("add_anim_state_machine")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_anim_state_animation")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_anim_state_animation")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_anim_slot_names")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_anim_slot_names")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/list_anim_sync_groups")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("list_anim_sync_groups")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/create_blend_space_asset")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("create_blend_space_asset")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_blend_space_sample_points")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_blend_space_sample_points")));
|
|
|
|
|
Router->BindRoute(FHttpPath(TEXT("/api/set_anim_state_blend_space")), EHttpServerRequestVerbs::VERB_POST,
|
|
|
|
|
QueuedHandler(TEXT("set_anim_state_blend_space")));
|
|
|
|
|
|
|
|
|
|
// Build new-style handler registry from UMCPHandler subclasses and bind routes for each
|
|
|
|
|
BuildMCPHandlerRegistry();
|
|
|
|
|
@@ -872,63 +872,63 @@ void FBlueprintMCPServer::RegisterHandlers()
|
|
|
|
|
{
|
|
|
|
|
// Mutation endpoints — wrapped in undo transactions by ProcessOneRequest()
|
|
|
|
|
MutationEndpoints = {
|
|
|
|
|
TEXT("replace_function_calls"),
|
|
|
|
|
TEXT("change_variable_type"),
|
|
|
|
|
TEXT("change_function_param_type"),
|
|
|
|
|
TEXT("replace_function_calls_in_blueprint"),
|
|
|
|
|
TEXT("change_blueprint_variable_type"),
|
|
|
|
|
TEXT("change_function_parameter_type"),
|
|
|
|
|
TEXT("remove_function_parameter"),
|
|
|
|
|
TEXT("delete_asset"),
|
|
|
|
|
TEXT("connect_pins"),
|
|
|
|
|
TEXT("disconnect_pin"),
|
|
|
|
|
TEXT("refresh_all_nodes"),
|
|
|
|
|
TEXT("set_pin_default"),
|
|
|
|
|
TEXT("move_node"),
|
|
|
|
|
TEXT("connect_blueprint_pins"),
|
|
|
|
|
TEXT("disconnect_blueprint_pins"),
|
|
|
|
|
TEXT("refresh_all_nodes_in_graph"),
|
|
|
|
|
TEXT("set_pin_default_values"),
|
|
|
|
|
TEXT("set_node_positions"),
|
|
|
|
|
TEXT("change_struct_node_type"),
|
|
|
|
|
TEXT("delete_node"),
|
|
|
|
|
TEXT("duplicate_nodes"),
|
|
|
|
|
TEXT("spawn_node"),
|
|
|
|
|
TEXT("delete_node_from_graph"),
|
|
|
|
|
TEXT("duplicate_nodes_in_graph"),
|
|
|
|
|
TEXT("spawn_nodes_in_graph"),
|
|
|
|
|
TEXT("set_node_comment"),
|
|
|
|
|
TEXT("rename_asset"),
|
|
|
|
|
TEXT("reparent_blueprint"),
|
|
|
|
|
TEXT("set_blueprint_default"),
|
|
|
|
|
TEXT("create_blueprint"),
|
|
|
|
|
TEXT("create_graph"),
|
|
|
|
|
TEXT("delete_graph"),
|
|
|
|
|
TEXT("rename_graph"),
|
|
|
|
|
TEXT("add_variable"),
|
|
|
|
|
TEXT("remove_variable"),
|
|
|
|
|
TEXT("set_variable_metadata"),
|
|
|
|
|
TEXT("add_interface"),
|
|
|
|
|
TEXT("remove_interface"),
|
|
|
|
|
TEXT("set_class_default_value"),
|
|
|
|
|
TEXT("create_blueprint_asset"),
|
|
|
|
|
TEXT("create_blueprint_graph"),
|
|
|
|
|
TEXT("delete_blueprint_graph"),
|
|
|
|
|
TEXT("rename_blueprint_graph"),
|
|
|
|
|
TEXT("add_blueprint_variable"),
|
|
|
|
|
TEXT("remove_blueprint_variable"),
|
|
|
|
|
TEXT("set_blueprint_variable_metadata"),
|
|
|
|
|
TEXT("add_blueprint_interface"),
|
|
|
|
|
TEXT("remove_blueprint_interface"),
|
|
|
|
|
TEXT("add_event_dispatcher"),
|
|
|
|
|
TEXT("add_function_parameter"),
|
|
|
|
|
TEXT("add_component"),
|
|
|
|
|
TEXT("remove_component"),
|
|
|
|
|
TEXT("restore_graph"),
|
|
|
|
|
TEXT("create_struct"),
|
|
|
|
|
TEXT("create_enum"),
|
|
|
|
|
TEXT("add_struct_property"),
|
|
|
|
|
TEXT("remove_struct_property"),
|
|
|
|
|
TEXT("create_material"),
|
|
|
|
|
TEXT("add_blueprint_component"),
|
|
|
|
|
TEXT("remove_blueprint_component"),
|
|
|
|
|
TEXT("restore_blueprint_graph_from_snapshot"),
|
|
|
|
|
TEXT("create_struct_asset"),
|
|
|
|
|
TEXT("create_enum_asset"),
|
|
|
|
|
TEXT("add_struct_field"),
|
|
|
|
|
TEXT("remove_struct_field"),
|
|
|
|
|
TEXT("create_material_asset"),
|
|
|
|
|
TEXT("set_material_property"),
|
|
|
|
|
TEXT("add_material_expression"),
|
|
|
|
|
TEXT("delete_material_expression"),
|
|
|
|
|
TEXT("connect_material_pins"),
|
|
|
|
|
TEXT("disconnect_material_pin"),
|
|
|
|
|
TEXT("set_expression_value"),
|
|
|
|
|
TEXT("move_material_expression"),
|
|
|
|
|
TEXT("create_material_instance"),
|
|
|
|
|
TEXT("connect_material_expression_pins"),
|
|
|
|
|
TEXT("disconnect_material_expression_pin"),
|
|
|
|
|
TEXT("set_material_expression_property"),
|
|
|
|
|
TEXT("set_material_expression_position"),
|
|
|
|
|
TEXT("create_material_instance_asset"),
|
|
|
|
|
TEXT("set_material_instance_parameter"),
|
|
|
|
|
TEXT("reparent_material_instance"),
|
|
|
|
|
TEXT("create_material_function"),
|
|
|
|
|
TEXT("restore_material_graph"),
|
|
|
|
|
TEXT("create_anim_blueprint"),
|
|
|
|
|
TEXT("add_anim_state"),
|
|
|
|
|
TEXT("remove_anim_state"),
|
|
|
|
|
TEXT("add_anim_transition"),
|
|
|
|
|
TEXT("set_transition_rule"),
|
|
|
|
|
TEXT("add_anim_node"),
|
|
|
|
|
TEXT("add_state_machine"),
|
|
|
|
|
TEXT("set_state_animation"),
|
|
|
|
|
TEXT("create_material_function_asset"),
|
|
|
|
|
TEXT("restore_material_graph_from_snapshot"),
|
|
|
|
|
TEXT("create_anim_blueprint_asset"),
|
|
|
|
|
TEXT("add_anim_state_to_machine"),
|
|
|
|
|
TEXT("remove_anim_state_from_machine"),
|
|
|
|
|
TEXT("add_anim_state_transition"),
|
|
|
|
|
TEXT("set_anim_transition_rule"),
|
|
|
|
|
TEXT("add_anim_graph_node"),
|
|
|
|
|
TEXT("add_anim_state_machine"),
|
|
|
|
|
TEXT("set_anim_state_animation"),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// All handlers have uniform signature: void(const FJsonObject&, FJsonObject&)
|
|
|
|
|
@@ -937,82 +937,82 @@ void FBlueprintMCPServer::RegisterHandlers()
|
|
|
|
|
HandlerMap.Add(Name, [this, Fn](const FJsonObject* Json, FJsonObject* Result) { (this->*Fn)(Json, Result); });
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
H(TEXT("rescan"), &FBlueprintMCPServer::HandleRescan);
|
|
|
|
|
H(TEXT("blueprint"), &FBlueprintMCPServer::HandleGetBlueprint);
|
|
|
|
|
H(TEXT("graph"), &FBlueprintMCPServer::HandleGetGraph);
|
|
|
|
|
H(TEXT("search"), &FBlueprintMCPServer::HandleSearch);
|
|
|
|
|
H(TEXT("references"), &FBlueprintMCPServer::HandleFindReferences);
|
|
|
|
|
H(TEXT("test_save"), &FBlueprintMCPServer::HandleTestSave);
|
|
|
|
|
H(TEXT("search_by_type"), &FBlueprintMCPServer::HandleSearchByType);
|
|
|
|
|
H(TEXT("change_variable_type"), &FBlueprintMCPServer::HandleChangeVariableType);
|
|
|
|
|
H(TEXT("change_function_param_type"), &FBlueprintMCPServer::HandleChangeFunctionParamType);
|
|
|
|
|
H(TEXT("rescan_asset_registry"), &FBlueprintMCPServer::HandleRescan);
|
|
|
|
|
H(TEXT("dump_blueprint"), &FBlueprintMCPServer::HandleGetBlueprint);
|
|
|
|
|
H(TEXT("dump_blueprint_graph"), &FBlueprintMCPServer::HandleGetGraph);
|
|
|
|
|
H(TEXT("search_within_blueprints"), &FBlueprintMCPServer::HandleSearch);
|
|
|
|
|
H(TEXT("find_asset_references"), &FBlueprintMCPServer::HandleFindReferences);
|
|
|
|
|
H(TEXT("test_save_blueprint_package"), &FBlueprintMCPServer::HandleTestSave);
|
|
|
|
|
H(TEXT("search_type_usage_in_blueprints"), &FBlueprintMCPServer::HandleSearchByType);
|
|
|
|
|
H(TEXT("change_blueprint_variable_type"), &FBlueprintMCPServer::HandleChangeVariableType);
|
|
|
|
|
H(TEXT("change_function_parameter_type"), &FBlueprintMCPServer::HandleChangeFunctionParamType);
|
|
|
|
|
H(TEXT("remove_function_parameter"), &FBlueprintMCPServer::HandleRemoveFunctionParameter);
|
|
|
|
|
H(TEXT("get_pin_info"), &FBlueprintMCPServer::HandleGetPinInfo);
|
|
|
|
|
H(TEXT("check_pin_compatibility"), &FBlueprintMCPServer::HandleCheckPinCompatibility);
|
|
|
|
|
H(TEXT("list_classes"), &FBlueprintMCPServer::HandleListClasses);
|
|
|
|
|
H(TEXT("list_functions"), &FBlueprintMCPServer::HandleListFunctions);
|
|
|
|
|
H(TEXT("list_properties"), &FBlueprintMCPServer::HandleListProperties);
|
|
|
|
|
H(TEXT("validate_blueprint"), &FBlueprintMCPServer::HandleValidateBlueprint);
|
|
|
|
|
H(TEXT("validate_all_blueprints"), &FBlueprintMCPServer::HandleValidateAllBlueprints);
|
|
|
|
|
H(TEXT("get_pin_details"), &FBlueprintMCPServer::HandleGetPinInfo);
|
|
|
|
|
H(TEXT("check_pin_connection_compatibility"), &FBlueprintMCPServer::HandleCheckPinCompatibility);
|
|
|
|
|
H(TEXT("search_unreal_classes"), &FBlueprintMCPServer::HandleListClasses);
|
|
|
|
|
H(TEXT("list_class_functions"), &FBlueprintMCPServer::HandleListFunctions);
|
|
|
|
|
H(TEXT("list_class_properties"), &FBlueprintMCPServer::HandleListProperties);
|
|
|
|
|
H(TEXT("compile_blueprint"), &FBlueprintMCPServer::HandleValidateBlueprint);
|
|
|
|
|
H(TEXT("compile_all_blueprints"), &FBlueprintMCPServer::HandleValidateAllBlueprints);
|
|
|
|
|
H(TEXT("reparent_blueprint"), &FBlueprintMCPServer::HandleReparentBlueprint);
|
|
|
|
|
H(TEXT("create_blueprint"), &FBlueprintMCPServer::HandleCreateBlueprint);
|
|
|
|
|
H(TEXT("create_graph"), &FBlueprintMCPServer::HandleCreateGraph);
|
|
|
|
|
H(TEXT("delete_graph"), &FBlueprintMCPServer::HandleDeleteGraph);
|
|
|
|
|
H(TEXT("rename_graph"), &FBlueprintMCPServer::HandleRenameGraph);
|
|
|
|
|
H(TEXT("add_variable"), &FBlueprintMCPServer::HandleAddVariable);
|
|
|
|
|
H(TEXT("remove_variable"), &FBlueprintMCPServer::HandleRemoveVariable);
|
|
|
|
|
H(TEXT("set_variable_metadata"), &FBlueprintMCPServer::HandleSetVariableMetadata);
|
|
|
|
|
H(TEXT("create_blueprint_asset"), &FBlueprintMCPServer::HandleCreateBlueprint);
|
|
|
|
|
H(TEXT("create_blueprint_graph"), &FBlueprintMCPServer::HandleCreateGraph);
|
|
|
|
|
H(TEXT("delete_blueprint_graph"), &FBlueprintMCPServer::HandleDeleteGraph);
|
|
|
|
|
H(TEXT("rename_blueprint_graph"), &FBlueprintMCPServer::HandleRenameGraph);
|
|
|
|
|
H(TEXT("add_blueprint_variable"), &FBlueprintMCPServer::HandleAddVariable);
|
|
|
|
|
H(TEXT("remove_blueprint_variable"), &FBlueprintMCPServer::HandleRemoveVariable);
|
|
|
|
|
H(TEXT("set_blueprint_variable_metadata"), &FBlueprintMCPServer::HandleSetVariableMetadata);
|
|
|
|
|
H(TEXT("add_event_dispatcher"), &FBlueprintMCPServer::HandleAddEventDispatcher);
|
|
|
|
|
H(TEXT("list_event_dispatchers"), &FBlueprintMCPServer::HandleListEventDispatchers);
|
|
|
|
|
H(TEXT("add_function_parameter"), &FBlueprintMCPServer::HandleAddFunctionParameter);
|
|
|
|
|
H(TEXT("add_component"), &FBlueprintMCPServer::HandleAddComponent);
|
|
|
|
|
H(TEXT("remove_component"), &FBlueprintMCPServer::HandleRemoveComponent);
|
|
|
|
|
H(TEXT("list_components"), &FBlueprintMCPServer::HandleListComponents);
|
|
|
|
|
H(TEXT("snapshot_graph"), &FBlueprintMCPServer::HandleSnapshotGraph);
|
|
|
|
|
H(TEXT("diff_graph"), &FBlueprintMCPServer::HandleDiffGraph);
|
|
|
|
|
H(TEXT("restore_graph"), &FBlueprintMCPServer::HandleRestoreGraph);
|
|
|
|
|
H(TEXT("find_disconnected_pins"), &FBlueprintMCPServer::HandleFindDisconnectedPins);
|
|
|
|
|
H(TEXT("analyze_rebuild_impact"), &FBlueprintMCPServer::HandleAnalyzeRebuildImpact);
|
|
|
|
|
H(TEXT("create_struct"), &FBlueprintMCPServer::HandleCreateStruct);
|
|
|
|
|
H(TEXT("create_enum"), &FBlueprintMCPServer::HandleCreateEnum);
|
|
|
|
|
H(TEXT("add_struct_property"), &FBlueprintMCPServer::HandleAddStructProperty);
|
|
|
|
|
H(TEXT("remove_struct_property"), &FBlueprintMCPServer::HandleRemoveStructProperty);
|
|
|
|
|
H(TEXT("get_material"), &FBlueprintMCPServer::HandleGetMaterial);
|
|
|
|
|
H(TEXT("get_material_graph"), &FBlueprintMCPServer::HandleGetMaterialGraph);
|
|
|
|
|
H(TEXT("search_materials"), &FBlueprintMCPServer::HandleSearchMaterials);
|
|
|
|
|
H(TEXT("get_material_instance_params"),&FBlueprintMCPServer::HandleGetMaterialInstanceParameters);
|
|
|
|
|
H(TEXT("get_material_function"), &FBlueprintMCPServer::HandleGetMaterialFunction);
|
|
|
|
|
H(TEXT("describe_material"), &FBlueprintMCPServer::HandleDescribeMaterial);
|
|
|
|
|
H(TEXT("add_blueprint_component"), &FBlueprintMCPServer::HandleAddComponent);
|
|
|
|
|
H(TEXT("remove_blueprint_component"), &FBlueprintMCPServer::HandleRemoveComponent);
|
|
|
|
|
H(TEXT("list_blueprint_components"), &FBlueprintMCPServer::HandleListComponents);
|
|
|
|
|
H(TEXT("snapshot_blueprint_graph"), &FBlueprintMCPServer::HandleSnapshotGraph);
|
|
|
|
|
H(TEXT("diff_blueprint_graph_vs_snapshot"), &FBlueprintMCPServer::HandleDiffGraph);
|
|
|
|
|
H(TEXT("restore_blueprint_graph_from_snapshot"), &FBlueprintMCPServer::HandleRestoreGraph);
|
|
|
|
|
H(TEXT("find_pins_disconnected_since_snapshot"), &FBlueprintMCPServer::HandleFindDisconnectedPins);
|
|
|
|
|
H(TEXT("analyze_cpp_rebuild_impact"), &FBlueprintMCPServer::HandleAnalyzeRebuildImpact);
|
|
|
|
|
H(TEXT("create_struct_asset"), &FBlueprintMCPServer::HandleCreateStruct);
|
|
|
|
|
H(TEXT("create_enum_asset"), &FBlueprintMCPServer::HandleCreateEnum);
|
|
|
|
|
H(TEXT("add_struct_field"), &FBlueprintMCPServer::HandleAddStructProperty);
|
|
|
|
|
H(TEXT("remove_struct_field"), &FBlueprintMCPServer::HandleRemoveStructProperty);
|
|
|
|
|
H(TEXT("dump_material"), &FBlueprintMCPServer::HandleGetMaterial);
|
|
|
|
|
H(TEXT("dump_material_expression_graph"), &FBlueprintMCPServer::HandleGetMaterialGraph);
|
|
|
|
|
H(TEXT("search_within_materials"), &FBlueprintMCPServer::HandleSearchMaterials);
|
|
|
|
|
H(TEXT("dump_material_instance_parameters"),&FBlueprintMCPServer::HandleGetMaterialInstanceParameters);
|
|
|
|
|
H(TEXT("dump_material_function"), &FBlueprintMCPServer::HandleGetMaterialFunction);
|
|
|
|
|
H(TEXT("describe_material_in_english"), &FBlueprintMCPServer::HandleDescribeMaterial);
|
|
|
|
|
H(TEXT("find_material_references"), &FBlueprintMCPServer::HandleFindMaterialReferences);
|
|
|
|
|
H(TEXT("create_material"), &FBlueprintMCPServer::HandleCreateMaterial);
|
|
|
|
|
H(TEXT("create_material_asset"), &FBlueprintMCPServer::HandleCreateMaterial);
|
|
|
|
|
H(TEXT("set_material_property"), &FBlueprintMCPServer::HandleSetMaterialProperty);
|
|
|
|
|
H(TEXT("add_material_expression"), &FBlueprintMCPServer::HandleAddMaterialExpression);
|
|
|
|
|
H(TEXT("delete_material_expression"), &FBlueprintMCPServer::HandleDeleteMaterialExpression);
|
|
|
|
|
H(TEXT("connect_material_pins"), &FBlueprintMCPServer::HandleConnectMaterialPins);
|
|
|
|
|
H(TEXT("disconnect_material_pin"), &FBlueprintMCPServer::HandleDisconnectMaterialPin);
|
|
|
|
|
H(TEXT("set_expression_value"), &FBlueprintMCPServer::HandleSetExpressionValue);
|
|
|
|
|
H(TEXT("move_material_expression"), &FBlueprintMCPServer::HandleMoveMaterialExpression);
|
|
|
|
|
H(TEXT("create_material_instance"), &FBlueprintMCPServer::HandleCreateMaterialInstance);
|
|
|
|
|
H(TEXT("connect_material_expression_pins"), &FBlueprintMCPServer::HandleConnectMaterialPins);
|
|
|
|
|
H(TEXT("disconnect_material_expression_pin"), &FBlueprintMCPServer::HandleDisconnectMaterialPin);
|
|
|
|
|
H(TEXT("set_material_expression_property"), &FBlueprintMCPServer::HandleSetExpressionValue);
|
|
|
|
|
H(TEXT("set_material_expression_position"), &FBlueprintMCPServer::HandleMoveMaterialExpression);
|
|
|
|
|
H(TEXT("create_material_instance_asset"), &FBlueprintMCPServer::HandleCreateMaterialInstance);
|
|
|
|
|
H(TEXT("set_material_instance_parameter"), &FBlueprintMCPServer::HandleSetMaterialInstanceParameter);
|
|
|
|
|
H(TEXT("reparent_material_instance"), &FBlueprintMCPServer::HandleReparentMaterialInstance);
|
|
|
|
|
H(TEXT("create_material_function"), &FBlueprintMCPServer::HandleCreateMaterialFunction);
|
|
|
|
|
H(TEXT("snapshot_material_graph"), &FBlueprintMCPServer::HandleSnapshotMaterialGraph);
|
|
|
|
|
H(TEXT("diff_material_graph"), &FBlueprintMCPServer::HandleDiffMaterialGraph);
|
|
|
|
|
H(TEXT("restore_material_graph"), &FBlueprintMCPServer::HandleRestoreMaterialGraph);
|
|
|
|
|
H(TEXT("validate_material"), &FBlueprintMCPServer::HandleValidateMaterial);
|
|
|
|
|
H(TEXT("create_anim_blueprint"), &FBlueprintMCPServer::HandleCreateAnimBlueprint);
|
|
|
|
|
H(TEXT("add_anim_state"), &FBlueprintMCPServer::HandleAddAnimState);
|
|
|
|
|
H(TEXT("remove_anim_state"), &FBlueprintMCPServer::HandleRemoveAnimState);
|
|
|
|
|
H(TEXT("add_anim_transition"), &FBlueprintMCPServer::HandleAddAnimTransition);
|
|
|
|
|
H(TEXT("set_transition_rule"), &FBlueprintMCPServer::HandleSetTransitionRule);
|
|
|
|
|
H(TEXT("add_anim_node"), &FBlueprintMCPServer::HandleAddAnimNode);
|
|
|
|
|
H(TEXT("add_state_machine"), &FBlueprintMCPServer::HandleAddStateMachine);
|
|
|
|
|
H(TEXT("set_state_animation"), &FBlueprintMCPServer::HandleSetStateAnimation);
|
|
|
|
|
H(TEXT("list_anim_slots"), &FBlueprintMCPServer::HandleListAnimSlots);
|
|
|
|
|
H(TEXT("list_sync_groups"), &FBlueprintMCPServer::HandleListSyncGroups);
|
|
|
|
|
H(TEXT("create_blend_space"), &FBlueprintMCPServer::HandleCreateBlendSpace);
|
|
|
|
|
H(TEXT("set_blend_space_samples"), &FBlueprintMCPServer::HandleSetBlendSpaceSamples);
|
|
|
|
|
H(TEXT("set_state_blend_space"), &FBlueprintMCPServer::HandleSetStateBlendSpace);
|
|
|
|
|
H(TEXT("create_material_function_asset"), &FBlueprintMCPServer::HandleCreateMaterialFunction);
|
|
|
|
|
H(TEXT("snapshot_material_expression_graph"), &FBlueprintMCPServer::HandleSnapshotMaterialGraph);
|
|
|
|
|
H(TEXT("diff_material_graph_vs_snapshot"), &FBlueprintMCPServer::HandleDiffMaterialGraph);
|
|
|
|
|
H(TEXT("restore_material_graph_from_snapshot"), &FBlueprintMCPServer::HandleRestoreMaterialGraph);
|
|
|
|
|
H(TEXT("compile_material"), &FBlueprintMCPServer::HandleValidateMaterial);
|
|
|
|
|
H(TEXT("create_anim_blueprint_asset"), &FBlueprintMCPServer::HandleCreateAnimBlueprint);
|
|
|
|
|
H(TEXT("add_anim_state_to_machine"), &FBlueprintMCPServer::HandleAddAnimState);
|
|
|
|
|
H(TEXT("remove_anim_state_from_machine"), &FBlueprintMCPServer::HandleRemoveAnimState);
|
|
|
|
|
H(TEXT("add_anim_state_transition"), &FBlueprintMCPServer::HandleAddAnimTransition);
|
|
|
|
|
H(TEXT("set_anim_transition_rule"), &FBlueprintMCPServer::HandleSetTransitionRule);
|
|
|
|
|
H(TEXT("add_anim_graph_node"), &FBlueprintMCPServer::HandleAddAnimNode);
|
|
|
|
|
H(TEXT("add_anim_state_machine"), &FBlueprintMCPServer::HandleAddStateMachine);
|
|
|
|
|
H(TEXT("set_anim_state_animation"), &FBlueprintMCPServer::HandleSetStateAnimation);
|
|
|
|
|
H(TEXT("list_anim_slot_names"), &FBlueprintMCPServer::HandleListAnimSlots);
|
|
|
|
|
H(TEXT("list_anim_sync_groups"), &FBlueprintMCPServer::HandleListSyncGroups);
|
|
|
|
|
H(TEXT("create_blend_space_asset"), &FBlueprintMCPServer::HandleCreateBlendSpace);
|
|
|
|
|
H(TEXT("set_blend_space_sample_points"), &FBlueprintMCPServer::HandleSetBlendSpaceSamples);
|
|
|
|
|
H(TEXT("set_anim_state_blend_space"), &FBlueprintMCPServer::HandleSetStateBlendSpace);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void FBlueprintMCPServer::BuildMCPHandlerRegistry()
|
|
|
|
|
|