Skip to main content
Glama

3D-MCP

by team-plask
ModelTools.h35 kB
// Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Create multiple Edges * * @param items - Array of Edges to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createEdges(const TSharedPtr<FJsonObject>& Params); /** * Get multiple Groups by IDs * * @param ids - Group identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getGroups(const TSharedPtr<FJsonObject>& Params); /** * Create bridges between face loops * * @param items - Bridge operations (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> bridge(const TSharedPtr<FJsonObject>& Params); /** * Set crease weights for edges * * @param items - Edge crease operations (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> setEdgeCreases(const TSharedPtr<FJsonObject>& Params); /** * Get multiple Meshs by IDs * * @param ids - Mesh identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getMeshs(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple Materials * * @param ids - Material identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteMaterials(const TSharedPtr<FJsonObject>& Params); /** * Get multiple SubdivisionModifiers by IDs * * @param ids - SubdivisionModifier identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getSubdivisionModifiers(const TSharedPtr<FJsonObject>& Params); /** * Create multiple Curves * * @param items - Array of Curves to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createCurves(const TSharedPtr<FJsonObject>& Params); /** * Get multiple Faces by IDs * * @param ids - Face identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getFaces(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple Curves * * @param ids - Curve identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteCurves(const TSharedPtr<FJsonObject>& Params); /** * Update multiple Curves in a single operation * * @param items - Array of Curves to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateCurves(const TSharedPtr<FJsonObject>& Params); /** * List all Curves * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listCurves(const TSharedPtr<FJsonObject>& Params); /** * Create multiple Faces * * @param items - Array of Faces to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createFaces(const TSharedPtr<FJsonObject>& Params); /** * Extrude faces * * @param items - Face extrusion operations (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> extrudeFaces(const TSharedPtr<FJsonObject>& Params); /** * Create multiple Meshs * * @param items - Array of Meshs to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createMeshs(const TSharedPtr<FJsonObject>& Params); /** * Get multiple Edges by IDs * * @param ids - Edge identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getEdges(const TSharedPtr<FJsonObject>& Params); /** * List all Meshs * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listMeshs(const TSharedPtr<FJsonObject>& Params); /** * Update multiple Meshs in a single operation * * @param items - Array of Meshs to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateMeshs(const TSharedPtr<FJsonObject>& Params); /** * Transform UV coordinates for vertices * * @param items - UV transformation operations (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> transformUVs(const TSharedPtr<FJsonObject>& Params); /** * List all UVMaps * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listUVMaps(const TSharedPtr<FJsonObject>& Params); /** * Split meshes into separate objects * * @param items - Meshes to split (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> splitMeshes(const TSharedPtr<FJsonObject>& Params); /** * List all Faces * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listFaces(const TSharedPtr<FJsonObject>& Params); /** * Get multiple Vertexs by IDs * * @param ids - Vertex identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getVertexs(const TSharedPtr<FJsonObject>& Params); /** * Assign materials to meshes or specific faces * * @param items - Material assignments to make (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> assignMaterials(const TSharedPtr<FJsonObject>& Params); /** * Update multiple Faces in a single operation * * @param items - Array of Faces to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateFaces(const TSharedPtr<FJsonObject>& Params); /** * Update multiple UVMaps in a single operation * * @param items - Array of UVMaps to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateUVMaps(const TSharedPtr<FJsonObject>& Params); /** * List all Materials * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listMaterials(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple UVMaps * * @param ids - UVMap identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteUVMaps(const TSharedPtr<FJsonObject>& Params); /** * Create multiple Materials * * @param items - Array of Materials to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createMaterials(const TSharedPtr<FJsonObject>& Params); /** * Create multiple UVMaps * * @param items - Array of UVMaps to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createUVMaps(const TSharedPtr<FJsonObject>& Params); /** * Transform multiple vertices * * @param items - Vertex transformations to apply (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> transformVertices(const TSharedPtr<FJsonObject>& Params); /** * Update multiple Edges in a single operation * * @param items - Array of Edges to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateEdges(const TSharedPtr<FJsonObject>& Params); /** * Generate UV coordinates using automatic unwrapping * * @param items - UV unwrapping operations (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> unwrapUVs(const TSharedPtr<FJsonObject>& Params); /** * List all Edges * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listEdges(const TSharedPtr<FJsonObject>& Params); /** * List all Groups * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listGroups(const TSharedPtr<FJsonObject>& Params); /** * List all Vertexs * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listVertexs(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple Vertexs * * @param ids - Vertex identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteVertexs(const TSharedPtr<FJsonObject>& Params); /** * Update multiple Materials in a single operation * * @param items - Array of Materials to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateMaterials(const TSharedPtr<FJsonObject>& Params); /** * Update multiple Groups in a single operation * * @param items - Array of Groups to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateGroups(const TSharedPtr<FJsonObject>& Params); /** * Create multiple SubdivisionModifiers * * @param items - Array of SubdivisionModifiers to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createSubdivisionModifiers(const TSharedPtr<FJsonObject>& Params); /** * Create multiple Vertexs * * @param items - Array of Vertexs to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createVertexs(const TSharedPtr<FJsonObject>& Params); /** * Get multiple Curves by IDs * * @param ids - Curve identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getCurves(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple SubdivisionModifiers * * @param ids - SubdivisionModifier identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteSubdivisionModifiers(const TSharedPtr<FJsonObject>& Params); /** * Get multiple Materials by IDs * * @param ids - Material identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getMaterials(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple Groups * * @param ids - Group identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteGroups(const TSharedPtr<FJsonObject>& Params); /** * Create multiple Groups * * @param items - Array of Groups to create (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createGroups(const TSharedPtr<FJsonObject>& Params); /** * Update multiple SubdivisionModifiers in a single operation * * @param items - Array of SubdivisionModifiers to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateSubdivisionModifiers(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple Faces * * @param ids - Face identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteFaces(const TSharedPtr<FJsonObject>& Params); /** * Get multiple UVMaps by IDs * * @param ids - UVMap identifiers (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getUVMaps(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple Meshs * * @param ids - Mesh identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteMeshs(const TSharedPtr<FJsonObject>& Params); /** * Bevel edges or vertices * * @param items - Bevel operations (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> bevel(const TSharedPtr<FJsonObject>& Params); /** * List all SubdivisionModifiers * * @param parentId - Optional parent ID to filter by (FString) * @param filters - Optional filters to apply (TSharedPtr<FJsonObject>) * @param limit - Maximum number of results (int32) * @param offset - Starting offset for pagination (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> listSubdivisionModifiers(const TSharedPtr<FJsonObject>& Params); /** * Delete multiple Edges * * @param ids - Edge identifiers to delete (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteEdges(const TSharedPtr<FJsonObject>& Params); /** * Update multiple Vertexs in a single operation * * @param items - Array of Vertexs to update with their IDs (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> updateVertexs(const TSharedPtr<FJsonObject>& Params); /** * Combine multiple meshes into a single mesh * * @param meshIds - IDs of meshes to combine (TArray<TSharedPtr<FJsonValue>>) * @param name - Name for the combined mesh (FString) * @param preserveSubMeshes - Whether to preserve material assignments as submeshes (bool) * @param worldSpace - Whether to combine in world space or local space (bool) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> combineMeshes(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Delete selected vertices, edges, or faces * * @param ids - IDs of structures to delete (TArray<TSharedPtr<FJsonValue>>) * @param type - The type parameter (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> delete(const TSharedPtr<FJsonObject>& Params); /** * Delete only selected edges, keeping vertices * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteOnlyEdges(const TSharedPtr<FJsonObject>& Params); /** * Delete only selected faces, keeping edges and vertices * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteOnlyFaces(const TSharedPtr<FJsonObject>& Params); /** * Dissolve selected vertices, edges, or faces * * @param ids - IDs of structures to dissolve (TArray<TSharedPtr<FJsonValue>>) * @param type - The type parameter (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> dissolve(const TSharedPtr<FJsonObject>& Params); /** * Starts a modeling operation * * @param meshIds - The meshIds parameter (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> editStart(const TSharedPtr<FJsonObject>& Params); /** * Stops a modeling operation * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> editStop(const TSharedPtr<FJsonObject>& Params); /** * Extrude selected vertices, edges, or faces * * @param offset - Extrusion offset vector (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> extrude(const TSharedPtr<FJsonObject>& Params); /** * Get selected geometry structures * * @param type - The type parameter (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getSelect(const TSharedPtr<FJsonObject>& Params); /** * Inset selected faces * * @param items - Inset operations (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> inset(const TSharedPtr<FJsonObject>& Params); /** * Sets the current geometry structure to edit (vertex, edge, face) * * @param mode - The mode parameter (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> setMode(const TSharedPtr<FJsonObject>& Params); /** * Select or deselect geometry structures * * @param ids - IDs of structures to select (TArray<TSharedPtr<FJsonValue>>) * @param type - The type parameter (FString) * @param mode - Selection mode (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> setSelect(const TSharedPtr<FJsonObject>& Params); /** * Subdivide selected edges or faces * * @param count - Number of subdivisions (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> subdivide(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Get geometry data for the current edited mesh * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getGeometry(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Delete only selected edges and faces, keeping vertices * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteOnlyEdgesAndFaces(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Add primitive shapes to the scene * * @param type - Type of primitive to add (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> addPrimitives(const TSharedPtr<FJsonObject>& Params); /** * Add a subsurface modifier to a mesh and set its level * * @param meshId - ID of the mesh to modify (FString) * @param level - Subdivision level (int32) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> addSubsurfModifierLevel(const TSharedPtr<FJsonObject>& Params); /** * Bridge two selected edge loops to create faces * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> bridgeEdgeLoops(const TSharedPtr<FJsonObject>& Params); /** * Create an edge between two selected vertices * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createEdge(const TSharedPtr<FJsonObject>& Params); /** * Create an edge loop on a mesh * * @param edgeId - ID of the edge to create a loop from (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createEdgeLoop(const TSharedPtr<FJsonObject>& Params); /** * Create a face from selected vertices or edges * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createFace(const TSharedPtr<FJsonObject>& Params); /** * Slide selected edges along their adjacent edges * * @param edgeId - IDs of edge to slide along (FString) * @param factor - Sliding factor (-1 to 1) (double) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> edgeSlide(const TSharedPtr<FJsonObject>& Params); /** * Select an edge loop * * @param edgeId - ID of an edge in the loop (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> selectEdgeLoop(const TSharedPtr<FJsonObject>& Params); /** * Select an edge ring * * @param edgeId - ID of an edge in the ring (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> selectEdgeRing(const TSharedPtr<FJsonObject>& Params); /** * Apply transformations (translate, rotate, scale) to selected elements * * @param translation - Translation vector (TArray<TSharedPtr<FJsonValue>>) * @param rotation - Rotation vector (Euler angles) (TArray<TSharedPtr<FJsonValue>>) * @param scale - Scaling vector (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> transform(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Extrude selected faces along their normals * * @param distance - Extrusion distance (double) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> extrudeAlongNormals(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Create a face or an edge from selected vertices or edges. Wether a face or an edge is created depends on how many vertices or edges are selected. * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createFaceOrEdge(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Set all parameters of a BSDF material * * @param materialId - Material identifier (FString) * @param parameters - Parameters to tweak (TSharedPtr<FJsonObject>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> setMaterialParameters(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Add primitive shapes to the scene * * @param type - Type of primitive to add (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createMeshFromPrimitive(const TSharedPtr<FJsonObject>& Params); /** * Delete selected vertices, edges, or faces * * @param type - The type parameter (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteGeometry(const TSharedPtr<FJsonObject>& Params); /** * Delete a mesh from the scene * * @param meshId - ID of the mesh to delete (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteMesh(const TSharedPtr<FJsonObject>& Params); /** * Get selected vertices, edges, or faces * * @param type - The type parameter (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getSelectedGeometry(const TSharedPtr<FJsonObject>& Params); /** * Select or deselect vertices, edges, or faces * * @param ids - IDs of structures to select (TArray<TSharedPtr<FJsonValue>>) * @param type - The type parameter (FString) * @param mode - Selection mode (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> setSelectedGeometry(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Create a light source (object) in the scene * * @param type - Light type (FString) * @param color - Light color (RGB) (TArray<TSharedPtr<FJsonValue>>) * @param intensity - Light intensity (double) * @param position - Light position (TArray<TSharedPtr<FJsonValue>>) * @param direction - Light direction (TArray<TSharedPtr<FJsonValue>>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> createLight(const TSharedPtr<FJsonObject>& Params); /** * Delete an object from the scene * * @param id - ID of the object to delete (FString) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> deleteObject(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Set geometry data for the current edited mesh * * @param geometryData - Geometry data (TSharedPtr<FJsonObject>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> setGeometry(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Set geometry data for the current edited mesh * * @param geometryData - Geometry data (TSharedPtr<FJsonObject>) * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> setGeometryde(const TSharedPtr<FJsonObject>& Params); }; // === NEWLY GENERATED === // Generated Unreal Engine implementation for model atomic tools // This file is generated - DO NOT EDIT DIRECTLY #pragma once #include "CoreMinimal.h" #include "MCPToolsBase.h" #include "ModelTools.generated.h" /** * Unreal Engine implementation of the model tools for MCP protocol */ UCLASS() class MCPPLUGIN_API UMCPModelTools : public UMCPToolsBase { GENERATED_BODY() public: UMCPModelTools(); virtual void RegisterTools() override; /** * Get geometry data for the current edited mesh * * @return Response object with operation results */ UFUNCTION() TSharedPtr<FJsonObject> getGeometryse(const TSharedPtr<FJsonObject>& Params); };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/team-plask/3d-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server