TestDino MCP

A Model Context Protocol (MCP) server that connects TestDino to AI agents. This server enables you to interact with your TestDino test data directly through natural language commands.

TestDino Logo TestDino MCP

A Model Context Protocol (MCP) server that connects TestDino to AI agents. This server enables you to interact with your TestDino test data directly through natural language commands.

What is This?

This MCP server bridges the gap between your TestDino test management platform and AI agents. Instead of manually navigating the TestDino dashboard, you can ask your AI assistant to:

  • Check test run results
  • Analyze test failures
  • Get detailed test case information
  • Manage manual test cases and suites
  • Plan releases, spin up manual test runs, and assign testers
  • Run exploratory testing sessions
  • Record per-case verdicts (passed / failed / blocked / etc.) from chat

All through simple conversational commands.

Features

  • ๐Ÿ” Health Check: Verify your connection and validate your TestDino PAT. Get account information and list all available organizations and projects.
  • ๐Ÿ“Š Test Run Management: List and retrieve detailed information about your test runs with powerful filtering options (branch, time, author, commit, environment).
  • ๐Ÿงช Test Case Analysis: Get comprehensive details about individual test cases, including errors, logs, execution steps, and artifacts (screenshots, videos, traces).
  • ๐Ÿ› AI-Assisted Debugging: Debug test case failures with historical data aggregation, failure pattern analysis, and AI-friendly debugging prompts. Analyze patterns across multiple executions to identify root causes.
  • ๐Ÿงญ Test Quality Audit: Fetch a server-curated audit prompt plus branch signals, analyze your local test code, and store the completed report back in TestDino without uploading raw source files.
  • ๐Ÿ“ Test Case Management: Create, update, list, and retrieve manual test cases with comprehensive filtering and organization (status, priority, severity, type, layer, behavior, tags).
  • ๐Ÿ“ Test Suite Organization: Create and manage test suite hierarchies to organize your manual test cases.
  • ๐Ÿš€ Release Planning: Create, browse, and update releases (a.k.a. milestones), nest them up to 3 levels deep, and track rolled-up progress stats across all runs in a release.
  • โ–ถ๏ธ Manual Test Runs: Spin up runs scoped to specific suites or the whole project, attach them to a release, and update workflow state without leaving chat.
  • โœ… Per-case Assignment & Verdicts: Inside a run, assign each test case to a tester (by User _id or email) and set the result โ€” passed, failed, blocked, skipped, retest โ€” exactly as the UI does.
  • ๐Ÿ”ญ Exploratory Sessions: Create exploratory testing sessions with mission/charter, assign a tester, link to a release, and track state.
  • ๐Ÿ”Œ MCP Compatible: Built on the Model Context Protocol standard. You can configure TestDino MCP with any MCP-compatible IDEs or AI agents (Cursor, Claude Desktop, etc.).
  • โšก Easy Setup: Install and configure in minutes with npx. No installation required!
  • ๐Ÿ” Secure: PAT stored securely in your local configuration. One PAT provides access to all organizations and projects you have permissions for.

Available Tools

The server provides 27 powerful tools across five domains:

Test Execution & Results:

  1. health - Verify your connection and validate your PAT. Shows account information, available organizations, and projects with access permissions.
  2. list_testruns - Browse test runs with powerful filters (branch, time interval, author, commit, environment). Supports pagination and batch operations.
  3. get_run_details - Get comprehensive details about a specific test run including statistics, test suites, test cases, and metadata. Supports batch operations (comma-separated IDs, max 20).
  4. list_testcase - List test cases with comprehensive filtering (by test run, status, browser, error category, branch, environment, commit, author, spec file, tags, runtime, artifacts, and more). Can filter by test run criteria or directly by test case properties.
  5. get_testcase_details - Get detailed information about a specific test case including error messages, stack traces, test steps, console logs, and artifacts. Can identify by testcase_id alone or by testcase_name with testrun_id/counter.
  6. debug_testcase - Debug a test case by aggregating historical failure data across multiple executions. Returns failure patterns, error categories, common error messages, error locations, browser-specific issues, and a pre-formatted debugging prompt for AI analysis. Perfect for root-cause analysis and identifying flaky test behavior.
  7. test_audit - Run a single-pass test quality audit. Fetch the server-curated prompt and branch signals, analyze the repo locally, submit the completed report, browse historical audit reports, and optionally save TEST-AUDIT.md locally.

Test Case Management:

  1. list_manual_test_cases - Search and list manual test cases with comprehensive filtering (project, suite, status, priority, severity, type, layer, behavior, automation status, tags, flaky status).
  2. get_manual_test_case - Get detailed information about a specific manual test case including steps, custom fields, preconditions, postconditions, and all metadata.
  3. create_manual_test_case - Create new manual test cases with steps, preconditions, postconditions, and metadata (priority, severity, type, layer, behavior).
  4. update_manual_test_case - Update existing manual test cases (title, description, steps, status, priority, severity, type, layer, behavior, preconditions, postconditions).
  5. list_manual_test_suites - List test suite hierarchy to find suite IDs for organization. Supports filtering by parent suite.
  6. create_manual_test_suite - Create new test suite folders to organize test cases. Supports nested suites by providing parentSuiteId.

