Skip to main content
Glama

add_static_mesh_socket

Add a socket to a UStaticMesh asset with optional relative location, rotation, scale, and tag, then save the mesh. Use to create attachment points for components or effects.

Instructions

Add a new socket to a UStaticMesh asset (package or object path) with an optional relative location, rotation, scale and tag, then save the mesh; no undo transaction. A socket_name the mesh already has is an error, and so is a location, rotation or scale that is not three numbers; both are checked before the mesh is touched. A failed save is an error, yet the socket stays on the mesh in memory. Edit an existing socket with set_static_mesh_socket_transform or rename_static_mesh_socket; list them with get_static_mesh_sockets; skeletal meshes use add_skeletal_mesh_socket.

Returns: { socket_name, socket_count, location_x, location_y, location_z, scale_x, scale_y, scale_z, tag }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagNoFree-form socket tag string (optional)
scaleNoSocket relative scale as [x, y, z] (optional; defaults to 1,1,1)
locationNoSocket relative location as [x, y, z] (optional)
rotationNoPREFERRED: the OBJECT {"roll":R,"pitch":P,"yaw":Y} (any subset, absent axes are 0). The ARRAY form below is [pitch, yaw, roll] -- its index 2 is ROLL, NOT yaw, which once put a PlayerStart on its side. Socket relative rotation as [pitch, yaw, roll] (optional)
socket_nameYesName for the new socket.
static_mesh_pathYesContent path to the UStaticMesh asset.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly=false, destructive=false, idempotent=false); the description adds materially more: no undo transaction, duplicate socket_name is an error, malformed transform is an error, both validated before the mesh is touched, and a failed save is an error while the socket persists in memory. No contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and resource, followed by error semantics, sibling routing, and a return shape. Dense but every clause carries operational value; the middle error sentence is somewhat packed but justified.

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

Completeness5/5

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

For a 6-parameter mutation with no output schema, the description supplies the return shape (socket_name, socket_count, coordinates, tag), error conditions, persistence behavior on failed save, and the absence of an undo transaction — everything an agent needs to call it correctly and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100% and the schema already documents location/rotation/scale/tag formats, defaults, and the array-vs-object rotation pitfall. The description only restates them as 'optional relative location, rotation, scale and tag,' adding little beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: 'Add a new socket to a UStaticMesh asset,' with the asset path form and the optional transform/tag payload spelled out. It explicitly distinguishes itself from add_skeletal_mesh_socket (skeletal meshes), set_static_mesh_socket_transform/rename_static_mesh_socket (editing), and get_static_mesh_sockets (listing).

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

Usage Guidelines5/5

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

Routes the agent to named alternatives with their conditions: edit an existing socket with set_static_mesh_socket_transform or rename_static_mesh_socket, list with get_static_mesh_sockets, and use add_skeletal_mesh_socket for skeletal meshes. This is explicit when-to-use/when-to-use-something-else guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools