Skip to main content
Glama

evaluate_chooser_table

Read-onlyIdempotent

Run a UChooserTable headlessly to return the single chosen result, using context_object_path to seed evaluation and report fallback when no context property matches.

Instructions

Actually RUN a UChooserTable and get the SINGLE chosen result -- the way to test a chooser you just authored without opening the editor. Headless-safe: it is a pure runtime API, so it needs no PIE and no render. Pass context_object_path (any UObject in the editor world) to seed the evaluation context. A table with no columns, or one where no context property matches, falls through to the table's FallbackResult (reported as fallback_used); a table that matches nothing and has no fallback returns null. Use evaluate_chooser_table_multi when you want EVERY matching result instead of the first.

Returns: { table_path, evaluated, result_object_path, result_object_class, fallback_used, note? }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
table_pathYesLong package path of an existing UChooserTable.
object_classNoOptional UClass path for the expected result type (default = /Script/Engine.Object).
context_object_pathNoOptional UObject path used to seed the evaluation context.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already establish readOnly/idempotent/non-destructive, yet the description adds substantial behavior beyond them: it is headless-safe (no PIE, no render), explains fallback resolution and the fallback_used flag, and defines the null return when there is no fallback. This is exactly the kind of runtime semantics annotations cannot convey.

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

Conciseness5/5

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

Front-loaded with the core action, then progressively the safety context, fallback behavior, and the sibling alternative. No filler sentences; each clause adds information. The Returns block is justified because no output schema exists.

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?

With no output schema, the description supplies the full return contract (table_path, evaluated, result_object_path, result_object_class, fallback_used, note?), plus the edge-case semantics. Combined with 100% schema coverage, an agent has everything needed to call and interpret this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning: it explains that context_object_path seeds the evaluation context using 'any UObject in the editor world', which clarifies the parameter's role beyond the schema text. object_class and table_path are left to the schema.

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?

States a specific verb (RUN/evaluate) plus resource (UChooserTable) and scope ('the SINGLE chosen result'), and explicitly contrasts itself with evaluate_chooser_table_multi. An agent can distinguish it from sibling chooser tools without opening any schema.

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?

Gives the motivating context ('test a chooser you just authored without opening the editor') and an explicit alternative with its selecting condition ('use evaluate_chooser_table_multi when you want EVERY matching result'). When-to-use and when-to-use-other are both covered.

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