agentux

System methods (ping, method listing, capabilities, safety checks)

← API Reference

agentux.ping

Health check -- returns plugin version, UE version, and uptime.

No parameters.

Returns:

Name Type Description
versionstringPlugin version (e.g. "2.4.0")
ue_versionstringUnreal Engine version string
uptime_secondsnumberSeconds since plugin started

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "agentux.ping" }

Example Response:

{
  "jsonrpc": "2.0", "id": 1,
  "result": { "version": "2.4.0", "ue_version": "5.7.2-0+++UE5+Release-5.7", "uptime_seconds": 42.5 }
}

agentux.methods.list

Returns an array of all registered JSON-RPC method names.

No parameters.

Returns: Array of strings (method names).

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "agentux.methods.list" }

Example Response:

{
  "jsonrpc": "2.0", "id": 1,
  "result": ["agentux.ping", "agentux.methods.list", "agentux.capabilities", "editor.state.getSelection", "..."]
}

agentux.capabilities

Returns available subsystems and their status -- useful for clients to discover what features are available.

No parameters.

Returns:

Name Type Description
versionstringPlugin version
ue_versionstringUnreal Engine version string
editor_controlbooleanAlways true -- editor control is available
method_countnumberTotal registered JSON-RPC methods
subsystemsobjectPlugin-dependent subsystem status
graphragstring"use agentux.graphrag.status for details"

Subsystems object fields:

Key Values Description
niagara"loaded" / "not_loaded"Niagara VFX plugin
pcg"loaded" / "not_loaded"Procedural Content Generation plugin
landscape"loaded" / "not_loaded"Landscape module
sequencer"loaded" / "not_loaded"Level Sequence Editor plugin
remote_control"loaded" / "not_loaded"Remote Control plugin
source_control"loaded" / "not_loaded"Source Control module

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "agentux.capabilities" }

Example Response:

{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "version": "3.0.0",
    "ue_version": "5.7.2-0+++UE5+Release-5.7",
    "editor_control": true,
    "method_count": 471,
    "subsystems": {
      "niagara": "loaded",
      "pcg": "loaded",
      "landscape": "loaded",
      "sequencer": "loaded",
      "remote_control": "loaded",
      "source_control": "loaded"
    },
    "graphrag": "use agentux.graphrag.status for details"
  }
}

agentux.graphrag.status

Reports GraphRAG availability -- checks Neo4j connectivity, MCP config, server files, ONNX model, and LanceDB data.

No parameters.

Returns:

Name Type Description
statusstringOverall status: "available", "partially_configured", or "not_configured"
neo4j_connectedbooleanWhether Neo4j is reachable on bolt port 7687
neo4j_portnumberNeo4j bolt port checked (7687)
mcp_config_foundbooleanWhether the GraphRAG MCP config file exists
mcp_config_pathstringPath to the MCP config file (if configured)
filesobjectFile/directory existence checks

Files object fields:

Key Type Description
mcp_serverbooleanWhether GraphRAG/mcp_server/server.py exists
onnx_modelbooleanWhether the ONNX embedding model exists
lancedb_databooleanWhether the LanceDB data directory exists
graphrag_dirstringDetected GraphRAG installation directory (if found)

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "agentux.graphrag.status" }

Example Response (available):

{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "status": "available",
    "neo4j_connected": true,
    "neo4j_port": 7687,
    "mcp_config_found": true,
    "mcp_config_path": "<install_dir>/GraphRAG/mcp_config.json",
    "files": {
      "mcp_server": true,
      "onnx_model": true,
      "lancedb_data": true,
      "graphrag_dir": "<install_dir>/GraphRAG"
    }
  }
}

Example Response (not configured):

{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "status": "not_configured",
    "neo4j_connected": false,
    "neo4j_port": 7687,
    "mcp_config_found": false,
    "files": {
      "mcp_server": false,
      "onnx_model": false,
      "lancedb_data": false
    }
  }
}

agentux.safety.check

Proactively check safety preconditions for an operation before attempting it. Returns hardcoded guard results (pass/fail) and GraphRAG-sourced preconditions when available.

Parameters:

Name Type Required Description
operationstringYesThe JSON-RPC method name to check (e.g. "editor.level.save")

Returns:

