Skip to main content
Glama

Read test case

test_case_read
Read-onlyIdempotent

Returns one scoped retained case without model reruns or raw tool/model evidence.

Input Schema

NameRequiredDescriptionDefault
case_idYesSaved test case ID from test_cases_list or test_case_create.
agent_idYesAgent ID from agents_list or agent_create.

Output Schema

NameRequiredDescriptionDefault
idYes
originNo
questionYes
created_atYes
evaluationNo
last_run_atNo
draft_answerNo
expectationsNo
last_attemptNo
draft_revisionNo
answer_freshnessNo
published_answerNo
freshness_reasonsNo
published_versionNo
evaluation_currentNo
evaluation_criteriaNo
advisory_expectationsNo
draft_source_versionsNo
image_evidence_availableNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / agent_id / description
      Added value: +"Agent ID from agents_list or agent_create."
    • addedInput schema / properties / case_id / description
      Added value: +"Saved test case ID from test_cases_list or test_case_create."
  2. Changed3 schema fields changed
    • addedOutput schema / $defs / FreshnessReason
      Added value: +{
      +  "properties": {
      +    "kind": {
      +      "enum": [
      +        "unrecorded",
      +        "settings",
      +        "source_added",
      +        "source_removed",
      +        "source_changed"
      +      ],
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "source_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Source Id"
      +    },
      +    "source_name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Source Name"
      +    }
      +  },
      +  "required": [
      +    "kind"
      +  ],
      +  "title": "FreshnessReason",
      +  "type": "object"
      +}
    • addedOutput schema / properties / answer_freshness
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "current",
      +        "changed",
      +        "unprovable"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Answer Freshness"
      +}
    • addedOutput schema / properties / freshness_reasons
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/FreshnessReason"
      +  },
      +  "title": "Freshness Reasons",
      +  "type": "array"
      +}
  3. First observed

TDQS

C2.9/5.0
Behavior3/5

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

The annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false) already define the safety profile. The description adds one genuinely useful behavioral promise: no model reruns and no raw tool/model evidence in the payload, telling the agent the returned data is limited. It does not mention auth/scoping or size/shape of the response, so with annotations covering most of the burden this lands at 3.

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?

A single front-loaded sentence with no filler, and the scope/limitation clause is attached to the main claim. Slightly compressed jargon costs it a point.

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

Completeness3/5

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

With a full output schema and fully documented parameters, the essentials are covered, but for a read tool that is one of eight test-case siblings it should say what it is for relative to test_result_read and test_case_run. That routing information is the missing piece.

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

Parameters3/5

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

Schema coverage is 100% with explicit descriptions for both UUID params (case_id sourced from test_cases_list or test_case_create, agent_id from agents_list), so the schema does the work. The description adds nothing about parameter meaning, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ("Returns") and resource (one test case), which separates it from test_cases_list. However, the qualifier "scoped retained case" is internal jargon that isn't self-explanatory, and it never distinguishes this read from test_result_read or test_case_evaluate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

There is no statement of when to use this tool versus siblings such as test_cases_list (discovery) or test_result_read (results). The agent must infer usage purely from the name and schema.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources