> ## Documentation Index
> Fetch the complete documentation index at: https://docs.testdino.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> TestDino is a cloud companion app for Playwright. It records CI test runs for centralized debugging, flaky detection, and analytics.

export const VideoSchema = ({name, description, thumbnailUrl, uploadDate, duration, contentUrl, embedUrl}) => {
  const schema = {
    "@context": "https://schema.org",
    "@type": "VideoObject",
    name,
    description,
    thumbnailUrl,
    uploadDate,
    ...duration ? {
      duration
    } : {},
    ...contentUrl ? {
      contentUrl
    } : {},
    ...embedUrl ? {
      embedUrl
    } : {},
    publisher: {
      "@type": "Organization",
      name: "TestDino",
      logo: {
        "@type": "ImageObject",
        url: "https://docs.testdino.com/logo/light.svg"
      }
    }
  };
  return <script type="application/ld+json" dangerouslySetInnerHTML={{
    __html: JSON.stringify(schema)
  }} />;
};

<VideoSchema name="TestDino MCP Server Overview" description="Overview of the TestDino MCP Server for connecting AI assistants like Claude and Cursor to your Playwright test data." thumbnailUrl="https://i.ytimg.com/vi/bBwu88xWpdI/maxresdefault.jpg" uploadDate="2025-12-16T00:00:00+00:00" contentUrl="https://www.youtube.com/watch?v=bBwu88xWpdI" embedUrl="https://www.youtube.com/embed/bBwu88xWpdI" />

TestDino records Playwright test runs from CI and keeps what each run produced: errors, traces, screenshots, videos, logs, and the branch, pull request, and environment behind it.

That history is what triage runs on. Failures group by root cause, a test's flakiness is measured across its full run history, and the result reaches you in the pull request, in Slack, and in your IDE through MCP.

## Stream your first run

Hand it to your coding agent, or run these 3 steps yourself.

<Prompt description="Install @testdino/playwright and stream the first test run." actions={["copy", "cursor"]}>
  Integrate TestDino into this Playwright (Node.js) project so test results stream live via @testdino/playwright.

  **Prerequisites**

  * TestDino API key from [https://app.testdino.com](https://app.testdino.com) (Project Settings → API Keys)
  * Store the key in the environment variable TESTDINO\_TOKEN. Never hardcode it.

  **1. Install**

  ```bash theme={null}
  npm install @testdino/playwright
  ```

  **2. Add TestDino to playwright.config.ts|js|mjs, keeping any existing reporter entries:**

  ```typescript theme={null}
  import { defineConfig } from '@playwright/test';

  export default defineConfig({
    reporter: [
      ['@testdino/playwright', {
        token: process.env.TESTDINO_TOKEN,
      }],
    ],
  });
  ```

  **3. Run the tests:**

  ```bash theme={null}
  export TESTDINO_TOKEN=your-api-key
  npx playwright test
  ```

  **Rules**

  * Read the token from process.env.TESTDINO\_TOKEN. Never hardcode or commit a real token.
  * Do not add a post-run upload step. Results stream during the run.

  Full docs: [https://docs.testdino.com/llms-full.txt](https://docs.testdino.com/llms-full.txt)
</Prompt>

<Steps>
  <Step title="Install the reporter">
    ```bash theme={null}
    npm install @testdino/playwright
    ```
  </Step>

  <Step title="Add it to your Playwright config">
    ```typescript playwright.config.ts theme={null}
    import { defineConfig } from '@playwright/test';

    export default defineConfig({
      reporter: [
        ['@testdino/playwright', {
          token: process.env.TESTDINO_TOKEN,
        }],
      ],
    });
    ```
  </Step>

  <Step title="Run your tests">
    ```bash theme={null}
    export TESTDINO_TOKEN="your-api-key"
    npx playwright test
    ```
  </Step>
</Steps>

Results [stream to the dashboard](/guides/playwright-real-time-test-streaming) as each test case completes, so nothing is uploaded after the run. Create the key in [Generate API Keys](/guides/generate-api-keys).

## Start here

<CardGroup cols={2}>
  <Card title="Quick Setup" icon="rocket" href="/getting-started">
    API key to a verified first test run, in 5 minutes.
  </Card>

  <Card title="Connect your CI" icon="infinity" href="/guides/ci-setup-overview">
    GitHub Actions, GitLab, Jenkins, CircleCI, Azure DevOps, Bitbucket, Buildkite.
  </Card>

  <Card title="Connect an AI agent" icon="robot" href="/ai-onboarding">
    Give Claude Code or Cursor your test history over MCP.
  </Card>

  <Card title="Debug a failure" icon="bug" href="/guides/debug-playwright-test-failures">
    Open a failed test case with its trace, screenshots, and console logs.
  </Card>
</CardGroup>

## Watch the 2 minute demo

<iframe className="w-full rounded-lg h-[500px]" src="https://www.youtube.com/embed/bBwu88xWpdI" title="TestDino MCP Server video" style={{ border: 0 }} allow="accelerometer;  clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; embedding" referrerPolicy="strict-origin-when-cross-origin" allowFullScreen />

## Record and debug every run

| Feature | What it does |
| :- | :- |
| [**Real-time streaming**](/guides/playwright-real-time-test-streaming) | Results appear in the dashboard as each test case completes, mid-run. |
| [**Centralized debugging**](/guides/debug-playwright-test-failures) | Native Playwright traces, screenshots, videos, and console logs for every CI run. |
| [**Flaky test detection**](/guides/playwright-flaky-test-detection) | Catches tests that flip across CI runs, not only Playwright's per-run retry flag, with one-click fix workflows. |
| [**Error grouping**](/guides/playwright-error-grouping) | Groups similar failures by error message and root cause instead of listing them one by one. |
| [**AI failure analysis**](/platform/playwright-ai-failure-analysis) | Classifies each failure as Actual Bug, UI Change, Unstable Test, or Miscellaneous. |
| [**Test Explorer**](/platform/playwright-test-explorer) | Find failing, flaky, or slow test cases across a whole project, then open any one for detail. |
| [**Dashboard**](/platform/playwright-test-dashboard) | Test health, trends, flaky tests, and pull request status in one view. |
| [**Analytics**](/platform/playwright-test-analytics) | Trends across test runs, branches, and pull requests. |
| [**Code coverage**](/guides/playwright-code-coverage) | Which code your test cases cover, and where the gaps are across runs. |

## A persistent test record

A single Playwright report dies with the job that produced it. TestDino keeps every run, so a failure links back to its history instead of starting from zero, and a regression traces to the commit that introduced it.

## Use TestDino from an agent

An agent that runs your suite sees one run. TestDino hands back every run before it: the same test case last week, on another branch, in another environment. The smarter the agent, the more it does with that.

| Interface | What agents do with it |
| :- | :- |
| [**MCP server**](/mcp/overview) | Local and remote. Query failures, check suite health, trigger reruns, and run fix workflows without opening a dashboard. |
| [**Public API**](/api-reference/overview) | Every platform operation is scriptable. |
| [**AI test audit**](/platform/playwright-ai-test-audit) | Before your agent reviews a line of code, it pulls the branch's top failing, flaky, and slow tests from real CI history. Findings cite evidence, such as a test that failed 8 of its last 10 runs, instead of a generic static-analysis guess. |
| [**Tools reference**](/mcp/tools-reference) | Create manual test runs, releases, and exploratory sessions on the same suite structure as the automated specs. |

## Control what CI runs

| Feature | What it does |
| :- | :- |
| **Selective execution** | Run only failed test cases or only flaky test cases, straight from TestDino. |
| **Smart orchestration** | Optimized sharding and load balancing across CI machines to cut execution time. |
| **Trigger reruns** | Start test runs from the dashboard, the API, or MCP. |
| [**GitHub CI checks**](/guides/github-status-checks) | Block merges until tests meet quality gates. |

## Automated and manual tests in one suite

[Test management](/test-management/overview) puts manual test cases in the same suite structure as your Playwright specs. Run them in [releases and sessions](/test-management/manual-testing/overview) with tracked results, from the dashboard or over MCP.

## Integrations & access

| Area | What you get |
| :- | :- |
| [**Version control & CI**](/guides/ci-setup-overview) | GitHub, GitLab, Bitbucket, Jenkins, and CircleCI, tied to pull requests and branches. |
| [**Notifications & workflows**](/integrations/overview) | Slack action-based notifications with custom templates, plus Jira and Linear. |
| [**Storage & retention**](/security/overview#data-retention) | Artifacts and test results are retained for a fixed period on every plan. Analytics retention scales with your plan. |
| [**Security & support**](/security/overview#certifications) | SOC 2 and ISO 27001 certified. Email and live chat [support](/support) on all plans, with dedicated Slack Connect channels and SLAs on Enterprise. |

## Community and Contact

<CardGroup cols={3}>
  <Card title="Discord" icon="discord" href="https://discord.gg/hGY9kqSm58">
    Questions and updates from the community.
  </Card>

  <Card title="GitHub" icon="github" href="https://github.com/testdino-hq">
    Follow TestDino on GitHub.
  </Card>

  <Card title="Contact Support" icon="envelope" href="/support">
    Get help from the TestDino team.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.