Name Type Description
operationstringThe operation that was checked
registeredbooleanWhether the operation is a known registered method
mutatingbooleanWhether the operation mutates editor state
verdictstring"safe" or "unsafe" -- overall safety verdict
hardcoded_guardsarrayArray of guard check results
graphrag_availablebooleanWhether GraphRAG safety knowledge was queried
preconditionsarrayArray of precondition objects from GraphRAG

Guard check entry fields:

Name Type Description
guardstringGuard name ("pie_active", "garbage_collecting")
messagestringHuman-readable description
statusstring"pass" (safe) or "fail" (unsafe)

Precondition entry fields:

Name Type Description
checkstringWhat must be true before calling the function
remedystringWhat to do if the check fails
prioritystring"critical", "high", or "medium"
sourcestring"assertion", "documentation", or "manual"

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "agentux.safety.check", "params": { "operation": "editor.level.save" } }

Example Response (safe):

{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "operation": "editor.level.save",
    "registered": true,
    "mutating": true,
    "verdict": "safe",
    "hardcoded_guards": [
      { "guard": "pie_active", "message": "PIE is not running", "status": "pass" },
      { "guard": "garbage_collecting", "message": "GC is not running", "status": "pass" }
    ],
    "graphrag_available": true,
    "preconditions": [
      {
        "check": "World Partition must not be initializing",
        "remedy": "Wait for World Partition streaming to complete before saving",
        "priority": "critical",
        "source": "assertion"
      }
    ]
  }
}

Example Response (unsafe -- PIE running):

{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "operation": "editor.level.save",
    "registered": true,
    "mutating": true,
    "verdict": "unsafe",
    "hardcoded_guards": [
      { "guard": "pie_active", "message": "Cannot perform this operation while Play-in-Editor is active. Call editor.pie.stop first, then retry.", "status": "fail" },
      { "guard": "garbage_collecting", "message": "GC is not running", "status": "pass" }
    ],
    "graphrag_available": false,
    "preconditions": []
  }
}

agentux.safety.status

Returns a dashboard of current editor safety state -- PIE status, garbage collection, World Partition initialization, compiling blueprints, and GraphRAG safety coverage.

No parameters.

Returns:

Name Type Description
pie_activebooleanWhether Play-in-Editor is currently running
gc_runningbooleanWhether garbage collection is in progress
world_partitionobjectWorld Partition state
blueprints_compilingnumberCount of blueprints currently compiling or queued
compiling_blueprintsarrayDetails of each compiling blueprint
graphrag_safetyobjectGraphRAG safety oracle status
verdictstring"safe" or "unsafe" -- overall editor safety state
issuesarrayActionable messages describing each active issue

world_partition object:

Name Type Description
enabledbooleanWhether the current world uses World Partition
initializedbooleanWhether World Partition has finished initializing
worldstringName of the current editor world

compiling_blueprints entry:

Name Type Description
namestringBlueprint asset name
pathstringFull object path
statestring"compiling" or "queued"

graphrag_safety object:

Name Type Description
availablebooleanWhether the GraphRAG safety oracle is connected
cached_queriesnumberNumber of cached safety query results this session
statusstring"connected", "unavailable", or "no_oracle"

Example Request:

{ "jsonrpc": "2.0", "id": 1, "method": "agentux.safety.status" }

Example Response (all clear):

{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "pie_active": false,
    "gc_running": false,
    "world_partition": {
      "enabled": true,
      "initialized": true,
      "world": "MyOpenWorld"
    },
    "blueprints_compiling": 0,
    "compiling_blueprints": [],
    "graphrag_safety": {
      "available": true,
      "cached_queries": 12,
      "status": "connected"
    },
    "verdict": "safe",
    "issues": []
  }
}

Example Response (unsafe -- PIE running, blueprint compiling):

{
  "jsonrpc": "2.0", "id": 1,
  "result": {
    "pie_active": true,
    "gc_running": false,
    "world_partition": {
      "enabled": false,
      "initialized": false,
      "world": "TestMap"
    },
    "blueprints_compiling": 1,
    "compiling_blueprints": [
      { "name": "BP_MyActor", "path": "/Game/Blueprints/BP_MyActor", "state": "compiling" }
    ],
    "graphrag_safety": {
      "available": false,
      "cached_queries": 0,
      "status": "unavailable"
    },
    "verdict": "unsafe",
    "issues": [
      "Play-in-Editor is active. Call editor.pie.stop before mutating operations.",
      "1 blueprint(s) are compiling. Wait for compilation to finish."
    ]
  }
}