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.
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:
health - Verify your connection and validate your PAT. Shows account information, available organizations, and projects with access permissions.
list_testruns - Browse test runs with powerful filters (branch, time interval, author, commit, environment). Supports pagination and batch operations.
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).
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.
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.
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.
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:
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).
get_manual_test_case - Get detailed information about a specific manual test case including steps, custom fields, preconditions, postconditions, and all metadata.
create_manual_test_case - Create new manual test cases with steps, preconditions, postconditions, and metadata (priority, severity, type, layer, behavior).
list_manual_test_suites - List test suite hierarchy to find suite IDs for organization. Supports filtering by parent suite.
create_manual_test_suite - Create new test suite folders to organize test cases. Supports nested suites by providing parentSuiteId.
Releases (a.k.a. Milestones):
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.
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.
create_release - Create a new release with name, type, dates, and optional parent for nesting.
update_release - Modify an existing release โ name, dates, completion flags, type, linked issues. Closed releases are still editable.
Manual Test Runs:
list_manual_runs - Browse manual runs in a project. Filter by status, state, environment, release, tags, or free-text name search.
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.
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.
update_manual_run - Modify run metadata โ name, environment, state, release attachment, tags. Closed runs are read-only except for releaseId.
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.
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:
list_sessions - Browse exploratory sessions in a project. Filter by status, state, sessionType, assignee (email or _id), release, tags.
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.
create_session - Create a new exploratory session with mission/charter, sessionType, assignee, estimate, and optional release attachment.
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"
"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