io.github.testdino-inc/testdino-mcp
NPM · TESTDINO-MCP · SCANNED SEP 20
A MCP server for TestDino
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security80
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects @modelcontextprotocol/sdk 0.5.0, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- 7 of 14 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency6
- Repository check failed: the declared repository URL redirects; it must resolve directly. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 62 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability58
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2310 tokens (~385/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
How do I install the io.github.testdino-inc/testdino-mcp server?
io.github.testdino-inc/testdino-mcp runs locally as an npm package, launched with npx -y testdino-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · testdino-mcp
claude mcp add testdino-inc-testdino-mcp -- npx -y testdino-mcp
{
"mcpServers": {
"testdino-inc-testdino-mcp": {
"command": "npx",
"args": [
"-y",
"testdino-mcp"
]
}
}
} {
"servers": {
"testdino-inc-testdino-mcp": {
"command": "npx",
"args": [
"-y",
"testdino-mcp"
]
}
}
} codex mcp add testdino-inc-testdino-mcp -- npx -y testdino-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"testdino-inc-testdino-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"testdino-mcp"
],
"enabled": true
}
}
} openclaw mcp add testdino-inc-testdino-mcp --command npx --arg -y --arg testdino-mcp
mcp_servers:
testdino-inc-testdino-mcp:
command: "npx"
args: ["-y", "testdino-mcp"] {
"McpServers": {
"testdino-inc-testdino-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"testdino-mcp"
]
}
}
} assistant mcp add testdino-inc-testdino-mcp -t stdio -c npx -a -y testdino-mcp
{
"mcpServers": {
"testdino-inc-testdino-mcp": {
"command": "npx",
"args": [
"-y",
"testdino-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 −2
- Stability: pass → 0.80 functional
- 15 Sept 26 0
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 9 Sept 26 −2
- Stability: pass → 0.80 functional
- 8 Sept 26 0
- Stability: 0.97 → pass security
- 7 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/testdino-mcp@1.0.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-w48q-cv73-mx4w | CVE-2025-66414 | high | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 14 packages
| Packages resolved | 14 |
|---|---|
| Stale | 7 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
get_run_details ~126
Get detailed information about test runs. Shows test statistics (passed, failed, skipped, flaky), all test suites and cases, git metadata, and error details. Supports batch operations (comma-separated IDs, max 20). Use this to analyze test execution health or debug specific failures.
| Name | Type | Req | Description |
|---|---|---|---|
| counter | number | – | Filter by test run counter (sequential number). |
| testrun_id | string | – | Test run ID(s). Single ID or comma-separated for batch (max 20). Example: 'test_run_123' or 'run1,run2,run3'. |
No output schema declared.
No examples provided.
get_testcase_details ~298
Get detailed information about a specific test case. You can identify the test case in two ways: 1) By testcase_id (can be used alone), or 2) By testcase_name combined with testrun_id or counter (required because test cases can have the same name across different test runs). Shows error messages, stack traces, test steps, console logs, and optional artifacts (screenshots, videos, traces). Use this to debug why a test failed or understand how it executed. Example: 'Get test case details for "Verify user can logout and login" in testrun #43'.
| Name | Type | Req | Description |
|---|---|---|---|
| counter | number | – | Test run counter number. Required when using testcase_name (if testrun_id is not provided) to specify which test run's test case you want. Example: 43. |
| testcase_id | string | – | Test case ID. Can be used alone to get test case details. Example: 'test_case_123'. |
| testcase_name | string | – | Test case name/title. Must be combined with either testrun_id or counter to identify which test run's test case you want. Example: 'Verify user can logout and login'. |
| testrun_id | string | – | Test run ID. Required when using testcase_name to specify which test run's test case you want. Example: 'test_run_6901b2abc6b187e63f536a6b'. |
No output schema declared.
No examples provided.
health ~55
Check if your TestDino connection is working. Verifies your API key and shows your project name. Use this first to make sure everything is set up correctly.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Your name (used in the greeting message). |
No output schema declared.
No examples provided.
list_testcase ~1,130
List test cases with comprehensive filtering options. You can filter by test run (ID or counter), status, spec file, error category, browser, tags, runtime, artifacts, error messages, attempt number, branch, time interval, environment, author, or commit hash. When using test run filters (by_branch, by_commit, by_author, by_environment, by_time_interval, by_pages, page, limit, get_all), the tool first lists test runs matching those criteria, then returns test cases from those filtered test runs. Use this to find specific test cases across your test runs.
| Name | Type | Req | Description |
|---|---|---|---|
| by_artifacts | boolean | – | Filter test cases that have artifacts available (screenshots, videos, traces). Set to true to list only test cases with artifacts. (ID/Counter is required while using this parameter) |
| by_attempt_number | number | – | Filter by attempt number. Example: 1 for first attempt, 2 for second attempt. (ID/Counter is required while using this parameter) |
| by_author | string | – | Filter by commit author name (case-insensitive, partial match). Does not require testrun_id or counter. First lists test runs by the specified author, then returns test cases from those test runs. |
| by_branch | string | – | Filter by git branch name. Does not require testrun_id or counter. First lists test runs on the specified branch, then returns test cases from those test runs. Example: 'main', 'develop'. |
| by_browser_name | string | – | Filter by browser name. Example: 'chromium', 'firefox', 'webkit'. (ID/Counter is required while using this parameter) |
| by_commit | string | – | Filter by git commit hash (full or partial). Does not require testrun_id or counter. First lists test runs with the specified commit, then returns test cases from those test runs. |
| by_environment | string | – | Filter by environment. Does not require testrun_id or counter. First lists test runs in the specified environment, then returns test cases from those test runs. Example: 'production', 'staging', 'dev… |
| by_error_category | string | – | Filter by error category. Example: 'timeout_issues', 'element_not_found', 'assertion_failures', 'network_issues'. (ID/Counter is required while using this parameter) |
| by_error_message | string | – | Filter by error message (partial match, case-insensitive). Example: 'Test timeout of 60000ms exceeded'. (ID/Counter is required while using this parameter) |
| by_pages | number | – | List test cases by page number. Does not require testrun_id or counter. Returns test cases from all test runs on the specified page. |
| by_spec_file_name | string | – | Filter by spec file name. Example: 'login.spec.js' or 'user-profile.spec.ts'. (ID/Counter is required while using this parameter) |
| by_status | string | – | Filter by status: 'passed', 'failed', 'skipped', or 'flaky'.(ID/Counter is required while using this parameter) |
| by_tag | string | – | Filter by tag(s). Single tag or comma-separated. Example: 'smoke' or 'smoke,regression'. (ID/Counter is required while using this parameter) |
| by_testrun_id | string | – | Test run ID(s). Single ID or comma-separated for multiple runs (max 20). Example: 'test_run_123' or 'run1,run2,run3'. Not required when using test run filters (by_branch, by_commit, by_author, by_env… |
| by_time_interval | string | – | Filter by time interval. Does not require testrun_id or counter. First lists test runs in the specified time period, then returns test cases from those test runs. Supports: '1d' (last day), '3d' (las… |
| by_total_runtime | string | – | Filter by total runtime. Use '<60' for less than 60 seconds, '>100' for more than 100 seconds. Example: '<60', '>100', '<30'. (ID/Counter is required while using this parameter) |
| counter | number | – | Test run counter number. Alternative to by_testrun_id. Not required when using test run filters (by_branch, by_commit, by_author, by_environment, by_time_interval, by_pages, page, limit, get_all). Ex… |
| get_all | boolean | – | Get all results up to 1000 (default: false). Does not require testrun_id or counter. When used alone, first lists all test runs, then returns test cases from those test runs. |
| limit | number | – | Number of results per page (default: 1000, max: 1000). Does not require testrun_id or counter. When used alone, first lists test runs, then returns test cases from those test runs. |
| page | number | – | Page number for pagination (default: 1). Does not require testrun_id or counter. When used alone, first lists test runs on the specified page, then returns test cases from those test runs. |
No output schema declared.
No examples provided.
list_testruns ~391
Browse and filter your test runs to find specific test executions. Filter by git branch (e.g., 'develop', 'main'), time interval ('1d', '3d', 'weekly', 'monthly', or custom date ranges), commit author, or environment (e.g., 'production', 'staging', 'development'). Supports efficient pagination using page/limit or offset/limit, or use get_all=true to fetch all results (up to 1000). Returns test run summaries with statistics (total, passed, failed, skipped, flaky counts), duration, status, branch, author, and PR information when available. Perfect for answering questions like 'What tests ran on the develop branch?' or 'Show me all test runs from last week.' The API key should be configured in mcp.json as TESTDINO_API_KEY environment variable.
| Name | Type | Req | Description |
|---|---|---|---|
| by_author | string | – | Filter by commit author name (case-insensitive, partial match). |
| by_branch | string | – | Filter by git branch name (e.g., 'main', 'develop', 'feature/login'). |
| by_commit | string | – | Filter by git commit hash (full or partial). |
| by_environment | string | – | Filter by environment. Example: 'production', 'staging', 'development'. |
| by_time_interval | string | – | Filter by time: '1d' (last day), '3d' (last 3 days), 'weekly' (last 7 days), 'monthly' (last 30 days), or '2024-01-01,2024-01-31' (date range). |
| get_all | boolean | – | Get all results up to 1000 (default: false). |
| limit | number | – | Number of results per page (default: 20, max: 1000). |
| page | number | – | Page number (default: 1). |
No output schema declared.
No examples provided.
upload_latest_local_test_runs ~310
Upload your local Playwright test results to TestDino. After running tests locally, upload the report to track and analyze results. Automatically detects git info (branch, commit, author). Use absolute paths for best results.
| Name | Type | Req | Description |
|---|---|---|---|
| htmlReport | string | – | Specific HTML report path (overrides reportDir). |
| jsonReport | string | – | Specific JSON report file path (overrides reportDir). |
| reportDir | string | – | Path to Playwright report directory. Use absolute path (e.g., '/Users/jon/project/playwright-report' or 'C:\Users\jon\project\playwright-report'). Default: './playwright-report'. |
| traceDir | string | – | Specific trace directory path (overrides reportDir). |
| uploadFiles | boolean | – | Upload file attachments (.md, .pdf, .txt, .log). Default: false. |
| uploadFullJson | boolean | – | Upload complete JSON bundle with all artifacts (alternative to uploadHtml). Default: false. |
| uploadHtml | boolean | – | Upload HTML reports with all data (JSON, images, videos). Recommended. Default: true. |
| uploadImages | boolean | – | Upload screenshot images. Default: false (included in uploadHtml). |
| uploadTraces | boolean | – | Upload Playwright trace files for debugging. Default: false. |
| uploadVideos | boolean | – | Upload test execution videos. Default: false (included in uploadHtml). |
| verbose | boolean | – | Show detailed logging. Default: false. |
No output schema declared.
No examples provided.
What is the io.github.testdino-inc/testdino-mcp server?
io.github.testdino-inc/testdino-mcp is listed in the public MCP registry as io.github.testdino-inc/testdino-mcp. A MCP server for TestDino. This page covers its npm package (testdino-mcp).
Is the io.github.testdino-inc/testdino-mcp server safe to use?
io.github.testdino-inc/testdino-mcp scores 63 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.testdino-inc/testdino-mcp server expose?
io.github.testdino-inc/testdino-mcp exposes 6 tools: health, list_testruns, get_run_details, upload_latest_local_test_runs, list_testcase, get_testcase_details. Their descriptions and schemas cost roughly 2,310 tokens of context every time the server is loaded.
Is the io.github.testdino-inc/testdino-mcp server still maintained?
io.github.testdino-inc/testdino-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.