What you’ll learn
All available MCP tools for test runs, test cases, and manual test management
Input parameters and output formats for each tool
Usage examples for querying and debugging
Parameters and usage examples for each TestDino MCP tool.
Category Tool Description Connection healthVerify server status and token access Analysis list_testrunsList and filter test runs get_run_detailsFull report for one or more runs list_testcaseList and filter test cases across runs get_testcase_detailsFull debug context for a single test case debug_testcaseRoot cause analysis and fix recommendations Test Case Management list_manual_test_casesSearch manual test cases get_manual_test_caseFetch a manual test case with steps create_manual_test_caseCreate a manual test case update_manual_test_caseUpdate fields on a manual test case list_manual_test_suitesList suite hierarchy create_manual_test_suiteCreate 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.
Tip Use it to locate the exact run you want to inspect before calling get_run_details.
Parameter Type Required Description project-id/namestring Yes Project ID or name to list runs from. by_branchstring No Git branch name, e.g., main, develop. by_time_intervalstring No 1h, 2h, 6h, 12h, 1d, 3d, weekly, monthly, or date range YYYY-MM-DD, YYYY-MM-DD.by_authorstring No Commit author name; case-insensitive partial match. by_commitstring No Commit hash (full or partial). by_environmentstring No Environment, e.g., production, staging, development. limitnumber No Results per page (default: 20, max: 1000). pagenumber No Page number for pagination (default: 1). get_allboolean No Retrieve all results up to 1000.
Note 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/namestring No* Project ID or name. Not required if testrun_id is provided. testrun_idstring No Single ID or comma-separated IDs for batch lookup (max 20). counter + projectId/namenumber No Sequential run counter number. Requires project ID or name.
Note 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_idstring No* Single or multiple run IDs (comma-separated, max 20). counter + projectId/namenumber + string No* Run counter with project ID/name. Alternative to by_testrun_id. by_statusstring No passed, failed, skipped, flaky.by_spec_file_namestring No Filter by spec file name. by_error_categorystring No Error category name. by_browser_namestring No Browser name, e.g., chromium. by_tagstring No Tag or comma-separated tags. by_total_runtimestring No Time filter using operators, e.g., <60, >100. by_artifactsboolean No true to only return cases with artifacts.by_error_messagestring No Partial match on error message. by_attempt_numbernumber No Filter by attempt number. by_branchstring No Branch name; filters runs first, then returns cases. by_time_intervalstring No 1d, 3d, weekly, monthly, or date range.limitnumber No Results per page (default: 1000, max: 1000). pagenumber No Page number (default: 1). get_allboolean 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_idstring No* Test case ID. Can be used alone. testcase_namestring No* Test case name. Requires testrun_id or counter + projectId/name. testrun_idstring No Required when using testcase_name to identify the run. counter + projectId/namenumber + 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 projectIdstring Yes The project ID containing the test case. testcase_namestring 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
Warning 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 projectIdstring Yes The project ID that contains the test cases. timestring No 1h, 2h, 6h, 12h, 1d, 3d, weekly, monthly, or date range YYYY-MM-DD, YYYY-MM-DD.searchstring No Match against title, description, or caseId. Example: login or TC-123. suiteIdstring No Filter by suite ID. Use list_manual_test_suites to find IDs. statusstring No Active, Draft, or Deprecated.prioritystring No Blocker, Critical, Major, Normal, Minor, Trivial, or Not set.severitystring No Blocker, Critical, Major, Normal, Minor, Trivial, or Not set.typestring No Functional, Smoke, Regression, Security, Performance, E2E, Integration, API, Unit, Accessibility, Compatibility, Acceptance, Exploratory, Usability, or Other.layerstring No E2E, API, Unit, or Not set.behaviorstring No Positive, Negative, Destructive, or Not set.automationStatusstring No Manual, Automated, or To be automated.tagsstring No Comma-separated tags. Example: smoke,regression. isFlakyboolean No true for flaky only, false for non-flaky.limitnumber No Max results (max: 1000).
Example
get_manual_test_case
Fetches one manual test case, including steps and custom fields.
Parameter Type Required Description projectIdstring Yes The project ID that contains the test case. caseIdstring 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 projectIdstring Yes The project ID where the test case will be created. titlestring Yes The test case title. suiteIdstring Yes The suite ID. Use list_manual_test_suites to find IDs. descriptionstring No Description of what the test covers. statusstring No Active, Draft, or Deprecated.stepsDeclarationTypestring No Classic or Gherkin.preconditionsstring No Setup requirements before running this test. postconditionsstring No Expected state after the test completes. stepsarray No Classic: {action, expectedResult, data}. Gherkin: {event, stepDescription} where event is Given, When, And, Then, or But. prioritystring No Blocker, Critical, Major, Normal, Minor, Trivial, or Not set.severitystring No Blocker, Critical, Major, Normal, Minor, Trivial, or Not set.typestring No Functional, Smoke, Regression, Security, Performance, E2E, Integration, API, Unit, Accessibility, Compatibility, Acceptance, Exploratory, Usability, or Other.layerstring No E2E, API, Unit, or Not set.behaviorstring No Positive, Negative, Destructive, or Not set.automationStatusstring No Manual, Automated, or To be automated.tagsstring No Comma-separated tags. automationobject No {toBeAutomated, isFlaky, muted}, all boolean.attachmentsarray No File attachments. Max 10 MB per file. customFieldsobject 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 projectIdstring Yes The project ID containing the test case. caseIdstring Yes Internal _id or human-readable ID (e.g., TC-123). updatesobject 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 projectIdstring Yes The project ID to list suites from. parentSuiteIdstring 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 projectIdstring Yes The project ID where the suite will be created. namestring Yes The name of the new test suite. descriptionstring No Description of the test suite. parentSuiteIdstring No Creates as a child of this parent. Empty creates a top-level suite.
Example