Skip to main content
Glama
SmartBear

SmartBear MCP server

Official
by SmartBear

QMetry: Fetch Cascade Child Values

qmetry_fetch_cascade_child_values
Read-onlyIdempotent

Retrieve valid child item IDs for a CASCADINGLIST UDF by providing the parent item ID, ensuring correct values before bulk-updating test runs.

Instructions

Fetch the child values of a CASCADINGLIST UDF field for a given parent item ID. Use this before bulk-updating a CASCADINGLIST Test Run UDF to discover valid child item IDs.

Toolset: UDF

Parameters:

  • projectKey (string): Project key - unique identifier for the project (default: "default")

  • id (number) required: Numeric ID of the parent cascade list item to fetch child values for. Get this from the 'lookupOptions' returned by 'Fetch Test Run UDF Metadata' for a CASCADINGLIST field — each option has an 'id' field.

  • isArchReq (boolean): Whether to include archived child items in the response (default: false). (default: false)

Output Description: JSON object with 'parentId' (the input ID), 'parentName' (the parent item's display name), 'children' array (each item has id, name, uniqueLabel, isArchived), and a '_note' explaining how to use the IDs.

Use Cases: 1. Find valid child values for a CASCADINGLIST UDF before bulk-updating test runs 2. List all child options available under a specific parent cascade item 3. Resolve child item ID when user knows the parent but not the child 4. Discover cascade hierarchy for a UDF field before setting it on test executions

Examples:

  1. Fetch child values for parent cascade item with ID 5173534

{
  "id": 5173534
}

Expected Output: { parentId: 5173534, parentName: "India", children: [{ id: 5173535, name: "i1", uniqueLabel: "i1", isArchived: false }, ...], _note: "Use 'id' from 'children' as the 'child' value in the CASCADINGLIST update." }

  1. Fetch child values including archived items for parent ID 5126498

{
  "id": 5126498,
  "isArchReq": true
}

Expected Output: { parentId: 5126498, parentName: "abc", children: [...], _note: "..." }

Hints: 1. MANDATORY WORKFLOW for CASCADINGLIST bulk update:

  1. Call 'Fetch Test Run UDF Metadata' → get the CASCADINGLIST field's 'fieldID' (projectUserFieldID) and parent item options from 'lookupOptions'.

  2. Call this tool ('Fetch Cascade Child Values') with a parent item 'id' from step 1 → get child item IDs.

  3. Call 'Bulk Update Test Run UDFs' with value: { parent: , child: } and the 'fieldID' from step 1. 2. The parent item IDs are in the 'lookupOptions' map returned by 'Fetch Test Run UDF Metadata'. Each entry under the field's listName contains items with 'id' — use that 'id' as the 'id' parameter here. IMPORTANT: If 'lookupOptions' from Fetch Test Run UDF Metadata is empty for the CASCADINGLIST field, the API did not return parent options. In this case, ask the user to provide the parent item ID from the QMetry UI — do NOT guess. 3. The response 'children' array contains objects with 'id', 'name', 'uniqueLabel', and 'isArchived'. Use 'id' as the 'child' value in the bulk update payload. 4. Set 'isArchReq: true' only if the user explicitly asks to include archived/inactive child options. 5. This endpoint requires 'scope' and 'orgcode' headers — these are injected automatically from the session context when 'Set Project Info' has been called. If you see an authorization error, call 'Set Project Info' first. 6. Do NOT call this tool for STRING, NUMBER, DATETIMEPICKER, LOOKUPLIST, or MULTILOOKUPLIST fields — only CASCADINGLIST (fieldType: 'CASCADINGLIST') fields have a parent-child hierarchy.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesNumeric ID of the parent cascade list item to fetch child values for. Get this from the 'lookupOptions' returned by 'Fetch Test Run UDF Metadata' for a CASCADINGLIST field — each option has an 'id' field.
isArchReqNoWhether to include archived child items in the response (default: false).
projectKeyNoProject key - unique identifier for the projectdefault
Install Server

TDQS

A4.8/5.0
Behavior5/5

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

Despite annotations already marking readOnlyHint and idempotentHint true, the description adds behavior not inferable from annotations: output shape, archived-item flag semantics, the 'scope'/'orgcode' header prerequisite, and the instruction not to guess when lookupOptions is empty. No contradiction with the annotations.

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

Conciseness4/5

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

The description is long, but it is well-structured with Parameters, Output Description, Use Cases, Examples, and Hints, and the critical workflow is front-loaded in the first sentence. A little redundancy exists (e.g., 'default: false' appears twice in the isArchReq line and examples restate the output shape), so it is not perfectly concise.

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?

For a tool without an output schema, the description fully specifies return fields ('parentId', 'parentName', 'children', '_note'), includes auth prerequisites, addresses empty lookupOptions, provides examples, and covers the complete sequence for bulk-update usage. Nothing needed to invoke it correctly is missing.

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 baseline is 3, but the description adds practical meaning beyond the schema: how to obtain 'id' from lookupOptions, when to set 'isArchReq' (only if explicitly requested), and how to use returned IDs as 'child' in the update payload. The parameter list itself largely repeats the schema, which is acceptable given schema coverage.

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?

The first sentence uses a specific verb and resource ('Fetch the child values of a CASCADINGLIST UDF field for a given parent item ID') and immediately connects it to a distinct workflow step (before bulk-updating a CASCADINGLIST Test Run UDF). This differentiates it from siblings like qmetry_fetch_test_run_udf_metadata and qmetry_bulk_update_test_run_udfs.

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?

The description gives explicit when-to-use guidance ('Use this before bulk-updating...'), lists four concrete use cases, and closes with an exclusion ('Do NOT call this tool for STRING, NUMBER...'). It also embeds a mandatory workflow referencing the metadata and bulk-update tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SmartBear/smartbear-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server