Skip to main content
Glama

add_test_cases

Adds test cases to the end of a Dataset from recorded Sessions or explicit inputs, skipping Sessions the Dataset already contains.

Instructions

Adds test cases to the end of a Dataset. Replays nothing and costs nothing.

Each test case is either a recorded Session (session_id) or inputs, never both. A Session needs pipeline_name. A Session the Dataset already holds is skipped. To reuse test cases from another Dataset use copy_test_cases. :param dataset_id: The Dataset's id. :param test_cases: The test cases to add, in order. :param pipeline_name: The pipeline the Sessions were recorded on; required when a test case has a session_id. :returns: The Dataset with all its test cases, or an error message.

Input Schema

NameRequiredDescriptionDefault
dataset_idYes
test_casesYes
pipeline_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.44

TDQS

A4.1/5.0
Behavior3/5

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

No annotations exist, so the description carries the full load. It does disclose genuinely useful behavior an agent could not otherwise know: nothing is replayed, nothing is billed, and a Session the Dataset already holds is silently skipped rather than duplicated. It does not address permissions, whether duplicates in the input list are also skipped, or what the 'error message' return means for partial adds.

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 opening two sentences front-load the action and the cost/side-effect profile, which is exactly what an agent needs first. The trailing Sphinx-style :param/:returns block partially duplicates the nested schema descriptions, keeping it short of ideal, but nothing is padded or off-topic.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description covers the behavior profile, the input-shape constraint, the conditional parameter, and the return value ('The Dataset with all its test cases, or an error message'). Only the failure/partial-success conduct and permission requirements are left implicit, which is a minor gap at this complexity.

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?

Top-level schema coverage is reported as 0%, and the description supplies the missing meaning: test_cases are appended in order, and pipeline_name is conditionally required only when a test case carries a session_id. That conditional dependency, plus the mutual exclusivity of session_id/inputs, is real semantics the top-level schema does not express.

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 and resource with scope: 'Adds test cases to the end of a Dataset', plus a distinguishing clause that it 'Replays nothing and costs nothing', which separates it from replay_session. It also names the sibling copy_test_cases as the route for cross-Dataset reuse, so an agent can pick this tool 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 Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit alternative ('To reuse test cases from another Dataset use copy_test_cases') and an explicit exclusion rule (a test case is session_id or inputs, never both; pipeline_name is required when session_id is used). What it lacks is routing against the adjacent mutation siblings like update_test_case or remove_test_cases, which an agent must infer.

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