Skip to main content
Glama

MCP Server By TestMu AI

Record Test Results (Bulk)

tm_record_test_results
Destructive

Record execution results on a MANUAL run's TEST RUN INSTANCES (the per-run copies of each test case) — max 500 per request, all-or-nothing (larger requests are rejected with nothing recorded). Manual runs only: KaneAI run results are recorded by KaneAI executions, so manual entry on a KaneAI run is rejected. Target an instance by instance_id, or just pass test_case_id and the instance is resolved automatically. Valid statuses: Passed, Failed, Skipped, Not Started (terminal — run-level "In Progress" is set via tm_update_test_run). Re-recording a step status replaces its result: an omitted step remark is cleared; response echoes per-step outcomes. Optional remarks and assignee per result, and per-step results via steps[] (mark individual test steps / BDD scenario rows Passed/Failed/Skipped with remarks, like the UI's per-step Mark Status). Note: this sets INSTANCE statuses; the run's overall status is set separately via tm_update_test_run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
run_idYesTest run ID (ULID)
resultsYesResults to record (max 500)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / results / items / properties / assignee / description
      Previous value: -"Assign this instance to an organization member (email, username, or user id; \"none\" clears). ASK the user if unspecified."New value: +"Assign this instance to an organization member (email, username, or user id; \"none\" clears). Omit to keep the current assignee."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the destructiveHint=true / readOnlyHint=false annotations: max 500 per request, all-or-nothing rejection, terminal-only instance statuses, and the non-obvious replacement behavior (re-recording a step clears an omitted remark, response echoes per-step outcomes). This is exactly the operational detail an agent needs before mutating results.

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?

Front-loads the core purpose and is dense with useful content, but the run-vs-instance status note is stated twice (once parenthetically in the status list and again as a closing 'Note'), which is mild redundancy in an otherwise tightly packed paragraph.

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?

There is no output schema, yet the description still tells the agent the response echoes per-step outcomes. Combined with batch limits, failure semantics, status validity, and the run-level hand-off, nothing an agent needs to invoke this mutating tool 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 the baseline is 3, but the description adds genuine resolution semantics: instance_id takes precedence while test_case_id triggers automatic resolution, plus the valid status set and the all-or-nothing constraint on the results array. It stops short of detailing remarks/assignee formats, which the schema already carries.

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 — recording execution results on test run instances — and immediately narrows scope to MANUAL runs' per-run copies. It also distinguishes itself from the run-level sibling (tm_update_test_run) and from KaneAI executions, so an agent can tell it apart without opening a 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?

Explicitly states when the tool applies (manual runs, targeting by instance_id or auto-resolved test_case_id) and when it does not ('KaneAI run results are recorded by KaneAI executions, so manual entry on a KaneAI run is rejected'). It names the alternative for run-level status changes, tm_update_test_run, and clarifies that this tool only sets instance statuses.

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