Releases (a.k.a. Milestones):

  1. list_releases - Browse releases for a project with filters (search, type, completion status, parent release). Releases group runs + sessions and can nest up to 3 levels deep.
  2. get_release - Get full details for one release including dates, status, parent/root hierarchy, and rolled-up progress stats across all runs in this release and its descendants. Accepts internal _id or counter-style ID like MS-12.
  3. create_release - Create a new release with name, type, dates, and optional parent for nesting.
  4. update_release - Modify an existing release โ€” name, dates, completion flags, type, linked issues. Closed releases are still editable.

Manual Test Runs:

  1. list_manual_runs - Browse manual runs in a project. Filter by status, state, environment, release, tags, or free-text name search.
  2. get_manual_run - Get full details for one run โ€” test stats (total/passed/failed/blocked/untested), contributors, attachments, linked release. Accepts internal _id or counter-style ID like RUN-12.
  3. create_manual_run - Create a new manual run. Choose selectionMode='all' for every case in the project, or 'selected' with suite/case IDs to scope it. Attach to a release with releaseId.
  4. update_manual_run - Modify run metadata โ€” name, environment, state, release attachment, tags. Closed runs are read-only except for releaseId.
  5. list_run_test_cases - Get the per-case execution rows inside a run โ€” exactly what the UI shows in the run's test-case table. Each row includes the current assignee and current result. Filter by assignee (email or _id) or result.
  6. update_run_test_case - Set the assignee and/or result for one test case inside a run โ€” same as clicking "Assign to" + the result pill in the UI. Works even on untested cases (auto-creates the per-case row on first edit). Accepts caseKey (TC-156), test case _id, or the internal tcm_rtc_โ€ฆ ID.

Exploratory Sessions:

  1. list_sessions - Browse exploratory sessions in a project. Filter by status, state, sessionType, assignee (email or _id), release, tags.
  2. get_session - Get full details for one session โ€” name, mission, status, assignee, linked release, findings. Accepts internal _id or counter-style ID like SES-12.
  3. create_session - Create a new exploratory session with mission/charter, sessionType, assignee, estimate, and optional release attachment.
  4. update_session - Modify session metadata โ€” name, mission, assignee, state, estimate, linked issues, attachments.

Installation Options

There are mainly 3 options to use TestDino MCP:

Option 1: Via npx (Recommended - No Installation)

  • No installation required
  • Automatically downloads and runs when needed
  • Always uses the latest version
  • Configured in any MCP compatible platform

Option 2: Global Installation

npm install -g testdino-mcp
  • Install once, use in any project
  • Requires Node.js 18+ and npm
  • Use command: testdino-mcp

Option 3: Project Installation

npm install testdino-mcp
  • Installed in your project's node_modules
  • Use command: npx testdino-mcp

Integration

A simple Integration guide for Cursor IDE:

Step 1: Get Your Personal Access Token (PAT)

  1. Log in to your TestDino account
  2. Navigate to User Settings โ†’ Personal Access Tokens
  3. Generate a new PAT from the Personal Access Tokens section.
  4. Important: This PAT provides access to all organizations and projects you have permissions for

Step 2: Configure Cursor

  1. Open or create the MCP configuration file:

    • Windows: %APPDATA%\Cursor\mcp.json
    • macOS/Linux: ~/.cursor/mcp.json
    • Project-specific: .cursor/mcp.json in your project root
  2. If you are using npx or installing inside project, Add the configuration:

{
  "mcpServers": {
    "TestDino": {
      "command": "npx",
      "args": ["-y", "testdino-mcp"],
      "env": {
        "TESTDINO_PAT": "Your PAT here"
      }
    }
  }
}

Important: Replace Your PAT here with your actual Personal Access Token (PAT) from Step 1.

Step 3: Restart and Verify

  1. Completely close and restart Cursor
  2. Verify the connection by asking: "Check TestDino health"
  3. You should see your account name, available organizations, and projects!

Alternative: Global Installation

If you prefer to install globally instead of using npx or project installation:

npm install -g testdino-mcp

Then use this configuration:

{
  "mcpServers": {
    "TestDino": {
      "command": "testdino-mcp",
      "env": {
        "TESTDINO_PAT": "Your PAT here"
      }
    }
  }
}

The server uses the standard MCP protocol, so it will work with other MCP-compatible clients as well.

Usage

Once configured, simply talk to your AI assistant in natural language. Important: Tools require your Personal Access Token (PAT) configured as TESTDINO_PAT in mcp.json. The PAT automatically provides access to all organizations and projects you have permissions for.

Example Commands

