Parameters and usage examples for each TestDino MCP tool.
| Category | Tool | Description |
|---|
| Connection | health | Verify server status and token access |
| Analysis | list_testruns | List and filter test runs |
| get_run_details | Full report for one or more runs |
| list_testcase | List and filter test cases across runs |
| get_testcase_details | Full debug context for a single test case |
| debug_testcase | Root cause analysis and fix recommendations |
| Test Case Management | list_manual_test_cases | Search manual test cases |
| get_manual_test_case | Fetch a manual test case with steps |
| create_manual_test_case | Create a manual test case |
| update_manual_test_case | Update fields on a manual test case |
| list_manual_test_suites | List suite hierarchy |
| create_manual_test_suite | Create a new suite |
Connection
health
Verifies the server is running and validates your API token. Returns PAT validation status, connection status, organisation and project access, and available modules (Test runs, Test case management).
After running health, tell the assistant which organisation or project you are working on. The assistant resolves and stores the projectId, so you do not need to specify it in future tool calls.
No parameters required for this tool.
Example
Analysis
list_testruns
Lists runs with filtering by branch, environment, time window, author, and commit.
Use it to locate the exact run you want to inspect before calling get_run_details.
| Parameter | Type | Required | Description |
|---|
project-id/name | string | Yes | Project ID or name to list runs from. |
by_branch | string | No | Git branch name, e.g., main, develop. |
by_time_interval | string | No | 1h, 2h, 6h, 12h, 1d, 3d, weekly, monthly, or date range YYYY-MM-DD, YYYY-MM-DD. |
by_author | string | No | Commit author name; case-insensitive partial match. |
by_commit | string | No | Commit hash (full or partial). |
by_environment | string | No | Environment, e.g., production, staging, development. |
limit | number | No | Results per page (default: 20, max: 1000). |
page | number | No | Page number for pagination (default: 1). |
get_all | boolean | No | Retrieve all results up to 1000. |
Filters can be combined. Pagination uses page and limit. get_all=true fetches up to 1000 records.
Example
get_run_details
Returns a full report for one run, including suite breakdowns, test cases, failure categories, rerun metadata, and raw JSON.
| Parameter | Type | Required | Description |
|---|
project-id/name | string | No* | Project ID or name. Not required if testrun_id is provided. |
testrun_id | string | No | Single ID or comma-separated IDs for batch lookup (max 20). |
counter + projectId/name | number | No | Sequential run counter number. Requires project ID or name. |
Provide testrun_id when you have a stable run identifier. Provide counter with project ID/name when your team references runs by sequence number.
Example
list_testcase
Lists test cases across runs with both run-level and case-level filters.
How it works:
- Identifies matching runs (by run ID, counter, or run filters like branch and time)
- Returns test cases from those runs
- Applies case-level filters (status, tag, browser, error category, runtime, artifacts)
| Parameter | Type | Required | Description |
|---|
by_testrun_id | string | No* | Single or multiple run IDs (comma-separated, max 20). |
counter + projectId/name | number + string | No* | Run counter with project ID/name. Alternative to by_testrun_id. |
by_status | string | No | passed, failed, skipped, flaky. |
by_spec_file_name | string | No | Filter by spec file name. |
by_error_category | string | No | Error category name. |
by_browser_name | string | No | Browser name, e.g., chromium. |
by_tag | string | No | Tag or comma-separated tags. |
by_total_runtime | string | No | Time filter using operators, e.g., <60, >100. |
by_artifacts | boolean | No | true to only return cases with artifacts. |
by_error_message | string | No | Partial match on error message. |
by_attempt_number | number | No | Filter by attempt number. |
by_branch | string | No | Branch name; filters runs first, then returns cases. |
by_time_interval | string | No | 1d, 3d, weekly, monthly, or date range. |
limit | number | No | Results per page (default: 1000, max: 1000). |
page | number | No | Page number (default: 1). |
get_all | boolean | No | Get all results up to 1000. |
* Provide at least one: by_testrun_id, counter + projectId/name, or a run filter like by_branch with by_time_interval.
Example
get_testcase_details
Fetches full debug context for a single test case, including retries and artifacts.
| Parameter | Type | Required | Description |
|---|
testcase_id | string | No* | Test case ID. Can be used alone. |
testcase_name | string | No* | Test case name. Requires testrun_id or counter + projectId/name. |
testrun_id | string | No | Required when using testcase_name to identify the run. |
counter + projectId/name | number + string | No | Alternative to testrun_id when using testcase_name. |
* Provide either testcase_id alone, or testcase_name with testrun_id or counter.
Example
debug_testcase
Debugs a test case by aggregating historical execution and failure data across multiple runs.
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID containing the test case. |
testcase_name | string | Yes | The name of the test case to debug. |
The tool provides:
- Root cause analysis: analyzes error messages, artifacts, stack traces, and error categories across historical runs
- Failure patterns: identifies common error categories, messages, and locations
- Fix recommendations: suggests fixes based on historical analysis and failure patterns
AI-generated fixes are recommendations, not final changes. If you do not have access to the application source code, validate suggestions manually before applying them. Use the recommendations to understand why the test is failing, then adjust based on what you observe in the product.
Test Case Management
list_manual_test_cases
Searches manual test cases within a project.
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID that contains the test cases. |
time | string | No | 1h, 2h, 6h, 12h, 1d, 3d, weekly, monthly, or date range YYYY-MM-DD, YYYY-MM-DD. |
search | string | No | Match against title, description, or caseId. Example: login or TC-123. |
suiteId | string | No | Filter by suite ID. Use list_manual_test_suites to find IDs. |
status | string | No | Active, Draft, or Deprecated. |
priority | string | No | Blocker, Critical, Major, Normal, Minor, Trivial, or Not set. |
severity | string | No | Blocker, Critical, Major, Normal, Minor, Trivial, or Not set. |
type | string | No | Functional, Smoke, Regression, Security, Performance, E2E, Integration, API, Unit, Accessibility, Compatibility, Acceptance, Exploratory, Usability, or Other. |
layer | string | No | E2E, API, Unit, or Not set. |
behavior | string | No | Positive, Negative, Destructive, or Not set. |
automationStatus | string | No | Manual, Automated, or To be automated. |
tags | string | No | Comma-separated tags. Example: smoke,regression. |
isFlaky | boolean | No | true for flaky only, false for non-flaky. |
limit | number | No | Max results (max: 1000). |
Example
get_manual_test_case
Fetches one manual test case, including steps and custom fields.
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID that contains the test case. |
caseId | string | Yes | Internal _id or human-readable ID (e.g., TC-123). |
Example
create_manual_test_case
Creates a manual test case under a specific suite.
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID where the test case will be created. |
title | string | Yes | The test case title. |
suiteId | string | Yes | The suite ID. Use list_manual_test_suites to find IDs. |
description | string | No | Description of what the test covers. |
status | string | No | Active, Draft, or Deprecated. |
stepsDeclarationType | string | No | Classic or Gherkin. |
preconditions | string | No | Setup requirements before running this test. |
postconditions | string | No | Expected state after the test completes. |
steps | array | No | Classic: {action, expectedResult, data}. Gherkin: {event, stepDescription} where event is Given, When, And, Then, or But. |
priority | string | No | Blocker, Critical, Major, Normal, Minor, Trivial, or Not set. |
severity | string | No | Blocker, Critical, Major, Normal, Minor, Trivial, or Not set. |
type | string | No | Functional, Smoke, Regression, Security, Performance, E2E, Integration, API, Unit, Accessibility, Compatibility, Acceptance, Exploratory, Usability, or Other. |
layer | string | No | E2E, API, Unit, or Not set. |
behavior | string | No | Positive, Negative, Destructive, or Not set. |
automationStatus | string | No | Manual, Automated, or To be automated. |
tags | string | No | Comma-separated tags. |
automation | object | No | {toBeAutomated, isFlaky, muted}, all boolean. |
attachments | array | No | File attachments. Max 10 MB per file. |
customFields | object | No | Key-value pairs for project-specific custom fields. |
Example
update_manual_test_case
Updates only the fields you provide. All other fields remain unchanged.
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID containing the test case. |
caseId | string | Yes | Internal _id or human-readable ID (e.g., TC-123). |
updates | object | Yes | Fields to update. Accepts all fields from create_manual_test_case. |
Example
list_manual_test_suites
Returns the suite hierarchy for a project.
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID to list suites from. |
parentSuiteId | string | No | Returns only child suites of this parent. Empty returns top-level suites. |
Example
create_manual_test_suite
Creates a new suite. Use parentSuiteId to nest it under an existing suite.
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | The project ID where the suite will be created. |
name | string | Yes | The name of the new test suite. |
description | string | No | Description of the test suite. |
parentSuiteId | string | No | Creates as a child of this parent. Empty creates a top-level suite. |
Example