Connects Claude to your TestDino test management platform so you can query test runs, debug failures, and manage test cases through conversation. You get 27 tools spanning automated test analysis (run history, case details, failure patterns) and manual testing workflows (create test cases and suites, plan releases, spin up manual runs, assign testers, record verdicts). The debug tool aggregates historical failure data across executions to surface patterns and error categories. The audit feature lets you analyze local test code quality without uploading files. Authentication uses a TestDino PAT that grants access across all your organizations and projects. Useful when you're triaging CI failures or coordinating manual test campaigns and want to skip the dashboard.
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.
Add this to your MCP client config (~/.cursor/mcp.json for Cursor), then restart the client:
{
"mcpServers": {
"TestDino": {
"command": "npx",
"args": ["-y", "testdino-mcp"],
"env": {
"TESTDINO_PAT": "your-pat-here"
}
}
}
}
Get your PAT from TestDino → User Settings → Personal Access Tokens, then ask your assistant: "Check TestDino health." You should see your account, organizations, and projects. Full setup for Cursor and Claude Desktop is in Integration.
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:
All through simple conversational commands.
passed, failed, blocked, skipped, retest — exactly as the UI does.The server provides 27 tools across six 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 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. Built 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).update_manual_test_case - Update existing manual test cases (title, description, steps, status, priority, severity, type, layer, behavior, preconditions, postconditions).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.update_session - Modify session metadata — name, mission, assignee, state, estimate, linked issues, attachments.Option 1: Via npx (Recommended - No Installation)
Option 2: Global Installation
npm install -g testdino-mcp
testdino-mcpOption 3: Project Installation
npm install testdino-mcp
node_modulesnpx testdino-mcpOpen or create the MCP configuration file:
%APPDATA%\Cursor\mcp.json~/.cursor/mcp.json.cursor/mcp.json in your project rootIf 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.
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.
Claude Desktop uses the same config shape, in a different file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"TestDino": {
"command": "npx",
"args": ["-y", "testdino-mcp"],
"env": {
"TESTDINO_PAT": "your-pat-here"
}
}
}
}
Restart Claude Desktop, then ask "Check TestDino health" to verify.
By default the server talks to https://api.testdino.com. To point it at a local API while developing, set TESTDINO_API_URL (see .env.example):
TESTDINO_API_URL=http://localhost:3001
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.
Try these natural language commands in Cursor or Claude Desktop (or other MCP-compatible clients):
Connection & Setup:
Exploring Test Runs:
Analyzing Test Results:
Debugging Test Failures:
Managing Manual Test Cases:
Releases:
Manual Test Runs:
Assigning Cases & Recording Verdicts in a Run:
Exploratory Sessions:
debug_testcaseThe debug_testcase tool helps you understand why tests are failing by analyzing historical execution data:
Example Workflow:
debug_testcase with projectId and testcase_nameYOUR_API_KEY*secretYour API key for the service