TestMu AI (formerly LambdaTest)
REMOTE · MCP.LAMBDATEST.COM
Agentic AI quality engineering: run, debug and triage tests on real browsers and devices
Available components
Last scanned (5 hours ago)
Scores higher than 84% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Testing and QA
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security78
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 401, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 12256 tokens (~139/item across 88 items; 88 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management88
- Stability check failed: schema churn in the 30 days we've observed: 10 tool removals, 2 breaking changes, 0 auth/transport breaks, 3 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (3% of tools); any adoption earns full credit.Pass
Tool Safety84
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 7 of 20 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "generateHyperExecuteYAML" implies "execute" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Partial
- An AI judge read all 89 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 4 Nov 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 3 Nov 26 +1
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 2 Nov 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 1 Nov 26 +1
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 31 Oct 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 30 Oct 26 +1
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
- 29 Oct 26 0
- This server's schema is too large to store in full, so we cannot compare its tools day to day functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.lambdatest.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=testmuai.com | CN=Thawte TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US | 24 Sept 2026 | 6 Apr 2027 | RSA 2048 | SHA256-RSA | af2c3799e8f1867a2aeb053d4e5da2e |
| SANs: testmuai.com, *.testmuai.com, *.testmu.ai, *.lambdatest.com, *.hyperexecute.cloud, *.lambdatest.io, *.lambdatest.cloud, *.lambdatestinternal.com, *.enterprise.lambdatestinternal.com, *.cgi.hyperexecute.cloud | ||||||
| CN=Thawte TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US (CA) | CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US | 2 Nov 2017 | 2 Nov 2027 | RSA 2048 | SHA256-RSA | 90ee8c5de5bfa62d2ae2ff7097c4857 |
| CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US (CA) | CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US | 1 Aug 2013 | 15 Jan 2038 | RSA 2048 | SHA256-RSA | 33af1e6a711a9a0bb2864b11d09fae5 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.lambdatest.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| lambdatest.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer realm="MCP Server", resource_metadata="https://mcp.lambdatest.com/.well-known/oauth-protected-resource/mcp"
Bearer realm="MCP Server", resource_metadata="https://mcp.lambdatest.com/.well-known/oauth-protected-resource/mcp" Protected resource metadata
| Document | https://mcp.lambdatest.com/.well-known/oauth-protected-resource/mcp |
|---|---|
| Retrieved | Yes |
| Resource | https://mcp.lambdatest.com/mcp |
| Authorisation server | https://auth.lambdatest.com |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.lambdatest.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.lambdatest.com/mcp | Inconclusive | 401 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
postTestExceptions Post Test Exceptions ~89
Upload exception logs for a specific test (by test ID) rather than by session ID. The result reads the test's exceptions back to confirm they were stored. The automation dashboard may not show exceptions uploaded this way after the test ended.
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | The exceptions to attach: {"exception": ["first message", "second message"]} |
| testId | string | yes | The test ID |
No output schema declared.
No examples provided.
smartui_baseline_manage SmartUI Baseline Manage ~192
Merge SmartUI baselines across branches or builds (to read baseline settings, use smartui_project_query with action=get). merge_branch/merge_build resolve source and target names to builds, merge them, then poll the merged build and report its real terminal status — a merge that lands in error or with zero screenshots is returned as a tool error, not as success. Merging permanently changes baseline state: the merged build takes the baseline flag, so a failed merge leaves the baseline on an empty build.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | merge_branch merges one branch baseline into another; merge_build merges one build into another |
| project_id | string | yes | Project id (required) |
| source | string | – | Source branch (merge_branch) or build name (merge_build) to merge FROM |
| target | string | – | Target branch (merge_branch) or build name (merge_build) to merge INTO |
No output schema declared.
No examples provided.
smartui_build_query SmartUI Build Query ~268
List SmartUI builds in a project, get one build, or get the CI gate verdict for a build. Use action=gate in pipelines: it returns verdict (passed|failed|pending_approval|running|error), totals (including missing screenshots the baseline has), blocking_comparison_ids, and blocking[] with per-item detail. verdict=failed covers rejections AND builds that dropped baseline screenshots. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | list builds, get one build, or gate (CI verdict) |
| branch | string | – | Filter builds by branch (list only) |
| build_id | string | – | Build id — required for get/gate (or use build_name) |
| build_name | string | – | Build name. get/gate: exact name, an alternative to build_id. list: case-insensitive substring filter, applied client-side to the newest 200 builds (upstream has no name filter). |
| build_status | string | – | Substring filter on build status (list only), e.g. "pending-approval" |
| limit | number | – | Page size (list only, default 50, max 200) |
| page | number | – | Page number (list only, 1-based) |
| project_id | string | yes | Project id (required) |
No output schema declared.
No examples provided.
smartui_comparison_analyze SmartUI Comparison Analyze ~245
Analyze one SmartUI comparison through a lens: consolidated (default), pixel, or dom. Returns the comparison data (mismatch %, verdict, correctly-labelled asset URLs) plus, for lens=dom, a real DOM byte delta when the artefact is served — no local filesystem needed. consolidated and pixel report upstream numbers and point at the assets; they do not run their own image analysis. lens=dom degrades to a structured error when DOM artefacts are not served. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| comparison_id | string | yes | Comparison id (required) — from smartui_comparison_query |
| include_assets | string | – | urls (default) returns asset URLs only. inline additionally attaches the screenshots themselves as image blocks — compared only for lens=pixel, baseline+current+compared for consolidated, none for le… |
| lens | string | – | Analysis lens (default consolidated). layout and perceptual were retired — they returned the consolidated payload unchanged. |
No output schema declared.
No examples provided.
smartui_comparison_query SmartUI Comparison Query ~211
List all comparisons in a SmartUI build (each row returns comparison_id AND ss_id), or get one comparison's detail (mismatch %, status, correctly-labelled baseline/current/compared asset URLs). This is how you obtain a comparison_id — you never need the dashboard. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | list comparisons in a build, or get one by comparison_id |
| build_id | string | – | Build id — required for action=list |
| comparison_id | string | – | Comparison id — required for action=get |
| limit | number | – | Page size (list only, default 50, max 200) |
| min_mismatch | number | – | Only comparisons with mismatch_percentage >= this (list only) |
| page | number | – | Page number (list only, 1-based) |
| project_id | string | – | Project id — required for action=list |
| status | string | – | Filter by status (list only), e.g. "changes_found", "approved" |
No output schema declared.
No examples provided.
smartui_project_query SmartUI Project Query ~153
List SmartUI projects, or get one project with its settings — action=get returns baseline_branch, approvers[], smart_baseline, auto_approval_branch, overwrite_screenshot and project_category alongside platform and project_type. Start here when you do not have a project_id. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | list all projects, or get one by project_id |
| limit | number | – | Page size (list only, default 50, max 200) |
| page | number | – | Page number (list only, 1-based) |
| project_id | string | – | Project id — required for action=get |
| search | string | – | Case-insensitive substring filter on project name (list only) |
No output schema declared.
No examples provided.
smartui_screenshot_review SmartUI Screenshot Review ~182
Approve or reject SmartUI comparisons — individually (comparison_ids or ss_ids), or for a whole build (all_matching:{status}). Ids are validated against the build before writing, and results are verified by re-reading status, so the response reports real per-item updated[]/failed[] and whether the baseline was promoted. Approving comparisons on the baseline branch can promote the build to baseline.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | approve or reject the selected comparisons |
| all_matching | object | – | Review every comparison in the build matching a status |
| build_id | string | yes | Build id the comparisons belong to (required) |
| comparison_ids | array | – | Comparison ids to review (resolved to ss_ids server-side) |
| project_id | string | yes | Project id (required) |
| ss_ids | array | – | Screenshot-variant ids to review directly |
No output schema declared.
No examples provided.
smartui_screenshot_upload SmartUI Screenshot Upload ~276
Upload screenshots to a SmartUI project as a new build, from local file_paths or from source_urls (fetched server-side, so it works without a client filesystem). Pass project_id to auto-resolve the project token. Set mark_baseline=true to seed a baseline. Returns build_id; follow with smartui_build_query(action=gate).
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | What to upload (currently images) |
| build_name | string | – | Name for this build (optional) |
| file_paths | array | – | Absolute local image paths (.png/.jpg/.jpeg). Only usable when the MCP server runs locally over stdio — the hosted server cannot see your filesystem; use source_urls there. |
| mark_baseline | boolean | – | Mark this build as the baseline |
| project_id | string | – | Project id — preferred; the projectToken is resolved automatically |
| screenshot_name | string | – | Name this screenshot (binds it to that baseline) instead of using the file/URL name. Sent exactly as given, with no extension added, so pass the baseline name as it appears in SmartUI (SDK and CLI ca… |
| source_urls | array | – | Public http/https image URLs, fetched server-side (max 20). Works in hosted mode. |
No output schema declared.
No examples provided.
stopBuild Stop Automation Build ~40
Stops every running test in a TestMu AI web automation build. Running sessions end immediately.
| Name | Type | Req | Description |
|---|---|---|---|
| buildId | number | yes | ID of the build to stop |
No output schema declared.
No examples provided.
stopSession Stop Session ~32
Stop an active running test session on TestMu AI.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionId | string | yes | The session ID to stop |
No output schema declared.
No examples provided.
stopTunnel Stop Tunnel ~46
Terminate a specific active tunnel connection by tunnel ID. Use this to clean up tunnels that are no longer needed.
| Name | Type | Req | Description |
|---|---|---|---|
| tunnelId | string | yes | The ID of the tunnel to stop |
No output schema declared.
No examples provided.
tm_create_folder Create Folder ~171
Create a folder — in a project's Test Cases tree (default) or Test Runs tree (pass project_id), or in the organization-level Modules tree (no project_id needed; module folders are shared across projects). Optionally nest it under an existing parent folder to build folder trees. Deleting folders is not available through this connection.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | Optional description |
| name | string | yes | Folder name |
| parent_folder_id | string | – | Nest under this existing folder (ULID); omit for top level |
| project_id | string | – | Project ID (ULID) — required for the test-cases and test-runs trees; not used for modules |
| tree | string | – | Which folder tree to create in (default test-cases). "modules" is organization-level. |
No output schema declared.
No examples provided.
tm_create_milestone Create Milestone ~149
Create a milestone in a project (status: Open), optionally with description, start/end dates, tags, and existing runs attached.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | What this milestone covers |
| end_at | string | – | End date (YYYY-MM-DD) |
| owner | string | – | Milestone owner: an organization member (email, username, or user id). Omit for no owner. |
| project_id | string | yes | Project ID (ULID) |
| start_at | string | – | Start date (YYYY-MM-DD) |
| tags | array | – | Labels |
| test_run_ids | array | – | Existing run ids to attach |
| title | string | yes | Milestone title |
No output schema declared.
No examples provided.
tm_create_project Create Project ~68
Create a new Test Manager project. Project & Org Instructions (Memory Layer) stay managed in the UI. Deleting projects is not available through this connection.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | What the project covers |
| name | string | yes | Project name |
| tags | array | – | Labels |
No output schema declared.
No examples provided.
tm_create_test_case Create Test Case ~241
Create a single test case in a project folder, with optional steps and references to existing step Modules (module steps are included; the Module itself is unchanged). For creating many cases from a requirement, prefer tm_generate_test_cases.
| Name | Type | Req | Description |
|---|---|---|---|
| automation_status | string | – | Automated, Not Automated or To Be Automated |
| description | string | – | What the case verifies |
| estimated_time | number | – | Estimated execution time in minutes |
| folder_id | string | – | Folder to file the case into |
| module_ids | array | – | Existing step Module ids to include (appended as module steps after test_steps) |
| preconditions | string | – | Setup required before the steps |
| priority | string | – | Lowest, Low, Medium, High or Highest |
| project_id | string | yes | Project ID (ULID) |
| status | string | – | e.g. Live, Unverified, Ready (default per project settings) |
| tags | array | – | Labels |
| test_steps | array | – | Ordered steps |
| title | string | yes | Test case title |
| type | string | – | e.g. Functional, Regression, Smoke & Sanity |
No output schema declared.
No examples provided.
tm_create_test_run Create Test Run ~394
Create a test run from chosen test cases — manual (default) or KaneAI (run_type: "kaneai"). Each included test case becomes a TEST RUN INSTANCE — the executable copy of that test inside the run, which carries its own status, remarks and exactly one Configuration. The cases must match the run type: KaneAI runs only take KaneAI-authored cases with completed code generation; manual runs only take manual cases. Optionally attach existing milestones, file into a run folder, and apply a Configuration to all instances (KaneAI configurations must be compatible with each case's platform — web/mobile-app/mobile-browser and iOS/Android).
| Name | Type | Req | Description |
|---|---|---|---|
| assignee | string | – | Assign every created instance to this organization member: email, username, or user id. Omit to leave the instances unassigned. |
| configuration_id | number | – | Apply ONE Configuration to every included test case (the configuration's top-level id from tm_list_configurations) |
| configuration_ids | array | – | Apply MULTIPLE Configurations: each included test case gets one test run instance per configuration (case × configuration), like the UI's Add Configuration checkboxes |
| folder_id | string | – | Test-run folder to file the run into |
| is_sequential | boolean | – | KaneAI runs only: execute the instances sequentially (default false). |
| milestone_ids | array | – | Existing milestone ids to attach the run to |
| objective | string | – | What this run verifies |
| project_id | string | yes | Project ID (ULID) |
| run_type | string | – | Run type (default manual). "kaneai" creates a KaneAI run: only KaneAI-authored test cases can be included, and configurations must be kane-supported and platform-compatible. |
| tags | array | – | Labels |
| test_case_ids | array | – | Test case ids to include |
| title | string | yes | Run title |
No output schema declared.
No examples provided.
tm_generate_test_cases Generate Test Cases with AI ~495
Generate structured test cases from a requirement or prompt using the Test Manager AI generator (applies the project's Memory Layer — Project & Org Instructions — automatically) and file them into the chosen folder. Requirement documents, specs, spreadsheets or screenshots can be attached via files to ground the generation. Volume = test_scenario_limit × per_scenario_test_cases_limit, capped at 50 per call. By default all generated cases are saved into the folder (one sub-folder per scenario); pass auto_save=false to review before saving. The call returns FAST with a request_id (and a browser progress URL) — generation takes ~30-90s in the background; call this tool again with just request_id to check progress, fetch results, or save. Note: consumes AI generation credits.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_save | boolean | – | Save all generated cases into the folder automatically (default true for a NEW generation). Set false to review first — that choice persists across request_id polls (a bare poll never saves it); to s… |
| files | array | – | Optional reference files to ground the generation (requirement docs, specs, data sheets, screenshots). Each item carries the file name and its raw bytes base64-encoded in content_base64. Supported: .… |
| folder_id | string | – | Folder to file generated cases into. Required when starting a new generation. |
| jira_ids | array | – | Optional Jira issue keys to use as requirement context |
| per_scenario_test_cases_limit | number | – | Max test cases per scenario (default 3) |
| project_id | string | – | Project ID (ULID). Required when starting a new generation. |
| prompt | string | – | The requirement / instructions to generate test cases from. Required when starting a new generation. |
| request_id | number | – | Resume/act on an earlier generation: check progress, fetch results, or save them. |
| test_scenario_limit | number | – | Max scenarios to generate (default 3) |
No output schema declared.
No examples provided.
tm_get_coverage_summary Get Coverage Summary ~200
Test coverage for a project, overall and per folder, computed live from the project's test cases (matches the Test Cases screen). Also answers requirement and traceability coverage: pass jira_id (any Jira issue key, e.g. TE-123: a requirement, user story, epic, ticket or bug) to get that item's test coverage (the test cases linked to it and how many are automated; zero linked cases means uncovered). For a set of requirements, call once per Jira key. A scope with no test cases returns all zeros; a Jira key that does not exist in the connected Jira returns an error.
| Name | Type | Req | Description |
|---|---|---|---|
| folder_id | string | – | Optional folder scope |
| jira_id | string | – | Optional Jira issue key (e.g. TE-123) — scope coverage to the test cases linked to this requirement / user story / epic / ticket (traceability coverage) |
| project_id | string | yes | Project ID (ULID) |
No output schema declared.
No examples provided.
tm_get_milestone Get Milestones ~78
Pass milestone_id to get one milestone's detail and live completion progress. Otherwise pass project_id to list the project's milestones.
| Name | Type | Req | Description |
|---|---|---|---|
| milestone_id | string | – | Milestone ID (ULID). When given, returns detail + progress. |
| project_id | string | – | Project ID (ULID). Required when milestone_id is not given. |
No output schema declared.
No examples provided.
tm_get_test_cases Find / Get Test Cases ~276
Find test cases in a project by filters (folder, priority, automation status, type, tags) and/or search (matches test case ID like TC-123, or title; minimum 3 characters) — returns summaries. Filters combine (AND). Pass case_id instead to get one case's full detail (steps, BDD scenarios, field values).
| Name | Type | Req | Description |
|---|---|---|---|
| automation_status | string | – | Filter by automation status (e.g. Automated, Not Automated, To Be Automated) |
| case_id | string | – | Test case ID (ULID). When given, returns that case's full detail and all other filters are ignored. |
| folder_id | string | – | Only cases in this folder |
| limit | number | – | Max results per page |
| page | number | – | Page number (1-based) |
| priority | string | – | Filter by priority (e.g. Lowest, Low, Medium, High, Highest). A value outside the project's priority list is rejected with the valid values. |
| project_id | string | – | Project ID (ULID). Required unless case_id is given. |
| search | string | – | Full-text keyword (min 3 chars) |
| tags | array | – | Filter by tags |
| type | string | – | Filter by test type (e.g. Functional, Regression, Smoke & Sanity) |
No output schema declared.
No examples provided.
tm_get_test_runs Get Test Runs ~267
Pass run_id to get one test run's detail plus its result summary (instance counts by status — passed / failed / skipped / not started / in progress — and pass rate). Otherwise pass project_id to list runs with optional filters. Every returned run carries run_type ("kaneai" or "manual") identifying KaneAI runs — the backend stores KaneAI runs with type "Manual" (result-entry mode), so use run_type, not type, to tell them apart.
| Name | Type | Req | Description |
|---|---|---|---|
| folder_id | string | – | Only runs in this folder |
| limit | number | – | Max results per page |
| page | number | – | Page number (1-based) |
| project_id | string | – | Project ID (ULID). Required when run_id is not given. |
| run_id | string | – | Test run ID (ULID). When given, returns detail + result summary. |
| run_type | string | – | Filter: "kaneai" (KaneAI runs), "manual" (human result-entry runs, KaneAI excluded), or "automation" (framework-uploaded runs). Buckets are disjoint. |
| search | string | – | Search runs by title |
| status | string | – | Filter: Not Started, In Progress, Passed, Failed, Skipped |
No output schema declared.
No examples provided.
tm_link_ado_issue Link Azure DevOps Work Item ~183
Link a test case, test run, or a run result (instance) to an Azure DevOps work item (requirement / user story / bug) by its URL — linked test cases are what give the work item its test coverage and traceability. Requires the Azure DevOps integration to be set up for the organization — otherwise a clear "set up Azure DevOps first" message is returned.
| Name | Type | Req | Description |
|---|---|---|---|
| entity_id | string | yes | Id of the case (ULID), run (ULID) or instance (number as string) |
| entity_type | string | yes | What to link |
| project_id | string | yes | Project ID (ULID) the entity belongs to |
| work_item_url | string | yes | The Azure DevOps work item URL, e.g. https://dev.azure.com/<organization>/<project>/_workitems/edit/165 |
No output schema declared.
No examples provided.
tm_link_jira_issue Link Jira Issue ~148
Link a test case, test run, or a run result (instance) to a Jira issue (requirement / user story / epic / bug) — linked test cases are what give the issue its test coverage and traceability. Linking a result also links its case and run. Requires the Jira integration to be set up for the organization — otherwise a clear "set up Jira first" message is returned.
| Name | Type | Req | Description |
|---|---|---|---|
| entity_id | string | yes | Id of the case (ULID), run (ULID) or instance (number as string) |
| entity_type | string | yes | What to link |
| issue_id | string | yes | Jira issue key, e.g. TE-123 |
No output schema declared.
No examples provided.
tm_list_configurations List Run Configurations ~193
List saved run Configurations (reusable platform / browser / OS / device setups). To apply one to a run, pass the configuration's TOP-LEVEL id to tm_create_test_run or tm_update_test_run as configuration_id (NOT the nested environments[].environment_id). Pass run_type to see only the configurations usable for that run type (kaneai vs manual). Each test instance carries exactly one configuration. Configurations are created by humans in the Test Manager UI. They are organization-level (shared by every project), so there is no project filter. Results are paged: the response says how many exist in total; page through them or raise limit to see all.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results per page (default 10) |
| page | number | – | Page number (1-based) |
| run_type | string | – | Only configurations supporting this run type (kane-supported vs manual-supported) |
No output schema declared.
No examples provided.
tm_list_folders List Folders ~136
Get a folder tree. Test Manager keeps three folder types: Test Cases and Test Runs folders (per project — pass project_id) and Modules folders (organization-level, since modules are shared across projects — no project_id needed). Pick with the tree parameter (default: test-cases). New test-case/test-run folders can be created with tm_create_folder.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | – | Project ID (ULID) — required for the test-cases and test-runs trees; not used for modules |
| tree | string | – | Which folder tree to return (default test-cases). "modules" is organization-level. |
No output schema declared.
No examples provided.
tm_list_modules List Step Modules ~148
List the organization's reusable step Modules (modules are org-level, shared across projects — the same list as the Modules page). Supports name search and pagination. Reference a module by id when creating or editing a test case to include its steps (the Module itself is never changed).
| Name | Type | Req | Description |
|---|---|---|---|
| folder_id | string | – | Only modules in this Modules folder (folder ids from tm_list_folders with tree="modules") |
| include_subfolders | boolean | – | With folder_id: also include modules from its subfolders |
| limit | number | – | Max results per page (default 100) |
| page | number | – | Page number (1-based) |
| search | string | – | Filter modules by name keyword |
No output schema declared.
No examples provided.
tm_list_projects List Test Manager Projects ~67
List all Test Manager projects the authenticated user is allowed to see. Supports keyword search and pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results per page (default 25) |
| page | number | – | Page number (1-based) |
| search | string | – | Filter projects by name keyword |
No output schema declared.
No examples provided.
tm_record_test_results Record Test Results (Bulk) ~243
Record execution results on a MANUAL run's TEST RUN INSTANCES (the per-run copies of each test case) — max 500 per request, all-or-nothing (larger requests are rejected with nothing recorded). Manual runs only: KaneAI run results are recorded by KaneAI executions, so manual entry on a KaneAI run is rejected. Target an instance by instance_id, or just pass test_case_id and the instance is resolved automatically. Valid statuses: Passed, Failed, Skipped, Not Started (terminal — run-level "In Progress" is set via tm_update_test_run). Re-recording a step status replaces its result: an omitted step remark is cleared; response echoes per-step outcomes. Optional remarks and assignee per result, and per-step results via steps[] (mark individual test steps / BDD scenario rows Passed/Failed/Skipped with remarks, like the UI's per-step Mark Status). Note: this sets INSTANCE statuses; the run's overall status is set separately via tm_update_test_run.
| Name | Type | Req | Description |
|---|---|---|---|
| results | array | yes | Results to record (max 500) |
| run_id | string | yes | Test run ID (ULID) |
No output schema declared.
No examples provided.
tm_update_folder Update Folder ~199
Rename a folder, change its description, or move it under a different parent folder. Works on all three folder types: per-project Test Cases (default) and Test Runs trees, and the organization-level Modules tree. Moves of test-cases/test-runs folders require project_id; module folders need none.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | New description |
| folder_id | string | yes | Folder ID (ULID) |
| name | string | – | New name |
| parent_folder_id | string | – | Move under this folder (ULID), or pass "root" to make it a top-level folder; cannot be the folder itself or one of its descendants |
| project_id | string | – | Project ID (ULID) — required when moving a test-cases or test-runs folder; not used for modules |
| tree | string | – | Which folder tree the folder belongs to (default test-cases). "modules" is organization-level. |
No output schema declared.
No examples provided.
tm_update_milestone Update Milestone ~204
Update a milestone — title, description, dates, tags — or change its status (e.g. mark it Completed). Deleting milestones is not available through this connection.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | New description |
| end_at | string | – | End date (YYYY-MM-DD) |
| milestone_id | string | yes | Milestone ID (ULID) |
| owner | string | – | Change the milestone Owner — an organization member (email, username, or user id). |
| project_id | string | yes | Project ID (ULID) |
| start_at | string | – | Start date (YYYY-MM-DD) |
| status | string | – | New status: Open (reopen) or Complete — the UI's two milestone states. "Active" and "Completed" are accepted as aliases and normalized to Open/Complete (any other stored value hides the milestone fro… |
| tags | array | – | Replace tags |
| title | string | – | New title |
No output schema declared.
No examples provided.
tm_update_project Update Project ~78
Update a project's name, description or tags (fields are merged — only what you pass changes). Project & Org Instructions stay managed in the UI.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | – | New description |
| name | string | – | New name |
| project_id | string | yes | Project ID (ULID) |
| tags | array | – | Replace tags |
No output schema declared.
No examples provided.
tm_update_test_case Update Test Case ~236
Edit an existing test case (fields are merged — only what you pass changes). test_steps, when given, REPLACE the case's steps; module_ids append module reference steps. Deleting test cases is not available through this connection.
| Name | Type | Req | Description |
|---|---|---|---|
| automation_status | string | – | Automated, Not Automated or To Be Automated |
| case_id | string | yes | Test case ID (ULID) |
| description | string | – | New description |
| estimated_time | number | – | Estimated minutes |
| folder_id | string | – | Move to this folder |
| module_ids | array | – | Existing step Module ids to append as module steps |
| preconditions | string | – | New preconditions |
| priority | string | – | Lowest, Low, Medium, High or Highest |
| project_id | string | yes | Project ID (ULID) |
| status | string | – | e.g. Live, Archived, Faulty, Ready |
| tags | array | – | Replace tags |
| test_steps | array | – | Replacement steps (omit to keep current steps) |
| title | string | – | New title |
| type | string | – | Test type |
No output schema declared.
No examples provided.
tm_update_test_run Update Test Run ~439
Update an open test run — overall status (Passed / Failed / Skipped / In Progress), title, objective, milestones, folder, add test cases (each added case becomes a new test run instance; cases must match the run's type — KaneAI or manual), apply a Configuration to the run's instances (configuration_id; on KaneAI runs it must be kane-supported and platform-compatible with the targeted cases), toggle sequential execution (KaneAI runs), or archive it. Only open (active) runs can be updated; a closed/archived run returns a clear message. Adding cases/milestones appends, never replaces.
| Name | Type | Req | Description |
|---|---|---|---|
| add_test_case_ids | array | – | Test case ids to add to the run (appended) |
| apply_to_test_case_ids | array | – | With configuration_id or configuration_ids: only apply to these test cases (default: all instances in the run) |
| archive | boolean | – | Archive (close) the run |
| assignee | string | – | Assign the run's instances to this organization member: email, username, or user id ("none" clears). Scope with apply_to_test_case_ids. Omit to keep the current assignee. |
| configuration_id | number | – | Set ONE Configuration on the run's instances (the configuration's top-level id from tm_list_configurations; each instance carries exactly one configuration) |
| configuration_ids | array | – | APPEND multiple Configurations: each targeted test case gets an additional instance per configuration (case × configuration, like the UI); existing configured instances are untouched |
| folder_id | string | – | Move to this run folder |
| is_sequential | boolean | – | KaneAI runs only: execute the instances sequentially. |
| milestone_ids | array | – | Milestone ids to attach (appended) |
| objective | string | – | New objective |
| run_id | string | yes | Test run ID (ULID) |
| status | string | – | Set the run's OVERALL status (independent of per-instance results). Manual runs only — KaneAI run status is managed by KaneAI executions. |
| title | string | – | New title |
No output schema declared.
No examples provided.
triggerSuiteRun Trigger Suite Run ~64
Triggers a phone call test run for a specific suite. This will initiate phone calls for all scenarios configured in the suite.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | The project ID that contains the suite |
| suiteName | string | yes | The name of the suite to trigger |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | – | Call initiation results |
| message | string | – | Status message |
| success | boolean | – | Whether the call initiation was successful |
No examples provided.
updateBuild Rename Automation Build ~49
Renames a TestMu AI web automation build. Overwrites the current build name.
| Name | Type | Req | Description |
|---|---|---|---|
| buildId | number | yes | ID of the build to rename |
| name | string | yes | New build name |
No output schema declared.
No examples provided.
updateSession Update Session ~77
Update the name or pass/fail status of a test session. Use status_ind to mark tests as passed, failed, error, or skipped from your test framework.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | – | New name for the session |
| sessionId | string | yes | The session ID to update |
| status_ind | string | – | Test result status |
No output schema declared.
No examples provided.
upload_app Upload App to LambdaTest ~126
Uploads an app to TestMu AI for mobile testing and displays upload status.
| Name | Type | Req | Description |
|---|---|---|---|
| appFilePath | string | – | Absolute path to the app file (APK, IPA, etc.). Provide this OR appUrl (exactly one is required). |
| appUrl | string | – | URL of the app to upload. Provide this OR appFilePath (exactly one is required). |
| customId | string | – | Custom ID for the app (optional) |
| name | string | yes | Name for the uploaded app |
| visibility | string | – | Visibility setting (optional, default: individual) |
| Name | Type | Req | Description |
|---|---|---|---|
| appId | string | – | The app ID |
| appUrl | string | – | The URL of the uploaded app to use in capabilities |
| error | string | – | Error message if upload failed |
| message | string | yes | Status message |
| success | boolean | yes | Whether the upload was successful |
No examples provided.
uploadAppVirtualDevice Upload App for Virtual Device ~131
Upload an app (APK for emulator, IPA for simulator) to TestMu AI for virtual device (emulator/simulator) testing.
| Name | Type | Req | Description |
|---|---|---|---|
| appUrl | string | – | Public URL of the app to upload (alternative to filePath) |
| custom_id | string | – | Custom identifier for the app |
| filePath | string | – | Absolute local path to the app file (APK or IPA) |
| name | string | yes | Name for the uploaded app |
| storage | string | – | Storage method (default: url when appUrl provided) |
| visibility | string | – | Access level (default: individual) |
No output schema declared.
No examples provided.
How do I install the TestMu AI (formerly LambdaTest) MCP server?
TestMu AI (formerly LambdaTest) is a hosted endpoint at https://mcp.lambdatest.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.lambdatest.com
claude mcp add --transport http lambdatest-mcp 'https://mcp.lambdatest.com/mcp'
What is the TestMu AI (formerly LambdaTest) MCP server?
TestMu AI (formerly LambdaTest) is an MCP server listed in the public MCP registry as io.github.LambdaTest/mcp. Agentic AI quality engineering: run, debug and triage tests on real browsers and devices. This page covers its hosted endpoint (https://mcp.lambdatest.com/mcp).
Is the TestMu AI (formerly LambdaTest) MCP server safe to use?
TestMu AI (formerly LambdaTest) scores 81 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the TestMu AI (formerly LambdaTest) MCP server expose?
TestMu AI (formerly LambdaTest) exposes 88 tools: upload_app, generateHyperExecuteYAML, answerHyperExecuteQuery, getHyperExecuteJobInfo, getHyperExecuteJobSessions, and 83 more. Their descriptions and schemas cost roughly 12,027 tokens of context every time the server is loaded.
Does the TestMu AI (formerly LambdaTest) MCP server require authentication?
Yes. TestMu AI (formerly LambdaTest) asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the TestMu AI (formerly LambdaTest) MCP server still maintained?
TestMu AI (formerly LambdaTest) is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.