From 2d4ccc6d29f4fadb5a45ecae379a03491d908096 Mon Sep 17 00:00:00 2001 From: jyelon Date: Sun, 15 Mar 2026 20:04:03 -0400 Subject: [PATCH] Make parameter names more concise in the MCP --- .../Source/BlueprintMCP/Handlers/Asset_Backup.h | 2 +- .../Source/BlueprintMCP/Handlers/Asset_Delete.h | 2 +- .../BlueprintMCP/Handlers/Asset_FindReferences.h | 2 +- .../Source/BlueprintMCP/Handlers/Asset_Rename.h | 4 ++-- .../Source/BlueprintMCP/Handlers/Asset_Restore.h | 2 +- .../BlueprintMCP/Handlers/Editor_OpenAsset.h | 2 +- .../BlueprintMCP/Handlers/GraphNode_Create.h | 9 ++++----- .../BlueprintMCP/Handlers/GraphNode_Delete.h | 2 +- .../BlueprintMCP/Handlers/GraphNode_Duplicate.h | 2 +- .../BlueprintMCP/Handlers/GraphNode_GetComment.h | 2 +- .../BlueprintMCP/Handlers/GraphNode_SearchTypes.h | 2 +- .../BlueprintMCP/Handlers/GraphNode_SetComment.h | 14 +++++--------- .../BlueprintMCP/Handlers/GraphNode_SetDefaults.h | 2 +- .../BlueprintMCP/Handlers/GraphNode_SetPositions.h | 2 +- .../BlueprintMCP/Handlers/GraphPin_Connect.h | 4 ++-- .../BlueprintMCP/Handlers/GraphPin_Disconnect.h | 4 ++-- .../Handlers/MaterialInstance_ClearParameter.h | 2 +- .../Handlers/MaterialInstance_DumpParameters.h | 2 +- .../Handlers/MaterialInstance_SetParameter.h | 2 +- .../Source/BlueprintMCP/Handlers/Property_Dump.h | 5 ++--- .../Source/BlueprintMCP/Handlers/Property_Get.h | 4 ++-- .../Source/BlueprintMCP/Handlers/Property_Set.h | 5 ++--- 22 files changed, 35 insertions(+), 42 deletions(-) diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Backup.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Backup.h index 8f0e7924..9ea0c484 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Backup.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Backup.h @@ -20,7 +20,7 @@ class UMCP_Asset_Backup : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Full package path of the asset (e.g. /Game/Widgets/WB_Hotkeys)")) + UPROPERTY(meta=(Description="Asset to back up")) FString Asset; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Delete.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Delete.h index abf3c6e9..0545a501 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Delete.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Delete.h @@ -23,7 +23,7 @@ class UMCP_Asset_Delete : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Package path of the asset to delete, e.g. /Game/Foo/Bar")) + UPROPERTY(meta=(Description="Asset to delete")) FString Asset; UPROPERTY(meta=(Optional, Description="If true, skip reference check and force delete")) diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_FindReferences.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_FindReferences.h index 9ee8cbae..0efa5806 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_FindReferences.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_FindReferences.h @@ -19,7 +19,7 @@ class UMCP_Asset_FindReferences : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Asset package path to find references for, e.g. /Game/Tangibles/TAN_Tree")) + UPROPERTY(meta=(Description="Asset to find references for")) FString Asset; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Rename.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Rename.h index 094953c9..1a0e9fc7 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Rename.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Rename.h @@ -20,10 +20,10 @@ class UMCP_Asset_Rename : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Current package path of the asset, e.g. /Game/Widgets/WB_Hotkeys")) + UPROPERTY(meta=(Description="Asset to rename")) FString Asset; - UPROPERTY(meta=(Description="New package path (e.g. /Game/Widgets/WB_NewName) or just a new asset name (e.g. WB_NewName)")) + UPROPERTY(meta=(Description="New package path or just a new name")) FString NewPath; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Restore.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Restore.h index 2505578c..341a3ba3 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Restore.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Asset_Restore.h @@ -21,7 +21,7 @@ class UMCP_Asset_Restore : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Full package path of the asset (e.g. /Game/Widgets/WB_Hotkeys)")) + UPROPERTY(meta=(Description="Asset to restore")) FString Asset; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Editor_OpenAsset.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Editor_OpenAsset.h index ad0dc996..23cf2956 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Editor_OpenAsset.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Editor_OpenAsset.h @@ -19,7 +19,7 @@ class UMCP_Editor_OpenAsset : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="MCPFetcher path to the asset to open (e.g. /Game/Materials/M_Gold)")) + UPROPERTY(meta=(Description="Asset to open")) FString Asset; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Create.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Create.h index 92354a89..08ad6645 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Create.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Create.h @@ -38,17 +38,16 @@ class UMCP_GraphNode_Create : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to a graph, e.g. /Game/Foo,graph:EventGraph")) + UPROPERTY(meta=(Description="Target graph")) FString Graph; - UPROPERTY(meta=(Description="Array of {actionName, posX, posY} objects. Use GraphNodeSearchTypes to find action names.")) + UPROPERTY(meta=(Description="Array of {Type, posX, posY} objects. Use GraphNode_SearchTypes to find types.")) FMCPJsonArray Nodes; virtual FString GetDescription() const override { - return TEXT("Create nodes in any graph (Blueprint, Material, etc.) using the editor's action database. " - "Can create ANY node type that appears in the editor's right-click menu. " - "Use GraphNodeSearchTypes first to find the exact action name."); + return TEXT("Create nodes using the editor's action database. " + "Use GraphNode_SearchTypes to find types."); } virtual void Handle() override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Delete.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Delete.h index 743de1dd..9a2b8a38 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Delete.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Delete.h @@ -23,7 +23,7 @@ class UMCP_GraphNode_Delete : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to the node, e.g. /Game/Foo,graph:EventGraph,node:MyNode")) + UPROPERTY(meta=(Description="Node to delete")) FString Node; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Duplicate.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Duplicate.h index 61f3400b..530276d2 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Duplicate.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_Duplicate.h @@ -21,7 +21,7 @@ class UMCP_GraphNode_Duplicate : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to a graph, e.g. /Game/Foo,graph:EventGraph")) + UPROPERTY(meta=(Description="Target graph")) FString Graph; UPROPERTY(meta=(Description="Array of node names to duplicate (as returned by FormatName)")) diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_GetComment.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_GetComment.h index 57b853eb..1e875917 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_GetComment.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_GetComment.h @@ -19,7 +19,7 @@ class UMCP_GraphNode_GetComment : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to the node, e.g. /Game/Foo,graph:EventGraph,node:MyNode")) + UPROPERTY(meta=(Description="Target node")) FString Node; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SearchTypes.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SearchTypes.h index a999f288..fb5d16fc 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SearchTypes.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SearchTypes.h @@ -26,7 +26,7 @@ public: UPROPERTY(meta=(Optional, Description="Maximum number of results (default 50, max 500)")) int32 MaxResults = 50; - UPROPERTY(meta=(Description="MCPFetcher path to a graph, e.g. /Game/Foo,graph:EventGraph or /Game/Materials/M_Gold,graph:")) + UPROPERTY(meta=(Description="Target graph (needed for context-sensitive results)")) FString Graph; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetComment.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetComment.h index b2f6f6d1..182fc022 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetComment.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetComment.h @@ -19,7 +19,7 @@ class UMCP_GraphNode_SetComment : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to the node, e.g. /Game/Foo,node:MyNode")) + UPROPERTY(meta=(Description="Target node")) FString Node; UPROPERTY(meta=(Description="Comment text to set")) @@ -27,7 +27,8 @@ public: virtual FString GetDescription() const override { - return TEXT("Set a node's comment text. Makes the comment bubble visible if non-empty."); + return TEXT("Set a node's comment text, and make the comment visible. " + "Setting empty text will cause the comment to vanish."); } virtual void Handle() override @@ -37,13 +38,8 @@ public: if (!FoundNode) return; FoundNode->NodeComment = Comment; - - // Make the comment bubble visible if setting a non-empty comment - if (!Comment.IsEmpty()) - { - FoundNode->bCommentBubbleVisible = true; - FoundNode->bCommentBubblePinned = true; - } + FoundNode->bCommentBubbleVisible = !Comment.IsEmpty(); + FoundNode->bCommentBubblePinned = !Comment.IsEmpty(); UMCPServer::Printf(TEXT("Comment set on %s\n"), *MCPUtils::FormatName(FoundNode)); } diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetDefaults.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetDefaults.h index 38890f8f..0bbcb59e 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetDefaults.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetDefaults.h @@ -39,7 +39,7 @@ class UMCP_GraphNode_SetDefaults : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Graph path, e.g. /Game/Foo,graph:EventGraph")) + UPROPERTY(meta=(Description="Target graph")) FString Graph; UPROPERTY(meta=(Description="Array of {node, name, value} objects")) diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetPositions.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetPositions.h index 87ee61c7..b2f2bd9b 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetPositions.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphNode_SetPositions.h @@ -37,7 +37,7 @@ class UMCP_GraphNode_SetPositions : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to a graph, e.g. /Game/Foo,graph:EventGraph")) + UPROPERTY(meta=(Description="Target graph")) FString Graph; UPROPERTY(meta=(Description="Array of {node, x, y} objects")) diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Connect.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Connect.h index 505852ef..633ebfe9 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Connect.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Connect.h @@ -36,10 +36,10 @@ class UMCP_GraphPin_Connect : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to a graph, e.g. /Game/Foo,graph:EventGraph or /Game/Materials/M_Test")) + UPROPERTY(meta=(Description="Target graph")) FString Graph; - UPROPERTY(meta=(Description="Array of {sourcePin, targetPin} objects. Each pin is a path like node:MyNode,pin:Output")) + UPROPERTY(meta=(Description="Array of {sourcePin, targetPin} objects")) FMCPJsonArray Connections; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Disconnect.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Disconnect.h index cb0c85ea..f52ddc50 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Disconnect.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/GraphPin_Disconnect.h @@ -35,10 +35,10 @@ class UMCP_GraphPin_Disconnect : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Path to a graph, e.g. /Game/Foo,graph:EventGraph or /Game/Materials/M_Test")) + UPROPERTY(meta=(Description="Target graph")) FString Graph; - UPROPERTY(meta=(Description="Array of {pin, targetPin?} objects. Each pin is a path like node:MyNode,pin:Output. If targetPin is omitted, all connections on the pin are broken.")) + UPROPERTY(meta=(Description="Array of {pin, targetPin?} objects. If targetPin is omitted, all connections on the pin are broken.")) FMCPJsonArray Disconnections; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_ClearParameter.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_ClearParameter.h index f1b1eb82..ae0eb24b 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_ClearParameter.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_ClearParameter.h @@ -20,7 +20,7 @@ class UMCP_MaterialInstance_ClearParameter : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Material Instance path")) + UPROPERTY(meta=(Description="Target material instance")) FString MaterialInstance; UPROPERTY(meta=(Description="Parameter name to clear")) diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_DumpParameters.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_DumpParameters.h index 1cce628c..71f7f3b7 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_DumpParameters.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_DumpParameters.h @@ -20,7 +20,7 @@ class UMCP_MaterialInstance_DumpParameters : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Material Instance path")) + UPROPERTY(meta=(Description="Target material instance")) FString MaterialInstance; virtual FString GetDescription() const override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_SetParameter.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_SetParameter.h index b6152692..3fc928c7 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_SetParameter.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/MaterialInstance_SetParameter.h @@ -21,7 +21,7 @@ class UMCP_MaterialInstance_SetParameter : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="Material Instance path")) + UPROPERTY(meta=(Description="Target material instance")) FString MaterialInstance; UPROPERTY(meta=(Description="Parameter name to set")) diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Dump.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Dump.h index c6a7c023..38ead339 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Dump.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Dump.h @@ -20,7 +20,7 @@ class UMCP_Property_Dump : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="MCPFetcher path to the object (e.g. /Game/Materials/M_Gold or /Game/Tangibles/TAN_Char,component:Mesh0)")) + UPROPERTY(meta=(Description="Target object")) FString Object; UPROPERTY(meta=(Optional, Description="Substring filter for property names")) @@ -34,8 +34,7 @@ public: virtual FString GetDescription() const override { - return TEXT("List all blueprint-visible properties on an object resolved via MCPFetcher path, " - "showing current values and which properties are editable."); + return TEXT("List all blueprint-visible properties, showing current values and which are editable."); } virtual void Handle() override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Get.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Get.h index 7d3cf395..2acea61a 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Get.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Get.h @@ -19,7 +19,7 @@ class UMCP_Property_Get : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="MCPFetcher path to the object (e.g. /Game/Materials/M_Gold or /Game/Tangibles/TAN_Char,component:Mesh0)")) + UPROPERTY(meta=(Description="Target object")) FString Object; UPROPERTY(meta=(Description="Property name")) @@ -27,7 +27,7 @@ public: virtual FString GetDescription() const override { - return TEXT("Get the value of a single property on an object resolved via MCPFetcher path."); + return TEXT("Get the value of a single property."); } virtual void Handle() override diff --git a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Set.h b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Set.h index 6daea4f7..e80748ef 100644 --- a/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Set.h +++ b/Plugins/BlueprintMCP/Source/BlueprintMCP/Handlers/Property_Set.h @@ -19,7 +19,7 @@ class UMCP_Property_Set : public UObject, public IMCPHandler GENERATED_BODY() public: - UPROPERTY(meta=(Description="MCPFetcher path to the object (e.g. /Game/Materials/M_Gold or /Game/Tangibles/TAN_Char,component:Mesh0)")) + UPROPERTY(meta=(Description="Target object")) FString Object; UPROPERTY(meta=(Description="Object mapping property names to new values in Unreal text format")) @@ -27,8 +27,7 @@ public: virtual FString GetDescription() const override { - return TEXT("Set one or more editable properties on an object resolved via MCPFetcher path. " - "Properties is a JSON object like {\"TwoSided\": \"true\", \"BlendMode\": \"BLEND_Translucent\"}."); + return TEXT("Set one or more editable properties. Values use Unreal text format."); } virtual void Handle() override