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 nametype— CPP type string (e.g.bool,int32,FString,UStaticMeshComponent*)category— editor categorydefault— default valueis_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
| Parameter | Type | Default | Description |
|---|---|---|---|
graph_name | string | EventGraph | Name of the graph to read |
Returns all nodes in the specified graph with their node type, title, and ID.
get_node_details
| Parameter | Type | Description |
|---|---|---|
node_id | string | Node 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
| Parameter | Type | Default | Description |
|---|---|---|---|
page | int | 0 | Page index |
page_size | int | 100 | Rows per page (max 1000) |
Returns DataTable rows as JSON objects.
get_data_table_row
| Parameter | Type | Description |
|---|---|---|
row_name | string | Row 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.
Blueprint variable operations register an undo transaction — you can Ctrl+Z them. DataTable operations and Python scripts may not be fully reversible.
add_variable
| Parameter | Type | Description |
|---|---|---|
name | string | New variable name |
type | string | Type string (e.g. bool, int32, FVector) |
category | string | (optional) Editor category |
default_value | string | (optional) Default value |
Creates a new member variable in the focused Blueprint.
rename_variable
| Parameter | Type | Description |
|---|---|---|
old_name | string | Current variable name |
new_name | string | New variable name |
Renames the variable and updates all references in the graph automatically.
delete_variable
| Parameter | Type | Description |
|---|---|---|
name | string | Variable 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
| Parameter | Type | Description |
|---|---|---|
name | string | Variable name |
tooltip | string | (optional) New tooltip text |
category | string | (optional) New category |
add_data_table_row
| Parameter | Type | Description |
|---|---|---|
row_name | string | FName for the new row |
row_data | object | JSON object matching the row struct |
add_data_table_rows_batch
| Parameter | Type | Description |
|---|---|---|
rows | array | Array of {row_name, row_data} objects |
Adds multiple rows in one operation.
update_data_table_row
| Parameter | Type | Description |
|---|---|---|
row_name | string | Row to update |
row_data | object | Fields to set (partial update supported) |
rename_data_table_row
| Parameter | Type | Description |
|---|---|---|
old_name | string | Current row name |
new_name | string | New row name |
delete_data_table_row
| Parameter | Type | Description |
|---|---|---|
row_name | string | Row to delete |
rearrange_graph
| Parameter | Type | Description |
|---|---|---|
graph_name | string | Graph to rearrange |
layout | array | Array of {node_id, x, y} position objects |
Repositions nodes in the Blueprint graph.
add_comment
| Parameter | Type | Description |
|---|---|---|
graph_name | string | Target graph |
comment | string | Comment text |
x, y | number | Position in graph |
width, height | number | Comment box size |
Adds a comment node to the Blueprint graph.
run_python
| Parameter | Type | Description |
|---|---|---|
script | string | Python 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.
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.