Skip to main content
Glama

TestMu AI Test Manager MCP

An MCP (Model Context Protocol) server for TestMu AI Test Manager, HyperExecute, and AI Insights, built with the official @modelcontextprotocol/sdk.

New to MCP, or setting this up for the first time? See GETTING_STARTED.md for a step-by-step walkthrough, including how to connect Claude Desktop, Claude Code, or another MCP client.

What this server provides

Tools are organized by domain under src/tools/:

  • projects/, folders/ - TestMu AI Test Manager projects and test-case folders.

  • testCases/ - create/read/update test cases and their execution history.

  • testRuns/ - test runs and test-run folders, per-instance status/steps, bulk updates.

  • jira/ - link/unlink Jira issues, execution history by Jira ID.

  • environments/ - browser/OS/device environment lookup.

  • users/ - organization user lookup (for assignees).

  • attachments/ - file uploads for test steps/instances.

  • hyperexecute/ - HyperExecute job/task/scenario/session execution detail.

  • insights/ - AI-powered root cause analysis (RCA) and enriched test execution data.

Related MCP server: Testmo MCP Server

Prerequisites

  • Node.js 22+

  • npm

  • A TestMu AI account with Test Manager access

Installation

npm install

Configuration

Copy the example environment file and fill in your TestMu AI credentials:

cp .env.example .env

Variable

Description

Default

LT_USERNAME

Your LambdaTest username

LT_ACCESS_KEY

Your LambdaTest access key

LT_TM_BASE_URL

Base URL for the LambdaTest Test Manager API

https://test-manager-api.lambdatest.com

LT_ORG_ID

Your LambdaTest account/org ID - optional, only needed by tm.link_jiraIssue

Build & Run

npm run build
npm start

Development

Run directly from TypeScript source without a build step:

npm run dev

The server communicates over stdio, which is how MCP clients (e.g. Claude Desktop, Claude Code) launch and talk to it.

Project Structure

src/
  index.ts        # Executable entry point: wires client + server + stdio transport
  config.ts        # Environment variable loading and validation (dotenv + zod)
  server.ts         # Constructs the McpServer instance and registers tools
  client.ts          # Reusable HTTP client (get/post/patch/delete/postForm) for calling the TestMu AI API
  config/
    endpoints.ts      # Centralized registry of API endpoint paths - tools never hardcode a path
  utils/
    response.ts         # Shared defensive-parsing helpers for reading API responses
  tools/
    index.ts             # Central place where all tools are registered
    serverInfo.ts         # Orientation tool (tm.get_serverInfo)
    projects/, folders/, testCases/, jira/, testRuns/, environments/, users/,
    attachments/, hyperexecute/, insights/
                          # One domain per subfolder, one tool per file

Extending with New Tools

See CONTRIBUTING.md for the full set of conventions this project's tools follow (naming, file layout, input validation, response parsing, error handling, and rules for what belongs in a tool's own description vs. internal dev notes) - read it before adding a new tool, so the server keeps evolving consistently.

Available Tools

39 tools
tm.add_testCasesToTestRunAdd or Update Test Cases in a Test Manager Test RunA

