Skip to main content

MCP Tools Reference

All tools are available in Claude Code mode only. They are exposed via the local MCP server and called automatically by Claude when it needs project information or wants to make changes.

Tools return a JSON object with ok: true/false and either a payload (success) or error (failure) field.


Read-only tools

These tools never modify anything. They do not trigger confirmation dialogs.

ping

Test that the MCP connection is alive.

get_active_context

Returns the type, name, and asset path of the currently focused editor tab.

{
"ok": true,
"payload": {
"type": "Blueprint",
"name": "BP_Character",
"path": "/Game/Characters/BP_Character"
}
}

Possible types: Blueprint, DataTable, Other


list_blueprint_variables

Lists all member variables of the focused Blueprint.

Returns per variable:

  • name — variable name
  • type — CPP type string (e.g. bool, int32, FString, UStaticMeshComponent*)
  • category — editor category
  • default — default value
  • is_used — whether the variable is referenced anywhere in the graph

list_blueprint_functions

Lists all function graphs, macro graphs, and event graphs in the focused Blueprint.


get_graph_nodes

ParameterTypeDefaultDescription
graph_namestringEventGraphName of the graph to read

Returns all nodes in the specified graph with their node type, title, and ID.


get_node_details

ParameterTypeDescription
node_idstringNode GUID from get_graph_nodes

Returns full details for a single node: all pins, links, and default values.


get_data_table_struct

Returns the schema of the focused DataTable's row struct: field names, types, and tooltips.


list_data_table_rows

ParameterTypeDefaultDescription
pageint0Page index
page_sizeint100Rows per page (max 1000)

Returns DataTable rows as JSON objects.


get_data_table_row

ParameterTypeDescription
row_namestringRow name (FName) to retrieve

Returns a single row as a JSON object.


Destructive tools

These tools modify your project. Unless Auto-approve MCP tools is enabled in settings, each call shows a confirmation dialog before executing.

Undo support

Blueprint variable operations register an undo transaction — you can Ctrl+Z them. DataTable operations and Python scripts may not be fully reversible.


add_variable

ParameterTypeDescription
namestringNew variable name
typestringType string (e.g. bool, int32, FVector)
categorystring(optional) Editor category
default_valuestring(optional) Default value

Creates a new member variable in the focused Blueprint.


rename_variable

ParameterTypeDescription
old_namestringCurrent variable name
new_namestringNew variable name

Renames the variable and updates all references in the graph automatically.


delete_variable

ParameterTypeDescription
namestringVariable name to delete

Deletes the variable. Confirmation required.


delete_unused_variables

Finds all unreferenced variables and presents them for review before deleting.


set_variable_metadata

ParameterTypeDescription
namestringVariable name
tooltipstring(optional) New tooltip text
categorystring(optional) New category

add_data_table_row

ParameterTypeDescription
row_namestringFName for the new row
row_dataobjectJSON object matching the row struct

add_data_table_rows_batch

ParameterTypeDescription
rowsarrayArray of {row_name, row_data} objects

Adds multiple rows in one operation.


update_data_table_row

ParameterTypeDescription
row_namestringRow to update
row_dataobjectFields to set (partial update supported)

rename_data_table_row

ParameterTypeDescription
old_namestringCurrent row name
new_namestringNew row name

delete_data_table_row

ParameterTypeDescription
row_namestringRow to delete

rearrange_graph

ParameterTypeDescription
graph_namestringGraph to rearrange
layoutarrayArray of {node_id, x, y} position objects

Repositions nodes in the Blueprint graph.


add_comment

ParameterTypeDescription
graph_namestringTarget graph
commentstringComment text
x, ynumberPosition in graph
width, heightnumberComment box size

Adds a comment node to the Blueprint graph.


run_python

ParameterTypeDescription
scriptstringPython code to execute via Unreal's Python Script Plugin

Executes arbitrary Python in the Unreal Python environment. Has access to unreal module and all its APIs.

Powerful and irreversible

run_python can do anything the Python Script Plugin can do — including deleting assets, modifying levels, and writing files. Use confirmation dialogs or auto-approve sparingly.