Try these natural language commands in Cursor or Claude Desktop (or other MCP-compatible clients):

Connection & Setup:

  • "Check if my TestDino connection is working"
  • "Validate my TestDino PAT"

Exploring Test Runs:

  • "Show me my last 5 test runs"
  • "What test runs are on the develop branch?"
  • "List test runs from the last 3 days"
  • "Show me test runs by author john"
  • "Find test runs for commit abc123"
  • "List all test runs in production environment"

Analyzing Test Results:

  • "Get details for test run test_run_6901b2abc6b187e63f536a6b"
  • "Get details for test run counter 42"
  • "What test cases failed in test run test_run_6901b2abc6b187e63f536a6b?"
  • "Show me all flaky tests from the last test run"
  • "List all failed test cases in production environment"
  • "Show me test cases from the main branch that took more than 100 seconds"
  • "Find all timeout issues in test cases from commit abc123"

Debugging Test Failures:

  • "Debug test case 'Verify user login' in project proj_123"
  • "Debug 'Verify that User Can Complete the Journey from Login to Order Placement @webkit' from testdino reports"
  • "Analyze failures for 'Checkout flow' test case in project proj_123"
  • "What are the failure patterns for 'API authentication' test?"
  • "Why is test case 'User registration' failing?"
  • "Debug test case 'Verify that user can login and logout successfully @chromium'"

Managing Manual Test Cases:

  • "List all manual test cases in project proj_123"
  • "Search for manual test cases with tag 'smoke' in project proj_123"
  • "Show me all critical priority manual test cases in project proj_123"
  • "Get details for manual test case TC-123 in project proj_123"
  • "Create a new manual test case for login feature in suite Authentication Tests"
  • "Update test case TC-123 to mark it as deprecated"
  • "List all test suites in project proj_123"
  • "Create a new test suite called 'Authentication Tests' in project proj_123"

Releases:

  • "List all releases in project proj_123"
  • "Show me the open iterations on this project"
  • "Get details for release MS-12 and show the rolled-up test progress"
  • "Create a release called 'Sprint 42' as an iteration from May 12 to May 26"
  • "Mark release MS-12 as completed"

Manual Test Runs:

  • "List manual runs in release MS-12"
  • "Show me all in-progress runs on staging"
  • "Get details for run RUN-7"
  • "Create a manual run called 'Sprint 42 Smoke' linked to release MS-12 on staging, covering the Authentication suite"
  • "Set run RUN-7's state to Done"
  • "Re-attach run RUN-7 to release MS-13"

Assigning Cases & Recording Verdicts in a Run:

  • "List the test cases in run RUN-1 with their current assignees and results"
  • "Assign TC-156 in run RUN-1 to [email protected] and mark it Passed"
  • "Mark TC-157 in run RUN-1 as Failed"
  • "Assign TC-158 in run RUN-1 to [email protected] โ€” leave the result untested"
  • "Show me all cases in run RUN-1 assigned to [email protected] that are still untested"

Exploratory Sessions:

  • "List active exploratory sessions for project proj_123"
  • "Show me sessions assigned to [email protected]"
  • "Get details for session SES-3"
  • "Create an exploratory session called 'Auth charter โ€” May 12' with mission 'find session-handling bugs around 2FA' assigned to [email protected], 60 minute estimate"
  • "Update session SES-3 to mark it Done"

Documentation

  • Installation Guide: Detailed setup instructions for Cursor, Claude Desktop, and other MCP-compatible clients
  • Tools Documentation: Comprehensive guide to all 27 available tools with examples, parameters, and use cases
  • AI Agent Skills Guide: Guide for AI agents on tool selection patterns, decision trees, and best practices

Requirements

  • Node.js: Version 18.0.0 or higher
  • NPM: Latest version recommended (for package management)
  • TestDino Account: Valid account with Test Runs and/or Test Case Management access
  • Personal Access Token (PAT): Required for authentication. Get it from TestDino Settings โ†’ Personal Access Tokens

Key Features Explained

AI-Assisted Debugging with debug_testcase

The debug_testcase tool is a powerful feature that helps you understand why tests are failing by analyzing historical execution data:

  • Historical Analysis: Aggregates data from multiple test runs to identify patterns
  • Failure Patterns: Identifies common error categories, messages, and locations
  • Browser-Specific Issues: Detects browser-specific failure patterns
  • Flaky Test Detection: Analyzes retry patterns and flakiness indicators
  • AI-Friendly Output: Returns pre-formatted debugging prompts for AI analysis
  • Code Correlation: Provides file and line numbers for error locations, enabling AI to correlate with source code

Example Workflow:

  1. Ask: "Debug test case 'Verify user login' from testdino reports"
  2. AI calls debug_testcase with projectId and testcase_name
  3. Tool returns historical data with failure patterns
  4. AI analyzes the data and correlates with your test code (if accessible)
  5. AI provides specific fix suggestions based on patterns and code analysis

Support

Related Servers