Adds one or more test cases (each optionally with an environment_id, assignee user ID - see tm.get_organizationUsers to look one up - and priority) to an existing LambdaTest Test Manager test run, WITHOUT removing test cases already in the run. If a test case is already in the run with the same environment_id, this UPDATES its assignee/priority instead of adding a duplicate - so it's also how you reassign or reprioritize an existing test case instance, not just add new ones. Internally fetches the run's current test cases first and PUTs the complete merged list back, since the underlying API replaces the run's entire test case list on every update - calling this repeatedly is safe. A test case can be present multiple times with different environment_id values to run it against multiple environments. environment_id/assignee/priority are all optional per test case - omitting environment_id defaults to a placeholder 'No config selected' environment. Get a valid environment_id from tm.get_environments (or read one off an existing test-run instance via tm.get_testRunById). DANGER: only ever pass an environment_id from one of those two sources - a nonexistent environment_id does NOT return an error, it corrupts the run so badly that every subsequent read of it (tm.get_testRunById, tm.get_testCaseInstancesByTestRunId) starts failing with a 500 server error until repaired by another update. Do not call this speculatively - it's a real, persistent action. KANEAI RUNS: works on both manual and KaneAI test runs (see tm.create_testRun's is_auteur_generated input for creating one), but every test case passed in must match the run's own type - refuses the entire call (no partial changes) if any test case's own is_auteur_generated does not match the run's. Manual test cases cannot enter a KaneAI run and vice versa. This is NOT the same thing as the run's is_editable flag, which reflects KaneAI schedule ownership, not manual/KaneAI compatibility.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_casesYes
test_run_idYes

TDQS

A4.9/5.0
Behavior5/5

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

No annotations exist, so the description carries full transparency burden. It fully discloses internal behavior: it fetches current test cases and PUTs a merged list, making repeated calls safe. It warns about the severe danger of invalid environment_id causing server errors until repaired. It also clarifies the upsert behavior and the type compatibility check.

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 relatively long but highly informative. The first sentence captures the core purpose, and subsequent sentences add essential details in a logical order. Some redundancy (e.g., repeated emphasis on environment_id danger) could be trimmed, but it is not excessive given the importance. Overall, it earns its length.

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?

No output schema exists, but the description adequately covers what the tool does and its side effects. It explains the upsert behavior, the internal API mechanism, the danger of invalid environment_id, and the type matching requirement. This is sufficient for an action tool without a direct return value beyond the API response.

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

Parameters5/5

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

With 0% schema description coverage, the description completely compensates. It explains each parameter: test_cases is an array of objects with required test_case_id, optional environment_id (with danger and source guidance), assignee (with lookup hint), and priority. It clarifies that environment_id can be omitted (defaults to 'No config selected'), and that multiple entries with different environment_ids are allowed.

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 description clearly states it adds or updates test cases in a test run, without removing existing ones. It specifies the optional fields (environment_id, assignee, priority) and explicitly distinguishes the upsert behavior. While sibling tools exist (e.g., bulkUpdate_testCaseInstances), the description's specificity on add vs. update and the unique danger of environment_id corruption make the purpose unmistakable.

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 provides explicit when-to-use guidance: it is for adding test cases, but also for reassigning or reprioritizing existing ones. It warns against speculative calls, explains the requirement for matching test case type to run type, and gives precise sources for environment_id (tm.get_environments or tm.get_testRunById). It also tells when not to use it (when you want to remove test cases).

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

tm.bulkUpdate_testCaseInstancesBulk Update Test Manager Test Case InstancesA

Updates MULTIPLE test case instances within one test run in a single call - each instance independently gets its own status (Not Started/Passed/Failed/Skipped) and/or assignee (user ID - see tm.get_organizationUsers to look one up), identified by its own numeric id (from tm.get_testCaseInstancesByTestRunId's 'Instance ID' field). Use this instead of calling tm.update_testCaseInstance repeatedly when updating several instances in the same run at once. Each instance needs at least one of status or assignee. environment_id and remarks are NOT supported here (confirmed silently ignored) even though tm.update_testCaseInstance supports both - use that tool instead for those fields. DANGER: including status on an instance resets ALL of that instance's steps to 'Skipped' - regardless of which status value is sent, even 'Passed' - discarding any real per-step results already recorded via tm.update_testCaseInstanceStep. If per-step results must be preserved, either omit status here (assignee-only) or re-apply per-step statuses afterward. Do not call this speculatively - it's a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
instancesYes
test_run_idYes

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses critical behavioral traits: including status resets all steps to 'Skipped', environment_id and remarks are silently ignored, and that the action is real and persistent. No annotations are provided, so the description fully bears this burden.

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 each sentence adds value. It is front-loaded with purpose and usage, then covers constraints and dangers. Minor redundancy in the danger warning could be tightened, but overall well-structured.

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 complex tool with no output schema and nested objects, the description covers what the tool does, when to use it, parameter details, side effects (step reset), and unsupported fields. It even warns against speculative calls. This is highly complete.

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

Parameters5/5

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

Despite 0% schema coverage in the description, it adds significant meaning: explains the id comes from tm.get_testCaseInstancesByTestRunId's 'Instance ID' field, status values are enums, assignee is a user ID from tm.get_organizationUsers, and each instance needs at least one of status or assignee. This goes well beyond 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?

The description clearly states the tool updates multiple test case instances in a single call, setting status and/or assignee per instance. It distinguishes from sibling tools like tm.update_testCaseInstance by noting that environment_id and remarks are not supported here.

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 explicitly recommends using this tool over calling tm.update_testCaseInstance repeatedly for batch updates. It also tells when not to use it (for environment_id/remarks) and directs to tm.update_testCaseInstance instead.

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

tm.create_folderCreate Test Manager FolderA

Creates a new folder inside a LambdaTest Test Manager project, to organize test cases. Requires the project's ID; optionally nest it under an existing folder by passing that folder's ID as parent_id, otherwise it's created at the project's root. Use this before adding test cases that need a home. Do not use this to update or move an existing folder, and do not call it speculatively - creating a folder is a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
parent_idNo
project_idYes
descriptionNo

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that creating is a real, persistent action, but does not mention authentication requirements, rate limits, or what is returned. For a mutation tool, more detail on side effects would be beneficial.

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 concise with 3 sentences that front-load the core action, then add usage context and warnings. Every sentence adds value without redundancy.

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?

For a simple creation tool with no output schema and no annotations, the description covers the main purpose and usage context. However, it lacks mention of return values, error conditions, or idempotency, which would improve completeness.

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 description coverage is 0%, so the description must provide meaning. It explains project_id and parent_id, but the required name parameter and the optional description parameter are not described. This provides partial but incomplete 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 description explicitly states it creates a new folder in a LambdaTest Test Manager project, specifies required project_id and optional nesting via parent_id, and distinguishes from updating or moving folders. It also contrasts with sibling tool tm.create_testRunFolder by focusing on test case folders.

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?

Clear guidance to use before adding test cases, with explicit warnings against speculative calls and against using it for update/move. However, it doesn't directly compare with the very similar sibling tm.create_testRunFolder, which could cause confusion.

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

tm.create_projectCreate Test Manager ProjectA

Creates a new LambdaTest Test Manager project with a name, an optional description, and any number of tags (zero or more). Use this when the user wants to start a new project to organize test cases in. Do not use this to update an existing project, and do not call it speculatively - creating a project is a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
tagsNo
descriptionNo

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that creating a project is a 'real, persistent action,' implying side effects, but lacks details on authorization, rate limits, or error conditions. Adequate but not rich.

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?

Two sentences, front-loaded, no filler. Every sentence adds value: first states purpose and parameters, second gives usage guidance. Highly efficient.

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?

Given the number of sibling tools and no output schema, the description adequately covers creation behavior. It explains when to use and the persistent nature. Could mention unique name constraints or response format, but acceptable for a create tool.

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 0%, so description must compensate. It mentions the three parameters (name, optional description, tags) and clarifies that tags can be zero or more. However, it does not add format constraints or examples, providing only basic mapping to 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?

The description clearly states it creates a new LambdaTest Test Manager project, specifying the resource (project) and the fields (name, description, tags). It distinguishes from sibling tools by indicating this is for starting new projects, not updating or other operations.

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 to use (user wants a new project) and when not to (do not update existing project, do not call speculatively). Provides clear guidance against misuse, which is rare and valuable.

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

tm.create_testCasesCreate Test Manager Test CasesA

Creates one or more test cases in a LambdaTest Test Manager project, in a single batch call. Each test case has a title (required), an optional description, optional preconditions, and any number of tags (zero or more). Requires the project ID; folder_id is optional - pass it (use tm.get_foldersByProjectId to find a folder's ID) to place the test cases in a specific folder, or omit it to let the API place them in the project's default 'Untitled' root folder. Use this when the user wants to add new test cases to a project. Do not use this to update an existing test case, and do not call it speculatively - creating test cases is a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idNo
project_idYes
test_casesYes

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that creating test cases is a real, persistent action (destructive behavior), mentions batch operation, and explains optional folder_id default behavior. However, it does not mention authorization requirements, rate limits, or return format, which are minor gaps.

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 a single paragraph but well-structured: starts with main purpose, details parameters, then provides usage guidelines. Slightly verbose in places but effective. Could be broken into separate sentences for clarity, but overall it is concise enough.

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?

Given no output schema and no annotations, the description covers core behavior, parameter meanings, usage guidance, and side effects. However, it does not explain what the tool returns (e.g., IDs of created test cases), which would be helpful. This is a minor gap, but the description is otherwise rich.

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

Parameters5/5

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

The input schema has no descriptions (0% coverage). The description adds significant meaning: explains project_id is required, folder_id optional with guidance to find it, and details the test_cases array structure with required title and optional description, preconditions, tags. This fully compensates for the schema's lack of descriptions.

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 description clearly states the tool creates one or more test cases in a LambdaTest Test Manager project. It specifies the action (creates), resource (test cases), and context (single batch call). It distinguishes from siblings like tm.update_testCase by specifying 'do not use this to update an existing test case'.

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 provides explicit guidance: use when user wants to add new test cases, do not use for updates, and do not call speculatively because it is a real, persistent action. It also suggests using tm.get_foldersByProjectId to find folder ID, offering a clear alternative.

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

tm.create_testRunCreate Test Manager Test RunA

Creates just the SHELL of a new LambdaTest Test Manager test run in a project: a title (required), an optional objective, any number of tags (zero or more), and an optional folder_id to place it inside a test-run folder (from tm.get_testRunFoldersByProjectId - this is the test-run folder tree, separate from test case folders) instead of the project root. This always creates the run with ZERO test cases - test cases and their environment assignments are added to the run afterward via a separate PUT request, not this tool. DANGER: an invalid/nonexistent folder_id causes an unhandled server error (HTTP 500) rather than a clean validation error - no run is created in that case (safe to retry), but only pass a folder_id read from tm.get_testRunFoldersByProjectId. Use tm.get_testRunById afterward to confirm the run was created. Do not call this speculatively - creating a test run is a real, persistent action. KANEAI RUNS: set is_auteur_generated: true to create a one-off KaneAI-type run instead of a plain manual run. This only creates the KaneAI-type run shell - it does NOT create or link a KaneAI schedule (schedules are managed by KaneAI itself, not this API). Manual and KaneAI test cases are not interchangeable: once created, only add test cases whose own is_auteur_generated matches this run's, via tm.add_testCasesToTestRun.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleYes
folder_idNo
objectiveNo
project_idYes
is_auteur_generatedNo

TDQS

A4.7/5.0
Behavior5/5

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

No annotations are provided, so the description carries full burden. It discloses danger of invalid folder_id causing 500 error, that the run is created with zero test cases, that it's persistent, and that KaneAI runs have matching constraints. It also says 'safe to retry' on error. This is thorough and transparent.

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 each sentence adds value. It is front-loaded with the primary purpose, then details optional args, then behavioral notes, then KaneAI specifics. Slightly verbose but well-structured. Could be tightened slightly without losing content.

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?

Given the complexity (6 params, no output schema, no annotations), the description covers the tool's purpose, usage, dangers, and relationships to siblings. It explains the workflow (create shell, then add test cases). Missing explicit mention of return value (no output schema), but otherwise complete.

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 description coverage is 0%, so description must compensate. It explains title (required), objective (optional), tags (zero or more), folder_id (optional, from specific tool), and is_auteur_generated (boolean for KaneAI). However, project_id is not explicitly described beyond being required, and 'tags' format could be more detailed. Still, it adds significant value over the bare 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?

The description clearly states it creates just the shell of a test run, specifying the resource and action. It distinguishes itself from sibling tools like tm.add_testCasesToTestRun by noting that test cases are added separately. The verb 'creates' is specific and the resource 'test run shell' is well-defined.

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 explicitly says when to use this tool (to create the shell) and when not to (add test cases later via PUT). It warns against speculative use due to persistence, and advises using tm.get_testRunById afterward to confirm. It also names an alternative for folder_id (tm.get_testRunFoldersByProjectId) and distinguishes manual vs KaneAI runs.

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

tm.create_testRunFolderCreate Test Manager Test Run FolderA

Creates a new folder inside a LambdaTest Test Manager project, to organize TEST RUNS. This is a separate folder tree from test case folders (tm.create_folder) - the two do not share folder IDs. Requires the project's ID; optionally nest it under an existing test-run folder by passing that folder's ID (from tm.get_testRunFoldersByProjectId) as parent_id, otherwise it's created at the project's root. Do not use this to update or move an existing folder, and do not call it speculatively - creating a folder is a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
parent_idNo
project_idYes
descriptionNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses that the action is real and persistent, and that the folder tree is separate from test case folders. However, it does not cover authentication requirements, rate limits, or error handling, which would be beneficial for a complete behavioral picture.

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 a single paragraph that efficiently conveys the main action and additional instructions. It is front-loaded with the core purpose and provides necessary context without extraneous details. Minor improvement could be to structure as bullet points for easier scanning.

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?

Given no output schema and no annotations, the description covers the tool's functionality, usage context, and constraints well. It explains the sibling differentiation and cautions against misuse. It does not describe the return value or error scenarios, but for a creation tool, the provided context is largely sufficient.

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?

The input schema has 0% parameter description coverage, so the description must compensate. It explains project_id and name as required, parent_id as optional (linking to a sibling tool), but does not mention the description parameter. While it adds value, the omission of one parameter leaves a gap.

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 description explicitly states the tool creates a new folder for organizing test runs within a LambdaTest Test Manager project. It distinguishes itself from tm.create_folder by clarifying that it manages a separate folder tree for test runs, not test cases, ensuring the agent can differentiate between similar tools.

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 provides explicit guidance on when to use the tool: to create a folder for test runs, with optional nesting via parent_id from tm.get_testRunFoldersByProjectId. It also clearly states what not to do (update, move, or speculatively call) and emphasizes that the action is persistent, aiding decision-making.

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

tm.generate_testExecutionRCATrigger AI Root Cause Analysis GenerationA

Dispatches AI-powered RCA generation for every failed test under the given scope: any combination of job_ids, stage_ids, task_ids, or test_ids (at least one required, each array capped at 100 IDs). Jobs/stages/tasks always route to the HyperExecute analyzer; test_ids route to the correct analyzer automatically per test, so a mixed batch is fine. A test whose RCA already exists or is currently generating is skipped automatically and not charged - only newly-dispatched tests cost credits, so it is safe to pass a broad scope (e.g. an entire job) without first checking which tests already have RCA. Returns how many were newly triggered vs. skipped (and why), and the estimated credits used. DANGER: this spends REAL organizational AI credits and cannot be undone - do not call speculatively or on a broad scope 'just to see'. Credits are all-or-nothing: if the organization's balance is insufficient for the whole scope, NOTHING is dispatched (a 402 is returned instead) rather than partially triggering. A scope resolving to more than 10,000 failed tests is rejected (413) - narrow it first. Use tm.get_testExecutionRCA beforehand to check whether RCA already exists for the tests you care about, and confirm with the user before calling this on anything but a small, deliberately-chosen scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idsNo
task_idsNo
test_idsNo
stage_idsNo

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, description fully discloses destructive nature (spends real credits, cannot be undone), automatic skipping of existing/generating RCAs, mixed batch routing, all-or-nothing dispatch on insufficient credits, and rejection of scopes >10,000 failed tests. Highly transparent.

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?

Description is long but every sentence adds value. Front-loaded with main action, then details constraints and dangers. Could be slightly more concise, but structure is logical and complete.

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?

Given no output schema, description explains return values (new triggers vs skipped, credits used). Covers error cases (402, 413) and safety checks. Complete for a complex, high-risk 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?

Despite 0% schema coverage, description explains each parameter (job_ids, stage_ids, etc.) as arrays capped at 100 IDs, with at least one required. Adds context on how test_ids route automatically. Could be more explicit about ID format, but compensates well for missing schema descriptions.

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 description clearly states it dispatches AI-powered RCA generation for failed tests under a given scope. The title 'Trigger AI Root Cause Analysis Generation' is specific. It distinguishes from sibling tools like tm.get_testExecutionRCA by focusing on generation rather than retrieval.

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?

Provides explicit when-to-use: for failed tests needing RCA. Also states when-not-to-use: not speculatively or on broad scope. Advises using tm.get_testExecutionRCA first to check existence. Warns about credit costs and all-or-nothing behavior, guiding safe usage.

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

tm.get_environmentsGet Test Manager EnvironmentsA

Lists environment configurations (browser/OS/device/resolution combinations) available in this LambdaTest organization, org-wide rather than scoped to a single project. Each entry's environment_id in this tool's output IS a valid value to pass as environment_id on tm.add_testCasesToTestRun/tm.update_testCaseInstance. Supports pagination (page, per_page), filtering by browser, os, platform, and/or resolution, and include_run_count to show how many test runs already use each config. This can be a large list, so use the filters to narrow it down rather than paging through everything. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
osNo
pageNo
browserNo
per_pageNo
platformNo
resolutionNo
include_run_countNo

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses read-only nature, pagination, filtering, and include_run_count behavior. However, it does not mention rate limits, data freshness, or response size limits, which are relevant for a list tool. Additional behavioral details would improve transparency.

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?

The description is three sentences, front-loading the purpose. The first sentence clearly states the action and scope. The second adds cross-reference, and the third provides usage guidance. No wasted words; every sentence earns its place.

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?

Given the lack of output schema, the description explains the output's key field (environment_id) and its connectivity. It covers all parameters and provides usage guidance. However, it could mention that no parameters are required and possibly describe the output structure in more detail.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description must compensate. It explains each filter parameter (browser, os, platform, resolution), pagination (page, per_page), and include_run_count, and crucially states that environment_id in output is usable in other tools. This adds substantial meaning beyond the bare 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?

The description clearly states the tool lists environment configurations (browser/OS/device/resolution) at the org level, distinguishing it from sibling tools that operate on test runs, test cases, or projects. The verb 'lists' and resource 'environments' are specific and unambiguous.

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?

The description provides context: it's read-only, supports pagination and filtering, and advises using filters to avoid paging through large lists. It also explains how the output environment_id connects to other tools. However, it does not explicitly state when not to use it or list alternatives, which would strengthen the score.

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

tm.get_foldersByProjectIdGet Test Manager Folders by Project IDA

Retrieves every folder in a LambdaTest Test Manager project, given the project's ID: each folder's name, ID, description, parent folder, created/updated timestamps, and test case counts (both direct and including subfolders). Use this to see how a project's test cases are organized, to find a folder's ID before adding test cases to it, or to spot folders whose direct and total test case counts differ (meaning subfolders hold more test cases than tm.get_testCasesByFolderId alone would show for that folder). Do not use this to fetch a single folder's details.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. Describes returned data and usage but does not explicitly state it is a read-only, non-destructive operation or mention auth requirements or rate limits. Adequate but not thorough.

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?

Single paragraph, front-loaded with main purpose, then adds use cases and behavior. Some redundancy but overall informative and well-structured. Could be slightly more 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?

Given no output schema, description thoroughly explains return fields (name, ID, description, parent, timestamps, test case counts) and their significance. Relates to sibling tools and provides actionable context. Complete for a simple tool.

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

Parameters2/5

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

Only parameter is project_id, described in schema as string with minLength. Description mentions 'given the project's ID' but adds no further detail about expected format, source, or validation. With 0% schema coverage, more explicit guidance would be beneficial.

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 description clearly states it retrieves every folder in a LambdaTest Test Manager project by project ID, listing returned fields (name, ID, description, parent folder, timestamps, test case counts). It distinguishes from sibling tm.get_testCasesByFolderId by mentioning total counts including subfolders.

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?

Provides explicit use cases: to see test case organization, find folder ID before adding test cases, spot count discrepancies. Also says 'Do not use this to fetch a single folder's details,' giving a clear exclusion. Lacks mention of alternative for single folder details but implied via siblings.

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

tm.get_hyperExecuteJobByIdGet HyperExecute Job Status by Job IDA

Retrieves the current status and full detail of a HyperExecute Job by its job ID: job-level info (status, job number, label, remark, job type, frameworks, org/user, tunnel, retry-on-failure setting, global/test-suite timeout, created/updated/start/end timestamps, total test count, execution time), a per-Task breakdown (each Task is one independent VM/parallel worker running its share of tests sequentially - a job using multiple parallels typically has multiple Tasks, each with its own status, OS, timing, and retry iteration), a numeric task-count summary, and a job summary (pre-run/post-run status breakdowns plus scenario-stage retry statistics). Input: job_id (the HyperExecute Job ID, e.g. a UUID like "11111111-1111-1111-1111-111111111111" - distinct from a Test Manager test_run_id or test_case_id; this tool does not discover a job_id from a Test Manager ID, it requires one already known). IMPORTANT: this is a snapshot at the moment of the call - for a still-queued/running job, call again later for updated status. The API's jobLabel field is a JSON-encoded string rather than a real array; parsed defensively into a readable label, falling back to the raw value if unparseable. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description fully discloses read-only nature, snapshot semantics, and defensive parsing of jobLabel. It details output structure and notes no modifications. Minor gaps like error handling or rate limits prevent a 5.

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 informative and well-structured with clear sections, but slightly lengthy. It front-loads the main purpose and adds important details without redundancy. Could be trimmed slightly without losing meaning.

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?

Despite no output schema, the description comprehensively covers the return structure (job-level info, per-Task breakdown, summaries) and operational behavior (snapshot, defensive parsing). Complete for a read-only retrieval tool.

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

Parameters5/5

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

With 0% schema description coverage, the description thoroughly explains the job_id parameter: UUID format, distinction from other IDs, and requirement to already be known. Includes an example, adding significant value beyond 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?

The description clearly states the tool retrieves current status and full detail of a HyperExecute Job by job ID, listing specific data categories. It distinguishes itself from siblings like get_hyperExecuteJobs (list) and get_hyperExecuteJobScenarios (scenarios) by focusing on a single job with full details.

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 specifies that input is a known job_id (UUID format, distinct from other IDs), stating this tool does not discover IDs from Test Manager. It also advises calling again for updated status on queued/running jobs, providing clear when-to-use and snapshoting behavior.

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

tm.get_hyperExecuteJobsList HyperExecute JobsA

Lists every HyperExecute Job in the organization (not scoped to one specific job), newest first: job ID, job number, status, label, remark, task/test counts, who triggered it and how, timestamps, and execution time. When a job carries it, also shows its originating Test Manager test_run_id (from the job's meta.runId field) - the way to find which HyperExecute job corresponds to a known Test Manager test run. Not every job has this link (only KaneAI/Test-Manager-triggered jobs reliably do). Input: limit (page size, default 10, no documented hard maximum), cursor (a job_number to resume just below - from a previous response's 'Next Cursor' hint), show_test_summary (request the job_summary field - has returned null on every job observed so far, may not be populated for all job types). IMPORTANT: there is no way to filter or search directly by test_run_id/label server-side - finding a specific run's job means paging through results and checking each one's Test Manager Run ID. This can require checking many pages for an older run, since job numbers are not contiguous per organization. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
show_test_summaryNo

TDQS

A4.7/5.0
Behavior5/5

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

No annotations provided, so description carries full burden. Clearly explains read-only behavior, paging mechanism, null possibility of show_test_summary, and linking to Test Manager. Very transparent.

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?

Well-structured with listing, parameters, and important notes, but slightly verbose at over 150 words. Could be trimmed slightly without losing clarity.

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?

No output schema exists, but description lists returned fields. Explains paging challenges and test_run_id linking. For a read-only listing tool with 3 params, this is complete and comprehensive.

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

Parameters5/5

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

Schema coverage is 0%, but description explains each parameter in detail: limit (page size default 10), cursor (resume from job_number), show_test_summary (request field with null behavior). Adds substantial meaning beyond 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?

Describes listing all HyperExecute jobs in organization, specifying returned fields, and distinguishes from sibling tm.get_hyperExecuteJobById which targets a single job.

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?

States the tool is for listing many jobs not scoped to one, and provides guidance on paging due to lack of filtering by test_run_id. Could be more explicit about when not to use, but context is clear.

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

tm.get_hyperExecuteJobScenariosGet HyperExecute Job ScenariosA

Lists scenario-level execution details for a HyperExecute Job: one entry per test execution attempt (across every Task in the job), each with its scenario ID, parent Task ID, name, iteration (retry number, 0 = first attempt), status, group number, and duration. Input: job_id (required, same ID used by tm.get_hyperExecuteJobById). Optional: limit (max 20, default 10), cursor (from a previous response's metadata, to fetch the next page - returns scenarios with an ID >= the cursor value), status (filter by execution status), search_text (filter by occurrence in the scenario name). IMPORTANT: a status/search_text filter that matches zero scenarios returns a 'not found' error here rather than an empty list - this tool distinguishes that case (reported as 'no scenarios match this filter') from a genuinely invalid/nonexistent job_id (reported as 'job not found') using the API's own error text, so the two are not confused. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
job_idYes
statusNo
search_textNo

TDQS

A4.8/5.0
Behavior5/5

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

No annotations provided, but the description fully discloses read-only nature and explains error behaviors: distinguishes between 'no scenarios match filter' and 'job not found' errors. This provides critical behavioral transparency beyond basic read-only hint.

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?

Every sentence adds value: first sentence summarizes output, second details parameters, third explains important error distinction. No redundant or vague language. Front-loaded with main purpose.

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?

Given 5 parameters and no output schema, the description covers input semantics, pagination, filter behavior, error differentiation, and output fields. It is complete enough for an AI agent to use the tool correctly without additional documentation.

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

Parameters5/5

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

With 0% schema description coverage, the description adds comprehensive meaning: explains job_id as required and shared with another tool, limit with max 20 and default 10, cursor for pagination (ID-based), status and search_text filters with error handling for no matches.

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 description clearly states it lists scenario-level execution details for a HyperExecute Job, specifying exact fields like scenario ID, parent Task ID, name, iteration, status, group, and duration. It distinguishes from sibling tools like tm.get_hyperExecuteJobById and tm.get_hyperExecuteJobSessions by focusing on scenarios.

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?

The description indicates when to use this tool (to get scenario details for a job) and specifies required input (job_id) and optional filters/pagination. It could explicitly mention when not to use or compare to alternatives, but the context is clear enough for an AI agent.

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

tm.get_hyperExecuteJobSessionsGet HyperExecute Job SessionsA

Lists session-level execution details for a HyperExecute Job: one entry per test execution that reached an actual Selenium/Appium session (a retried test appears as a separate session entry, not an iteration counter - unlike tm.get_hyperExecuteJobScenarios, which lists every attempt including ones that never got a session). Each entry has its session/test ID (the same automation_test_id used by tm.get_testExecutionHistoryByTestCaseId, tm.get_testCaseInstancesByTestRunId, and tm.get_testExecutionRCA), parent Task ID, scenario name, status, group number, duration, and whether SmartUI was enabled. Input: job_id (required, same ID used by tm.get_hyperExecuteJobById). Optional: limit (max 20, default 10), cursor (from a previous response's metadata, to fetch the next page - returns sessions with an ID >= the cursor value), status (filter by execution status), search_text (filter by occurrence in the scenario name). IMPORTANT: a status/search_text filter that matches zero sessions returns a 'not found' error here rather than an empty list - this tool distinguishes that case (reported as 'no sessions match this filter') from a genuinely invalid/nonexistent job_id (reported as 'job not found') using the API's own error text. A test that never got a session at all (failed before one was created) will not appear here regardless of filters. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
job_idYes
statusNo
search_textNo

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description fully covers behavioral traits: it declares read-only nature, explains how status/search_text filters return errors instead of empty lists, notes that tests without sessions are excluded, and describes cursor-based pagination. This provides complete transparency.

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 well-structured with front-loaded purpose and differentiation. It is dense with valuable information, and every sentence adds utility. Minor opportunity to tighten, but overall effective.

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?

Given no output schema, the description thoroughly describes each entry's fields (session/test ID, parent Task ID, scenario name, status, group number, duration, SmartUI). It also covers pagination, error handling, and parameter behavior. The tool is moderately complex and fully covered.

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

Parameters5/5

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

Schema description coverage is 0%, but the description explains all five parameters in detail: job_id (required, same ID as used by related tools), limit (max 20, default 10), cursor (pagination behavior), status (filter), and search_text (filter by scenario name). It compensates fully for the schema gap.

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 description clearly states it lists session-level execution details for a HyperExecute Job, and explicitly distinguishes from the sibling tool tm.get_hyperExecuteJobScenarios by explaining the difference in how retried tests and failed-to-session tests are handled. This is specific and actionable.

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?

The description provides clear context on when to use this tool versus alternatives, explicitly comparing with tm.get_hyperExecuteJobScenarios and noting differences. It also explains the input job_id and optional parameters. It lacks an explicit 'when not to use' but the guidance is strong.

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

tm.get_hyperExecuteTestDetailsGet HyperExecute Test Execution DetailsA

Retrieves one specific automation test execution's HyperExecute routing details by its automation_test_id (the same ID shown as 'Automation Test ID'/test_id by tm.get_testCaseInstancesByTestRunId, tm.get_testExecutionHistoryByTestCaseId, tm.get_testExecutionRCA, and as sessionID/testID by tm.get_hyperExecuteJobSessions). Returns its status, Job ID, Task ID, Stage ID, step/retry number, and session ID. THIS IS THE RECOMMENDED WAY to find which HyperExecute Job (tm.get_hyperExecuteJobById) an execution belongs to, when you already have an automation_test_id - fast and reliable, including for scheduled Test Manager runs. It requires the automation_test_id to already be known (from one of the tools above), and that instance must have actually reached a session (an instance that failed before a session was created has no automation_test_id at all, so there is nothing to look up here). Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
automation_test_idYes

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description fully covers behavioral traits: it declares the tool is read-only, explains the prerequisite that the instance must have reached a session, and clarifies that failures before session creation have no automation_test_id. This transparency is thorough.

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 concise yet comprehensive, with a clear first sentence, a list of returned fields, and usage guidance. It could be slightly more compact, but it is well-structured and every sentence adds value.

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?

Given the lack of an output schema, the description adequately lists what is returned. It also contextualizes the tool within the sibling tools and explains the relationship. The complexity is well-addressed.

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

Parameters5/5

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

The single parameter (automation_test_id) has 0% schema description coverage, but the description adds substantial meaning: it identifies the ID as the same shown by other tools and explains how to obtain it. This fully compensates for the schema gap.

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 description clearly states the tool's function: retrieving HyperExecute routing details for a specific automation test execution by its automation_test_id. It lists the returned fields (status, Job ID, etc.) and distinguishes itself from siblings like tm.get_hyperExecuteJobSessions and tm.get_hyperExecuteJobById by focusing on a single execution's details.

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?

The description explicitly recommends this tool as the way to find the HyperExecute Job for an automation_test_id, provides prerequisites (ID must be known from other tools), and notes limitations (instance must have reached a session). It lacks explicit when-not-to-use guidance, but the context is clear.

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

tm.get_organizationUsersGet Organization UsersA

Lists every user in the LambdaTest organization/account, with their numeric user ID, name, email, role, group, and whether they have Test Manager (TMS) access enabled. Use this to look up a user's ID before assigning them via the assignee field on tm.add_testCasesToTestRun or similar tools. This calls an undocumented endpoint on a different LambdaTest service (auth.lambdatest.com, not the Test Manager API) sourced from the browser network inspector. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

No annotations provided, so description fully covers behavior. States it is read-only and does not modify anything. Also discloses that it calls an undocumented endpoint on a different service (auth.lambdatest.com) sourced from browser network inspector, adding important context about reliability and source.

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?

Three sentences: first states purpose and output, second gives usage guidance, third provides behavioral transparency. No unnecessary words, efficiently front-loaded.

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?

Given no output schema, description explains return fields thoroughly. Also covers read-only nature and undocumented endpoint. Complete for the tool's 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?

No parameters, schema coverage 100%, so baseline is 4. Description adds value by listing the fields returned (user ID, name, email, role, group, TMS access), which is helpful since there is no output 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?

Clearly states it lists every user in the LambdaTest organization with specific fields (numeric user ID, name, email, role, group, TMS access). Distinguishes itself from siblings by specifying its role in user ID lookup for assignment in other tools like tm.add_testCasesToTestRun.

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?

Explicitly says to use this tool to look up a user's ID before assigning them via the assignee field on other tools. Provides clear context but does not explicitly mention when not to use or alternative tools, though no alternative exists among siblings.

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

tm.get_projectByIdGet Test Manager Project by IDA

Retrieves a single LambdaTest Test Manager project's details by its exact project ID: name, description, test case count, tags, and created/updated timestamps. Use this when the project ID is already known - for example, to verify a project exists before creating test cases in it, or to show project metadata to the user. Do not use this to search for a project by name or to list all projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations provided, but description fully covers the read-only nature and specifies returned fields. No hidden behaviors disclosed; adequate for a simple retrieval.

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?

Two concise sentences, front-loaded purpose, each sentence adds value. No extraneous information.

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 simple 1-param retrieval, description covers purpose, usage, and output fields. Missing error handling notes, but acceptable given simplicity.

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

Parameters2/5

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

Schema coverage is 0%, description only says 'exact project ID' without format details or constraints. Minimal added value over schema's param name.

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?

Description clearly states the tool retrieves a single project by exact ID, lists returned fields (name, description, test case count, etc.), and explicitly differentiates from search/list tools, which aligns with the sibling context.

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?

Provides explicit when-to-use scenarios (verify existence, show metadata) and when-not-to (search by name, list all). Lacks explicit sibling names but still clear.

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

tm.get_serverInfoGet Server OrientationA

Returns a short orientation for the TestMu AI Test Manager MCP server: what it wraps (Test Manager, HyperExecute, AI Insights/RCA) and a handful of rules that apply across many tools (mutating actions are real and persistent, RCA generation costs credits, manual vs. KaneAI incompatibility, ID types are not interchangeable). Useful to call first if unfamiliar with this server. Does not enumerate individual tools - see the tool catalog itself for that.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

TDQS

A3.9/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It explains the tool returns orientation and rules, but does not explicitly state it is read-only or has no side effects, though that is implied by the content.

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?

Three sentences, front-loaded with main purpose. Efficient but could better structure the parameter information.

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?

Without an output schema, the description should fully specify return content. It does so for the main content but omits any mention of the input parameter, reducing completeness.

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

Parameters1/5

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

Input schema has one optional parameter 'name' with no description coverage. The tool description does not mention or explain this parameter, leaving its purpose unclear.

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 description clearly states it returns a short orientation for the server, including what it wraps and rules. It distinguishes itself from sibling tools that perform specific operations.

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 advises to call first if unfamiliar with the server, and notes it does not enumerate tools, directing to the tool catalog. Provides clear when-to-use guidance.

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

tm.get_testCaseByIdGet Test Manager Test Case by IDA

Retrieves the full details of a single LambdaTest Test Manager test case by its exact test case ID: title, description, priority, status, preconditions, tags, attachments (both the test case's own and each step's own, shown with their file_key for reuse with tm.update_testCase), test steps, BDD scenarios, dynamic fields, Jira links, folder path, and its current snapshot_id. Use this when the test case ID is already known, to inspect its full content, or as a required first step before updating it with tm.update_testCase - that endpoint requires the snapshot_id returned here, fetched fresh (not cached) immediately before the update. Do not use this to search or list test cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_case_idYes

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It details return content and the importance of snapshot_id for updates, but does not mention potential errors or authorization needs. Overall, good behavioral disclosure.

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 front-loaded with the main action and well-structured, but the exhaustive list of return fields makes it slightly verbose. It efficiently communicates key information without redundancy.

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?

Given the simple tool (1 param, no output schema), the description is highly complete. It covers return content, usage context, prerequisite for update, and differentiation from similar tools. No critical gaps.

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 0%, so description must compensate. It implicitly defines the single parameter by stating 'by its exact test case ID', but could be more explicit about format or validation. Still, sufficient for understanding parameter purpose.

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 description clearly states it retrieves full details of a test case by ID, lists specific fields, and explicitly distinguishes from search/list tools, making the purpose unambiguous.

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 says when to use (known ID, inspect content, prerequisite for update) and when not (search/list). Provides clear usage context and exclusions.

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

tm.get_testCaseInstanceByIdGet Test Manager Test Case Instance by IDA

Retrieves full detail for ONE specific test case instance, identified by its own numeric test_instance_id (NOT the same as test_case_id - get it from tm.get_testCaseInstancesByTestRunId's 'Instance ID' field). TERMINOLOGY: a 'test case instance' is ONE (test case x environment) pairing within a run, not one test case - if a test case is assigned 2 environments in the same run, each environment has its own separate instance ID and its own separate result here. Includes the instance's own result (Passed/Failed/Skipped/Not Started), timing, remarks, environment, and per-step results (each step's own status/outcome/remarks, plus its own Step ID for use with tm.update_testCaseInstanceStep) - detail that tm.get_testCaseInstancesByTestRunId doesn't expose. Setting/inspecting this instance's result only affects its standing within this run - it does NOT change the underlying test case's own stored status in Test Manager. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_instance_idNo

TDQS

A4.5/5.0
Behavior5/5

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

No annotations provided, so description fully handles behavioral disclosure. States read-only, does not modify, explains effect scope (run-level only, not underlying test case status), and lists included fields (result, timing, remarks, environment, per-step 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?

Description is somewhat long but each sentence adds value. Front-loaded with purpose, then terminology clarification, then detail on output and behavior. Could be slightly more concise, but efficient for the complexity.

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?

Given no output schema, description provides adequate overview of returned data: instance result, timing, remarks, environment, per-step results with own status/outcome/remarks and step IDs. Lacks explicit mention of all possible fields, but sufficient for understanding.

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 0%, so description must explain parameter. It defines test_instance_id as numeric ID, distinguishes from test_case_id, and tells how to get it (from sibling tool's 'Instance ID' field). Adds value beyond 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?

Description clearly states it retrieves full detail for one specific test case instance, clarifies terminology differentiating from test case, and contrasts with sibling tool tm.get_testCaseInstancesByTestRunId which lacks this detailed output.

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?

Explicitly says when to use (need full detail for one instance), contrasts with sibling tool, and states read-only nature. Could be improved by explicitly listing when not to use, but clear enough.

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

tm.get_testCaseInstancesByTestRunIdGet Test Manager Test Case Instances by Test Run IDA

Retrieves the actual execution results for a LambdaTest Test Manager test run: a run-wide pass/failed/skipped/not-started breakdown, plus one entry per test case instance with its real execution status, assignee, remarks, and linked bug count. TERMINOLOGY: each entry is ONE (test case x environment) pairing, not one unique test case - a test case assigned 2 environments in this run produces 2 separate entries here, each with its own independent result. Unlike tm.get_testRunById (which shows planned composition only), this shows what actually happened. For automation/KaneAI instances, also surfaces the automation test's own ID (distinct from test_case_id and from this entry's own instance ID) and a direct link to that execution on the LambdaTest automation dashboard - the automation test ID is the key other LambdaTest services (e.g. AI root-cause-analysis, execution logs, video) use to look up that specific execution, not test_case_id or the instance ID. Supports pagination (page, per_page) and filtering by status ('Not Started', 'Passed', 'Failed', 'Skipped') and/or assignee (user ID). Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
statusNo
assigneeNo
per_pageNo
test_run_idYes

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, the description fully carries the burden. It explicitly states the tool is read-only, explains the entry semantics (test case x environment pairing), details automation-specific fields, and describes pagination/filtering behavior. No contradictions.

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 well-structured: purpose first, then terminology clarification, sibling comparison, automation details, filtering, and read-only note. Every sentence adds value, though it could be slightly tighter. Front-loaded with core purpose.

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?

Given no output schema and complex parameter set, the description covers the output structure (breakdown + per-instance entries with fields), automation extras, pagination, and filtering. Lacks explicit mention of default pagination values or status format strictness, but overall sufficiently complete.

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 description coverage is 0%, so the description must add meaning. It explains test_run_id implicitly, notes pagination (page, per_page) and filtering by status and assignee, and gives example status values. However, it does not specify default values or constraints like max per_page, and assignee is only mentioned as user ID without further detail.

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 description clearly states the verb ('Retrieves') and resource ('test case instances by test run ID'). It distinguishes itself from the sibling tool tm.get_testRunById by contrasting planned composition vs actual results, and from other list tools by its specific scope.

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?

Provides explicit context on when to use: for actual execution results vs tm.get_testRunById for planned composition. Mentions filtering and pagination options, guiding the agent on parameter usage. Does not list all alternatives but the single sibling comparison is effective.

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

tm.get_testCasesByFolderIdGet Test Manager Test Cases by Folder IDA

Retrieves the test cases assigned DIRECTLY to a specific folder of a LambdaTest Test Manager project - it does not include test cases in that folder's subfolders. Each result has the test case's title, ID, description, priority, type, status, automation status, preconditions, estimated time, and tags. Requires both the project ID and the folder ID (use tm.get_foldersByProjectId first to find a folder's ID - it also shows each folder's direct vs. total test case count, so you can tell if subfolders hold more). Supports optional page, per_page, and sort parameters for folders with many test cases. Do not use this to fetch a single test case by its own ID, and do not expect it to include subfolder contents.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNo
per_pageNo
folder_idYes
project_idYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations exist, so the description carries full burden. It discloses that only direct test cases are returned, lists the fields in each result, and mentions pagination support. However, it does not specify error behavior or empty results, which is a minor gap.

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 a single paragraph that front-loads the key purpose and exclusions. It is slightly lengthy but efficient. There is minor redundancy in mentioning the prerequisite twice, but overall it earns its sentences.

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?

Given no output schema, the description partially explains return fields. It includes critical context about subfolder exclusion and prerequisite. However, it does not cover error handling or pagination response format, which would be beneficial for completeness.

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?

The schema has 0% description coverage, so the description provides the only explanation. It clarifies that project_id and folder_id are required, and page, per_page, and sort are optional. It does not detail the sort parameter format, but the context of pagination is well covered.

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 description explicitly states the verb (retrieves), resource (test cases in a folder), and scope (directly assigned, not subfolders). It also lists the fields returned, which distinguishes it from siblings like get_testCaseById or get_testCasesByProjectId.

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?

It provides clear when-to-use guidance (retrieving test cases in a folder) and when-not-to-use (not for a single test case, not for subfolder contents). It also gives a prerequisite: use get_foldersByProjectId first to get the folder ID. Pagination options are mentioned for large folders.

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

tm.get_testCasesByProjectIdGet Test Manager Test Cases by Project IDA

Retrieves every test case across an entire LambdaTest Test Manager project, regardless of which folder it's in: each test case's title, ID, folder ID, description, priority, type, status, automation status, estimated time, BDD scenarios, test steps, and tags. Use this for a project-wide view; use tm.get_foldersByProjectId + tm.get_testCasesByFolderId instead if you only need the test cases inside one specific folder. Supports optional page, per_page, and sort parameters for projects with many test cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNo
per_pageNo
project_idYes

TDQS

A4.4/5.0
Behavior4/5

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

Describes what data is returned and pagination support; no annotations provided. Could mention read-only nature or side effects, but is generally transparent.

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?

Two sentences, front-loaded with essential information, no fluff.

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?

Given no output schema and no annotations, description covers purpose, returned fields, usage guidance, and optional parameters; lacks detail on return format but is sufficient for an agent.

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 description coverage is 0%; description adds context that page, per_page, sort are optional pagination/sorting parameters, but lacks details like sort format or valid values.

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?

Description clearly states it retrieves every test case across a project and lists returned fields. It distinguishes from sibling tools that get test cases by folder.

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 advises use for project-wide view and suggests alternative tools for folder-specific needs, plus mentions optional pagination parameters.

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

tm.get_testExecutionDataGet Test Execution Data with AI InsightsA

Retrieves paginated test execution records enriched with AI insights: smart tags (always failing / new failure / flaky / performance anomaly), flakiness rate, a condensed RCA (category + summary - use tm.get_testExecutionRCA for the full detail), failure category, environment (browser/OS/device/resolution), test timing, and build/job/task/stage IDs. Filters: any combination of job_ids, task_ids, stage_ids, test_ids, build_ids (the TOTAL ID count across all five combined is capped at 100, unlike the RCA endpoints which cap each array separately). Defaults to the last 7 days if from_timestamp/to_timestamp are both omitted - THIS STILL APPLIES even when filtering by a specific test_id, so a real, valid test_id from more than 7 days ago returns an empty result unless the date range is widened explicitly (both timestamps must be RFC3339 UTC, supplied together - one alone is rejected - and span at most 31 days per call). Supports cursor-based pagination (cursor/limit, max 500) and sorting (sort_by: create_timestamp/duration/status, sort_order: asc/desc). Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
job_idsNo
sort_byNo
task_idsNo
test_idsNo
build_idsNo
stage_idsNo
sort_orderNo
to_timestampNo
from_timestampNo

TDQS

A4.8/5.0
Behavior5/5

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

Without annotations, the description fully discloses behavioral traits: read-only nature, pagination mechanics (cursor/limit, max 500), sorting options, date range defaults and constraints (last 7 days default, must provide both timestamps, max 31 days), and filter ID count cap (100 total). No annotation contradiction.

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 well-structured, front-loading the core purpose and then detailing parameters and constraints. Every sentence adds value, though it could be slightly more concise by grouping related constraints. Still, it avoids fluff.

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?

Given the complexity (11 params, no output schema), the description is very comprehensive, covering pagination, sorting, filtering constraints, date behavior, and distinguishing from siblings. It lacks explicit mention of the response format, but the listed fields give a good picture. Overall highly complete.

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

Parameters5/5

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

With 0% schema description coverage, the description adds meaning to all 11 parameters. It explains limit maximum, cursor pagination, filter arrays, sort_by/sort_order enums, and crucially details date parameter constraints (RFC3339 UTC, required together, max span). It also adds undocumented constraints like the total ID count cap.

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 description clearly states it retrieves paginated test execution records enriched with AI insights, listing many specific fields. It distinguishes from sibling tools like tm.get_testExecutionRCA, which provides full RCA detail, making the purpose unambiguous.

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?

Provides explicit guidance on when to use this tool vs alternatives (e.g., use tm.get_testExecutionRCA for full RCA detail). Also details filters, date range defaults and constraints, pagination, and sorting, helping the agent decide appropriate usage.

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

tm.get_testExecutionHistoryByJiraIdGet Test Manager Test Execution History by Jira IDA

Retrieves the execution history of every LambdaTest Test Manager test case linked to a given Jira issue ID (e.g. 'PROJ-123'): each recorded run's status, which test case and test run it belongs to, start/end time, framework, test type (automation/manual), browser/OS/device environment, and automation test ID, plus overall executed/planned execution counts. Use this to see how all test cases tied to a Jira ticket have performed. If the Jira ID has no linked executions, returns an empty history rather than an error. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
jira_issue_idYes

TDQS

A4.7/5.0
Behavior5/5

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

No annotations provided, so description carries full burden. It explicitly states 'Read-only; does not modify anything', and discloses behavior for missing data ('returns an empty history rather than an error'). This provides clear expectations without annotations.

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?

Two sentences: first details what is retrieved and the output fields, second states usage and behavior (empty history, read-only). No fluff, all information earns its place, front-loaded with key action.

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?

Given one parameter, no output schema, and no annotations, the description provides rich detail: output fields, error handling, read-only nature, and usage context. It is fully adequate for correct tool selection and invocation.

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?

Only one parameter `jira_issue_id` with 0% schema description coverage. The description adds value by explaining the format ('e.g. 'PROJ-123'') and context, which is not present in the schema (only type and required). This compensates for the lack of schema description.

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 description clearly states the verb 'Retrieves' and resource 'execution history of every LambdaTest Test Manager test case linked to a given Jira issue ID', provides an example format ('PROJ-123'), and lists output fields. It distinguishes from sibling `get_testExecutionHistoryByTestCaseId` by specifying Jira ID linkage.

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?

The description explicitly tells when to use ('Use this to see how all test cases tied to a Jira ticket have performed') and describes behavior when no linked executions (returns empty history, not error). While it does not explicitly state when NOT to use or suggest alternatives, the purpose is clear enough to differentiate from sibling tools.

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

tm.get_testExecutionHistoryByTestCaseIdGet Test Manager Test Execution History by Test Case IDA

Retrieves the execution history of a LambdaTest Test Manager test case by its exact test case ID: every recorded run's status (passed/failed/skipped/etc.), the test run it belonged to, start/end time, framework, test type (automation/manual), browser/OS/device environment, and automation test ID, plus overall executed/planned execution counts. Use this to inspect how a test case has performed over time. AUTOMATION TEST ID / RCA: for automation/KaneAI executions, automation_test_id is the ID LambdaTest's other services key off - a Test URL is shown (constructed from the same https://automation.lambdatest.com/test?testID={id} pattern this API itself uses elsewhere, since this endpoint does not return a URL field directly) and the same ID can be passed to LambdaTest's AI root-cause-analysis endpoint (https://api.lambdatest.com/insights/api/v3/rca/{automation_test_id}) for a failure's root cause, steps to fix, and error timeline. planned_executions_count is NOT scoped to any single test run - it aggregates across every run/schedule that has ever referenced this test case - so a gap versus executed_executions_count does not indicate anything about a specific run's own instances. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_case_idYes

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description bears full burden. It explicitly states the tool is read-only and does not modify anything. It also clarifies the aggregation behavior of planned_executions_count and explains the automation_test_id field for RCA, which adds useful behavioral context.

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 front-loaded with the core purpose in the first sentence, then expands with useful details. It is somewhat lengthy but well-structured into paragraphs. Each part earns its place, though minor trimming could improve conciseness.

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?

Given no output schema, the description explains return fields thoroughly (status, run, timestamps, environment, counts). It also clarifies edge cases like planned_executions_count aggregation. It lacks mention of pagination or error handling, but covers the main use case well.

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

Parameters2/5

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

The input schema has one parameter (test_case_id) with no description (0% coverage). The description only says 'by its exact test case ID' without specifying format or source, adding minimal value over the schema. For a single parameter, more guidance was expected.

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 description clearly specifies the tool retrieves execution history for a given test case ID, listing detailed information like status, run, environment, etc. It distinguishes itself from siblings like get_testExecutionHistoryByJiraId by focusing on test case ID and providing specific return fields.

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?

The description states 'use this to inspect how a test case has performed over time,' giving clear context. It does not explicitly mention when not to use it or compare to alternatives, but provides detailed guidance on the returned data and interpretation of planned_executions_count.

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

tm.get_testExecutionRCAGet AI Root Cause Analysis for Test ExecutionsA

Retrieves LambdaTest's AI-generated root cause analysis (RCA) for one or more automation/KaneAI test executions. Accepts any combination of test_ids (the same ID shown as 'Automation Test ID'/test_id by tm.get_testCaseInstancesByTestRunId, tm.get_testExecutionHistoryByTestCaseId, and tm.get_hyperExecuteJobSessions), job_ids (returns RCA for EVERY test execution in that HyperExecute job), task_ids (every execution on that Task), or stage_ids - at least one of the four is required, each as an array (multiple values batch-fetch in a single call). Optional page/limit for pagination over large result sets. Each record includes the RCA itself (category, severity-equivalent root cause/parent failure category, natural-language summary and analysis, a step-by-step error timeline with source logs and stack traces where available, and suggested steps to fix) AND that execution's own job_id/task_id/stage_id/build_id - useful even without needing tm.get_hyperExecuteTestDetails separately. IMPORTANT: RCA only exists for an execution that BOTH actually ran AND failed - a passed execution, an instance that never executed at all, and a wholly invalid ID of any type all return an empty result (not an error), so an empty result here does not necessarily mean an ID was wrong. Only query for executions already known to have failed (e.g. status FAILED on a test case instance that also has a non-empty Automation Test ID / Test URL, confirming it actually reached a session). Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
job_idsNo
task_idsNo
test_idsNo
stage_idsNo

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: it is read-only, returns empty results for passed/never-executed/invalid IDs (not an error), and details the output structure including RCA fields and associated IDs. It also covers batch fetching behavior and pagination.

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 well-structured with a clear flow: purpose, input parameters, output details, and important caveats. It is somewhat lengthy but each sentence adds value given the tool's complexity. Minor redundancy (e.g., mentioning batch fetching in two places) could be trimmed.

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?

The description is comprehensive, covering inputs, outputs, edge cases, prerequisites, and relationships to other tools. Despite no output schema, it explains the return structure in detail. It handles the complexity of multiple ID types and pagination thoroughly.

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

Parameters5/5

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

The input schema has zero descriptions for its 6 parameters, but the description compensates fully by explaining each parameter (test_ids, job_ids, task_ids, stage_ids, page, limit) in detail, including their meaning, required combinations (at least one of the four ID arrays), and how they relate to other tool outputs.

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 description clearly states it retrieves AI-generated root cause analysis for test executions, specifying the verb and resource. It distinguishes itself from sibling tools like tm.generate_testExecutionRCA by indicating it retrieves rather than generates, and from other get tools by focusing on RCA.

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 explicitly states when to use this tool (for failed executions), warns against using it for passed or never-executed ones, and provides detailed guidance on how to identify suitable executions (e.g., checking status FAILED and non-empty Automation Test ID). It also explains the different ID types and their contexts.

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

tm.get_testExecutionRCAStatusGet RCA Generation Progress and ResultsA

Returns a progress summary (total/completed/in_progress/failed/pending counts) plus a paginated list of completed RCA results for a scope - the tool to poll with after calling tm.generate_testExecutionRCA, since generation is asynchronous. Accepts the same scope as tm.generate_testExecutionRCA/tm.get_testExecutionRCA: any combination of test_ids, job_ids, task_ids, or stage_ids (at least one required, each array capped at 100 IDs). Pass include_detail: true to hydrate each result with the full RCA detail (analysis, error timeline, steps to fix, stack traces - same content as tm.get_testExecutionRCA) - omitted by default to keep polling calls small. Supports limit/offset pagination over the results list (NOTE: offset-based, unlike tm.get_testExecutionRCA's page-based pagination - a real difference between these two otherwise-similar endpoints). A scope matching zero tests (wrong IDs, IDs with no failures, etc.) still returns a normal result with all-zero progress counts rather than an error - this tool surfaces the API's own explanatory message in that case. Read-only; does not modify anything (does NOT trigger generation itself - use tm.generate_testExecutionRCA for that).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
offsetNo
job_idsNo
task_idsNo
test_idsNo
stage_idsNo
include_detailNo

TDQS

A4.9/5.0
Behavior5/5

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

Discloses read-only nature, describes edge case behavior (empty scope returns all-zero counts with explanatory message), and explains include_detail behavior. Without annotations, this fully covers behavioral aspects.

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 detailed but each sentence contributes value. It front-loads purpose and uses paragraph breaks for clarity. Could be slightly more concise, but structure is effective.

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?

Given 7 parameters, no output schema, and no annotations, the description covers all key aspects: purpose, usage, parameters, behavior, edge cases, and distinctions from siblings. No evident gaps.

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

Parameters5/5

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

Despite 0% schema coverage, the description explains scope parameters (types, caps, at-least-one requirement), include_detail (hydrate vs brief), and limit/offset pagination. Adds essential meaning beyond 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?

The description specifies the tool returns a progress summary and paginated RCA results, clearly distinguishing it as the polling counterpart to tm.generate_testExecutionRCA. It mentions specific counts and scope, avoiding ambiguity.

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 to use: after calling tm.generate_testExecutionRCA for asynchronous polling. It notes the same scope as sibling tools, warns it does not trigger generation, and highlights pagination differences from tm.get_testExecutionRCA.

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

tm.get_testRunByIdGet Test Manager Test Run by IDA

Retrieves a LambdaTest Test Manager test run by its exact ID: title, objective, status, type (Manual/Automation), build state, tags, and every test case included in the run along with the environment(s) (browser/OS/device/resolution) each one is set to run against. Note: this does not include per-execution pass/fail results - the status shown per test case is its own review status, not an execution outcome; use tm.get_testExecutionHistoryByTestCaseId for actual run history. TERMINOLOGY: a 'test case instance' is ONE (test case x environment) pairing, not one test case. If a single test case is assigned 2 environments in this run, that is 2 instances, not 1 - the count of unique test cases in a run is virtually always smaller than the instance count. KNOWN API QUIRK (already corrected in this tool's output, for awareness only): the LambdaTest API's own total_test_cases/total_environments/total_run_instances fields on this endpoint are ALL THE SAME underlying number (the instance count) despite their distinct-sounding names. This tool does NOT trust those fields - the 'Test Cases (distinct)' and 'Environments (distinct)' figures shown below are computed directly from the instance list instead, so they ARE genuinely correct. tm.get_testRunsByProjectId independently reports correct distinct figures too (via different, non-quirky fields), so the two tools' numbers should agree for the same run - if they ever don't, that's worth flagging as a bug, not expected behavior. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
test_run_idYes

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavior: read-only nature, API quirk detailing how the tool corrects field inconsistencies, and clarifies that shown status is review status not execution outcome.

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?

The description is lengthy but efficient: every sentence adds unique value (inclusions, exclusions, terminology, quirk, cross-tool notes). Well-structured with front-loaded main purpose.

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?

Given no output schema and a simple input schema, the description thoroughly covers return value details, behavioral quirks, and cross-referencing with sibling tools, making the agent fully informed for correct invocation.

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?

The sole parameter 'test_run_id' is simple, but the description adds no extra semantics beyond the schema's type and minLength. While the parameter is self-explanatory, given 0% schema coverage, the description could have elaborated on format or examples.

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 description clearly states it retrieves a test run by ID, lists exactly what data is included (title, objective, status, type, build state, tags, test cases with environments) and explicitly notes what is excluded (execution results). It differentiates from siblings like tm.get_testRunsByProjectId and tm.get_testExecutionHistoryByTestCaseId.

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?

Provides explicit when-to-use (needing single run details) and when-not (for execution results, directing to alternative tool). Also provides terminology clarifications and cross-tool consistency checks, giving comprehensive usage guidance.

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

tm.get_testRunFoldersByProjectIdGet Test Manager Test Run Folders by Project IDA

Retrieves the folder/subfolder hierarchy used to organize TEST RUNS in a LambdaTest Test Manager project: each folder's name, ID, description, parent folder, timestamps, and test run counts (direct and including subfolders). This is a SEPARATE folder tree from test case folders (tm.get_foldersByProjectId) - the two do not share folder IDs. This tool only returns the folder structure and counts, not the runs themselves - use tm.get_testRunsByProjectId with its folder_id filter, passing a folder ID from here, to list the actual test runs inside a given folder. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It declares the tool as read-only ('does not modify anything') and lists what it returns. It could mention potential error cases or response size limits, but the information given is sufficient for basic transparency.

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?

The description is a single paragraph that front-loads the main purpose, then adds distinctions and usage notes. Every sentence contributes useful information without redundancy.

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?

Given no output schema, the description explains the return fields (name, ID, timestamps, counts) and clarifies the separation from test case folders. It does not specify if results are paginated or ordered, but for a tool with one parameter, essentials are covered.

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?

With 0% schema description coverage, the description adds context that the project_id refers to a LambdaTest project, but it does not elaborate on format or source (e.g., from getProjects). This provides marginal added value over the schema's parameter definition.

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 description uses a specific verb 'Retrieves' and clearly identifies the resource as the folder/subfolder hierarchy for test runs. It distinguishes from the sibling tool tm.get_foldersByProjectId for test case folders, making the purpose unambiguous.

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 to use: to get test run folder hierarchy. It also clarifies what it does not return (the runs themselves) and directs to tm.get_testRunsByProjectId for listing runs, providing an alternative.

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

tm.get_testRunsByProjectIdGet Test Manager Test Runs by Project IDA

Retrieves every test run in a LambdaTest Test Manager project: title, folder ID, status, type, build state, objective, tags, distinct test case/environment counts, total test case instances, percent complete, and a pass/failed/skipped/etc. breakdown. KANEAI RUNS: a run's top-level type field is ALWAYS 'Manual' regardless of whether it's a real manual run or a KaneAI-generated one - it does not distinguish them, despite the name. The actual signal is 'KaneAI-Generated' (the API's is_auteur_generated field) - true for a run KaneAI itself created. Manual and KaneAI test runs are not interchangeable (a manual test case cannot correctly run inside a KaneAI run and vice versa) regardless of the separate 'Editable'/schedule fields - use 'KaneAI-Generated' before calling tm.add_testCasesToTestRun, which refuses to modify any KaneAI-generated run. 'Editable: No' and a schedule name instead indicate the run's composition is currently owned/regenerated by an active KaneAI schedule - a related but separate concern from manual/KaneAI compatibility (a one-off, unscheduled KaneAI run can be 'Editable: Yes' and still be a KaneAI run). FOLDERS: test runs can be organized into their own folders/subfolders, entirely separate from the folder tree used for test cases (tm.get_foldersByProjectId) - a test run's folder and the folders its individual test cases live in are unrelated concepts and do not share IDs. This is currently the only tool that reliably reports a test run's OWN folder_id - tm.get_testRunById and tm.get_testCaseInstancesByTestRunId both return an empty folder_id for the same run. There is no known endpoint to browse/resolve the test-run folder tree itself (name, parent, path) - only this raw folder_id value is available so far. TERMINOLOGY: a 'test case instance' is ONE (test case x environment) pairing, not one test case - e.g. 1 test case assigned 2 environments contributes 2 to 'Total Test Case Instances' but only 1 to 'Test Cases'. 'Test Cases' and 'Environments (distinct)' below ARE correctly distinct counts on this endpoint (unlike tm.get_testRunById, where the API's equivalently-named raw fields are all just duplicates of the instance count - that tool works around it by computing its own distinct counts, so both tools' numbers should agree for the same run). Supports pagination (page, per_page) and filtering by status (e.g. 'Not Started', 'In Progress', 'Passed', 'Failed', 'Skipped'), build_state ('active' or 'archived'), and/or folder_id (the test run's OWN folder - see the Folder ID note above; this is NOT the folder_id of any test case inside the run). Use tm.get_testRunById or tm.get_testCaseInstancesByTestRunId for full detail on a specific run. Read-only; does not modify anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
statusNo
per_pageNo
folder_idNo
project_idYes
build_stateNo

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: it is read-only, explains the KaneAI-generated run behavior, folder ID inconsistencies, and terminology nuances. This provides complete transparency beyond what structured fields could offer.

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 well-structured with sections (KANEAI RUNS, FOLDERS, TERMINOLOGY) and front-loaded with the core purpose. While every sentence adds value, some details could be slightly more concise. Overall, it's appropriate for the complexity.

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?

Given the complexity (6 parameters, no annotations, no output schema), the description is exceptionally complete. It covers edge cases, caveats, and relationships with sibling tools, leaving no significant gaps for an agent to understand correct usage.

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 0%, so the description must compensate. It adds meaning to parameters like folder_id (explaining it's the test run's own folder) and status (giving examples like 'Not Started', 'Passed'). It also mentions pagination parameters. However, it does not list all parameters explicitly, so not a perfect 5.

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 description uses a specific verb and resource: 'Retrieves every test run in a LambdaTest Test Manager project' and lists the fields returned, making the purpose clear. It also distinguishes from siblings by mentioning alternatives for detail, like tm.get_testRunById and tm.get_testCaseInstancesByTestRunId.

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 provides explicit guidance on when to use this tool versus alternatives, such as 'Use tm.get_testRunById or tm.get_testCaseInstancesByTestRunId for full detail on a specific run.' It also includes specific scenarios (e.g., checking 'KaneAI-Generated' before calling tm.add_testCasesToTestRun) and describes filtering options.

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

tm.trigger_testRunExecutionTrigger Test Run Execution on HyperExecuteA

Dispatches a Test Manager test run's test cases to HyperExecute for REAL execution - this is what actually starts automation running (creating a test run and adding test cases to it only prepares the composition; nothing runs until this is called). Input: test_run_id (required). Everything else is optional: concurrency (parallel workers, default 1), title (build name), console_log (false/true/'error'/'warn'/'info'), network_logs, network_full_har, region ('eastus'/'centralindia', web only), mobile_region ('us'/'eu'/'ap', mobile only), tunnel/dedicated_proxy/geolocation (mutually exclusive - use at most one), environment_id, retry_on_failure (default true) with max_retries (default 1), timezone ({region}), app_profiling, performance (Lighthouse report), android_app_id/ios_app_id, accessibility, network_throttle, replaced_url (dynamic URL substitution), report_enabled/extent_report_enabled, and report_email_to (max 10 addresses). IMPORTANT: the test_run_id you submit is treated as a TEMPLATE - it stays 'Not Started' and unchanged. The response returns a DIFFERENT, freshly created test_run_id holding the actual execution - always use that one (not the one you submitted) to check results. Only test cases whose own is_auteur_generated matches the run's type will actually execute (see tm.add_testCasesToTestRun) - this endpoint does not validate that itself. DANGER: this is a real, resource-consuming action that spins up actual HyperExecute cloud infrastructure - do not call speculatively. Confirm the test run and its composition are correct first (tm.get_testRunById) before triggering.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
regionNo
tunnelNo
timezoneNo
ios_app_idNo
concurrencyNo
console_logNo
geolocationNo
max_retriesNo
performanceNo
test_run_idYes
network_logsNo
replaced_urlNo
accessibilityNo
app_profilingNo
mobile_regionNo
android_app_idNo
environment_idNo
report_enabledNo
dedicated_proxyNo
report_email_toNo
network_full_harNo
network_throttleNo
retry_on_failureNo
extent_report_enabledNo

TDQS

A4.9/5.0
Behavior5/5

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

Discloses resource consumption, template behavior (returns different ID), and filtering based on is_auteur_generated, with no annotations to cover.

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?

Structured with clear intro, parameter list, and warnings, but slightly verbose; still well-organized and front-loaded.

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?

Given 25 parameters, no output schema, and complexity, it covers all parameters, execution behavior, and warnings comprehensively.

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

Parameters5/5

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

All 25 parameters are described in prose with defaults, enums, and constraints (e.g., mutually exclusive group), compensating for 0% 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?

Clearly states it dispatches test cases to HyperExecute for real execution, distinguishing from preparation tools like tm.create_testRun and tm.add_testCasesToTestRun.

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 advises not to call speculatively, suggests confirming with tm.get_testRunById, and explains the template behavior and execution constraints.

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

tm.update_testCaseUpdate Test Manager Test CaseA

Updates a LambdaTest Test Manager test case's metadata (title, description, priority, status, automation_status, preconditions, external_id, tags, attachments) and/or appends new steps to it. Only the fields you provide are changed - everything else is left as-is. attachments (if provided) REPLACES the test case's whole attachment list - use tm.upload_attachment first to get a file_key, then pass one or more file_keys here; if omitted, existing attachments are left untouched. new_steps can each optionally carry their own attachments (same file_key values) for a fresh step. Only ADDING new steps is supported (appended after existing ones); this tool cannot modify or delete existing steps (including their attachments), edit BDD scenarios, or edit dynamic fields. Internally fetches the test case's current snapshot_id right before updating, as required by the API. Requires at least one field or new_steps entry to actually change. Do not call this speculatively - updating a test case is a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleNo
statusNo
priorityNo
new_stepsNo
attachmentsNo
descriptionNo
external_idNo
test_case_idYes
preconditionsNo
commit_messageNo
automation_statusNo

TDQS

A4.9/5.0
Behavior5/5

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

Despite no annotations, the description discloses key behaviors: attachments replace the whole list while omitted leaves existing untouched; new_steps are appended only; internally fetches snapshot_id; requires at least one change. No contradictions.

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?

Every sentence adds value, no redundancy. Front-loaded with main action, then specifics. Efficiently covers constraints and behaviors.

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?

Given 12 parameters, no schema coverage, no output schema, and no annotations, the description is thorough. It explains replace vs merge, append-only steps, snapshot fetch, and constraints. No obvious gaps for agent decision-making.

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 0%, requiring description to compensate. It explains most parameters (title, description, priority, etc.) and details attachment replacement and step append behavior. Missing explanation for commit_message, but overall adds significant meaning beyond 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?

The description clearly states it updates metadata (listing fields) and/or appends new steps. This distinguishes it from siblings like tm.update_testCaseInstance which update instance steps, and tm.update_testCaseInstanceStep which modifies existing steps in an instance.

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 to use (update metadata or append steps), what not to do (cannot modify/delete existing steps, BDD, dynamic fields), and warns against speculative calls. Also mentions prerequisite to use tm.upload_attachment for file keys.

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

tm.update_testCaseInstanceUpdate a Test Manager Test Case InstanceA

Updates one or more of a single test case instance's own fields - status (Not Started/Passed/Failed/Skipped), assignee (user ID - see tm.get_organizationUsers to look one up), environment_id, and/or remarks - identified by its numeric test_instance_id (get it from tm.get_testCaseInstancesByTestRunId's 'Instance ID' field). Only the fields provided are changed; everything else about the instance, and every other instance in the run, is left untouched. Requires at least one field to change. Get a valid environment_id from tm.get_environments (or read one off an existing test-run instance via tm.get_testRunById). DANGER: only ever pass an environment_id from one of those two sources - a nonexistent environment_id does NOT return an error, it corrupts the run so badly that every subsequent read of it (tm.get_testRunById, tm.get_testCaseInstancesByTestRunId) starts failing with a 500 server error until repaired by another update. Do not call this speculatively - it's a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
remarksNo
assigneeNo
environment_idNo
test_instance_idNo

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: only provided fields are changed, at least one field is required, the persistence of the action, and a critical warning about environment_id corruption causing 500 errors. This is comprehensive and transparent.

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 well-structured, starting with the core action, then listing fields, then explaining identifiers and sources, and ending with a strong warning. Every sentence adds value, but it is slightly lengthy; could be tightened without losing clarity.

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?

Despite no output schema, the description provides enough context for using the tool: how to get parameters, what the tool does, and a crucial safety warning. It lacks error handling details (e.g., if test_instance_id doesn't exist) but is otherwise complete for a mutation 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?

Although schema description coverage is 0%, the description adds significant meaning by explaining each parameter's purpose, valid values (status enum), and how to obtain valid IDs (assignee from tm.get_organizationUsers, environment_id from tm.get_environments or existing instances). It compensates well for the lack of schema descriptions, though not every parameter is covered in equal depth.

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 description clearly states the verb 'updates' and resource 'test case instance's own fields', listing specific fields (status, assignee, environment_id, remarks) and the identifier (test_instance_id). It distinguishes from siblings like tm.bulkUpdate_testCaseInstances by focusing on a single instance.

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?

The description explains when to use the tool (to update specific fields of a single instance), provides sources for parameters (e.g., tm.get_organizationUsers for assignee, tm.get_environments for environment_id), and warns against speculative calls. However, it does not explicitly contrast with sibling tools like tm.bulkUpdate_testCaseInstances or tm.update_testCaseInstanceStep.

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

tm.update_testCaseInstanceStepUpdate a Test Manager Test Case Instance StepA

Updates ONE step's own status (Not Started/Passed/Failed/Skipped), remarks, and/or attachment_urls within a single test case instance, identified by the step's own numeric test_run_step_id (get it from tm.get_testCaseInstanceById's 'Step ID' field on each step - NOT the instance ID itself). Only the fields provided are changed; every other step on the same instance is untouched. IMPORTANT: updating step statuses does NOT automatically roll up to the instance's own overall result - set that separately with tm.update_testCaseInstance if needed. attachment_urls, despite the name, must contain file_key values from tm.upload_attachment (upload the file first, then pass its file_key here) - a raw URL is silently accepted but has no effect. Requires at least one field to change. Do not call this speculatively - it's a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
remarksNo
attachment_urlsNo
test_run_step_idNo

TDQS

A4.9/5.0
Behavior5/5

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

No annotations provided, so the description fully discloses all behavioral traits: that status updates do not roll up, attachment_urls must be file keys (raw URLs silently fail), requires at least one field to change, and it's a persistent action. No contradictions.

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 thorough and front-loaded with the main purpose, then detailed usage and warnings. Slightly verbose due to necessary nuance, but every sentence is informative. Slightly longer than minimal, but justified.

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?

Given the tool's complexity, lack of output schema, and four parameters, the description covers identification, field semantics, side effects, prerequisites (upload attachment), and behavioral nuances. No gaps remain.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates fully: explains the status enum, remarks as string, attachment_urls as array of file keys (with nuance), and test_run_step_id as string. Each parameter's meaning and constraints are clear.

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 description clearly states it updates one step's status, remarks, and/or attachment_urls within a single test case instance, identified by test_run_step_id. It distinguishes from related tools like tm.update_testCaseInstance by noting that step status updates do not roll up to the instance's overall result.

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?

Explicit guidance on when to use (updating a step), how to get the step ID (from get_testCaseInstanceById), and what fields can be changed. It also warns not to expect automatic rollup and not to call speculatively, providing clear when-not-to-use context.

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

tm.update_testRunStatusUpdate Test Manager Test Run StatusA

Sets the overall status of a LambdaTest Test Manager test run to one of 'Skipped', 'In Progress', 'Failed', or 'Passed'. This is undocumented (sourced from the browser network inspector, not the official API docs), so treat it as best-effort. This changes the run's own status field - it does not touch per-instance execution results. Do not call this speculatively - it's a real, persistent action.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes
test_run_idYes

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the tool is undocumented, best-effort, changes only run status (not per-instance), and is a persistent action. More detail on failure modes would improve, but current disclosure is adequate.

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?

Three sentences, each serving a distinct purpose: action, caveat (undocumented), and warning (persistent). No wasted words. Front-loaded with main function.

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?

Lacks description of return values or error handling. Given no output schema, the description should ideally mention what the tool returns on success/failure. Current description provides enough to use the tool but incomplete for full understanding.

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 0%, so description must add meaning. It lists allowed status values and clarifies that test_run_id identifies the run. However, it does not explain the format or source of test_run_id, leaving some ambiguity.

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 description clearly states the tool sets the overall status of a test run to specific values, distinguishing it from per-instance status updates. Sibling tools like tm.update_testCaseInstance handle instance-level, so this is well differentiated.

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?

The description provides explicit guidance: 'Do not call this speculatively - it's a real, persistent action.' It also warns that the endpoint is undocumented. However, it does not explicitly contrast when to use this versus alternative tools, though the scope is clear.

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

tm.upload_attachmentUpload a Test Manager AttachmentA

Uploads a local file (given by its path on this machine) to Test Manager's attachment storage. Returns the uploaded file's file_key, file name, and a presigned URL. Use the file_key (not the URL) with tools that accept attachment_urls, e.g. tm.update_testCaseInstanceStep - despite that field's name, it expects file_key values. The returned URL is only useful for immediately previewing the upload; it's time-limited, not a permanent link. Do not call this speculatively - it performs a real upload.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYes

TDQS

A4.8/5.0
Behavior4/5

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

With no annotations, the description must disclose behavioral traits. It does so by stating 'performs a real upload', that the URL is time-limited, and that the file_key is the persistent identifier. However, it does not mention file size limits, allowed file types, or authentication requirements, leaving some gaps.

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?

The description is concise (three sentences) and front-loaded: it first states the action and return values, then gives usage guidelines, then a warning. Every sentence adds value without redundancy.

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?

Given the simple tool (1 param, no output schema, no annotations), the description covers the tool's purpose, return values, behavior, and important usage notes (time-limited URL, file_key usage). It is sufficiently complete for an agent to use the tool correctly.

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

Parameters5/5

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

The schema provides 0% coverage (no descriptions for parameters), so the description must compensate. It explains that file_path is a local file path on the machine, adding critical meaning beyond the schema's type 'string'. This fully clarifies the parameter's semantics.

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 description uses a specific verb 'Uploads' and clearly defines the resource 'Test Manager attachment storage'. It distinguishes this tool from siblings by being the only upload tool, and it clarifies the return values and their usage (file_key vs URL).

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 explicitly states when to use the output (file_key with other tools like tm.update_testCaseInstanceStep) and warns against speculative calls. It provides clear context for using the returned values, which is essential for an upload tool.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 39 tool updatesv0.1.0
    • First observedtm.add_testCasesToTestRun
    • First observedtm.bulkUpdate_testCaseInstances
    • First observedtm.create_folder
    • First observedtm.create_project
    • First observedtm.create_testCases
    • First observedtm.create_testRun
    • First observedtm.create_testRunFolder
    • First observedtm.generate_testExecutionRCA
    • First observedtm.get_environments
    • First observedtm.get_foldersByProjectId
    • First observedtm.get_hyperExecuteJobById
    • First observedtm.get_hyperExecuteJobs
    • First observedtm.get_hyperExecuteJobScenarios
    • First observedtm.get_hyperExecuteJobSessions
    • First observedtm.get_hyperExecuteTestDetails
    • First observedtm.get_organizationUsers
    • First observedtm.get_projectById
    • First observedtm.get_serverInfo
    • First observedtm.get_testCaseById
    • First observedtm.get_testCaseInstanceById
    • First observedtm.get_testCaseInstancesByTestRunId
    • First observedtm.get_testCasesByFolderId
    • First observedtm.get_testCasesByProjectId
    • First observedtm.get_testExecutionData
    • First observedtm.get_testExecutionHistoryByJiraId
    • First observedtm.get_testExecutionHistoryByTestCaseId
    • First observedtm.get_testExecutionRCA
    • First observedtm.get_testExecutionRCAStatus
    • First observedtm.get_testRunById
    • First observedtm.get_testRunFoldersByProjectId
    • First observedtm.get_testRunsByProjectId
    • First observedtm.link_jiraIssue
    • First observedtm.trigger_testRunExecution
    • First observedtm.unlink_jiraIssue
    • First observedtm.update_testCase
    • First observedtm.update_testCaseInstance
    • First observedtm.update_testCaseInstanceStep
    • First observedtm.update_testRunStatus
    • First observedtm.upload_attachment

TDQS

A4.1/5.0

Scored across 39 tools

Disambiguation4/5

Tools are mostly distinct with clear resource+action targets. Some potential confusion between 'get_testCaseInstancesByTestRunId' and 'get_testCaseInstanceById' (collection vs single), but descriptions explicitly distinguish IDs and granularity. Overlap is minimal.

Naming Consistency4/5

Predominantly follows 'tm.<verb>_<noun>' pattern (e.g., create_testCases, get_testRunById). Inconsistency with 'bulkUpdate_testCaseInstances' using camelCase for 'bulkUpdate' while others use snake_case (e.g., 'add_testCasesToTestRun'). Overall convention is mostly consistent.

Tool Count3/5

39 tools is high for a single server, covering Test Manager, HyperExecute, and AI RCA. Many are read-only, but the count feels heavy. Tools are scoped to a specific domain, but some granularity could be merged (e.g., multiple get_hyperExecute* tools).

Completeness3/5

Covers main CRUD for test artifacts and execution lifecycle, plus Jira linking and RCA. Notable gaps: no deletion tools for projects/folders/test cases/runs, no listing of all projects (only by ID), and no direct update of existing test steps (only append). Core workflows are present but missing cleanup operations.

Maintenance

ActivityStale
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with TestRail test management systems through comprehensive API integration. Supports retrieving and updating test cases, projects, suites, runs, and results, plus adding attachments and managing test data through natural language commands.
    18
    12
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Testmo test management platform for creating, reading, updating, and deleting test cases, managing folders, and organizing test runs through natural language.
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Connects AI coding assistants to TestCollab for managing test cases, plans, and suites directly through natural language. It enables users to create, update, and query testing resources within integrated development environments and AI chat clients.
    17
    193
    4
    MIT

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/prakhar-gahlot/TestMu-AI-Test-Manager-MCP'

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