ezEngine Release 26.9
Loading...
Searching...
No Matches
ezMcpRttiTool Class Reference

Exposes the reflection data, so an agent can find out which types exist and what they look like. More...

#include <McpRttiTool.h>

Inheritance diagram for ezMcpRttiTool:

Public Member Functions

virtual void GetSupportedTools (ezDynamicArray< ezMcpToolDesc > &out_tools) const override
 Appends the description of every tool that this provider implements.
 
virtual void Execute (ezStringView sToolName, const ezVariantDictionary &arguments, ezMcpToolResult &out_result) override
 Executes one of the tools returned by GetSupportedTools().
 
- Public Member Functions inherited from ezMcpToolProvider
virtual void OnActivate ()
 Called once, right after the provider was instantiated. Use it to hook into the editor.
 
virtual void OnDeactivate ()
 Called once, before the provider is destroyed.
 
- Public Member Functions inherited from ezReflectedClass
virtual const ezRTTIGetDynamicRTTI () const
 
bool IsInstanceOf (const ezRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
 
template<typename T >
EZ_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.
 

Additional Inherited Members

- Static Public Member Functions inherited from ezNoBase
static const ezRTTIGetStaticRTTI ()
 

Detailed Description

Exposes the reflection data, so an agent can find out which types exist and what they look like.

Split into four narrow tools rather than one, because the codebase has well over a thousand reflected types: a single 'dump everything' call would cost more tokens than a client can spend and would bury whatever was actually asked for. The intended flow is rtti_find_types to narrow down to a few names, then the detail tools for those.

Host independent, hence concrete and living in the Mcp library: reflection is the same system in a game as in the editor, and it is how an agent finds out what a component or a game's own types look like. Whatever the host has registered by the time of the call is what gets reported - in the editor that includes the phantom types ezPhantomRttiManager puts into ezRTTI, which the same traversal picks up without having to know about them.

Member Function Documentation

◆ Execute()

void ezMcpRttiTool::Execute ( ezStringView  sToolName,
const ezVariantDictionary arguments,
ezMcpToolResult out_result 
)
overridevirtual

Executes one of the tools returned by GetSupportedTools().

Parameters
sToolNameThe tool to run. A provider with a single tool may ignore this.
argumentsThe 'arguments' object of the call. Missing and mistyped values are normal - the client is an AI and will get this wrong. Validate and report through out_result.

Implements ezMcpToolProvider.

◆ GetSupportedTools()

void ezMcpRttiTool::GetSupportedTools ( ezDynamicArray< ezMcpToolDesc > &  out_tools) const
overridevirtual

Appends the description of every tool that this provider implements.

Implements ezMcpToolProvider.


The documentation for this class was generated from the following files: