# How the TestDino MCP Server Connects Playwright Test Data to AI Coding Agents

> Discover how the TestDino MCP server connects Playwright test data to AI agents via HTTP RPC. Enable real-time test analysis without custom SDKs.

- Repository: [Anthropic/claude-plugins-community](https://github.com/anthropics/claude-plugins-community)
- Tags: how-to-guide
- Published: 2026-09-02

---

**The TestDino MCP server exposes Playwright test data through HTTP-based RPC endpoints that AI coding agents consume via the Model-Code-Protocol (MCP), enabling real-time test analysis without custom SDKs.**

AI coding agents like Claude Code, Cursor, and Codex need structured access to test data for debugging, regression analysis, and automated fix generation. The TestDino MCP server bridges this gap by wrapping Playwright test runs from the TestDino platform in a standardized protocol that any MCP-compatible agent can invoke. This article explains the connection architecture, configuration steps, and data flow based on the `anthropics/claude-plugins-community` source code.

## MCP Configuration: Pointing Agents to the Remote Server

The connection starts with agent-side configuration in [`.mcp.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.mcp.json). This file registers the TestDino server as a named endpoint that the MCP client can route calls to.

In [[`testdino/.mcp.json`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.mcp.json)](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.mcp.json), the configuration is minimal:

```json
{
  "mcpServers": {
    "testdino": {
      "url": "https://mcp.testdino.com"
    }
  }
}

```

This entry tells the agent's MCP client to route any skill call prefixed with `testdino:` to `https://mcp.testdino.com`. No authentication secrets live in this file—the server handles auth via token validation on first contact.

## Skill Definitions: Mapping AI Intents to MCP Calls

Skills bridge natural language intentions to concrete RPC invocations. The TestDino plugin bundles skills in [[`testdino/skills/testdino-runs/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/skills/testdino-runs/SKILL.md)](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/skills/testdino-runs/SKILL.md), which defines verbs for Playwright test interaction:

- `list_testruns` — enumerate runs filtered by project, status, or time range
- `get_run_details` — fetch full metadata, logs, and artifacts for a specific run
- `list_testcase` — retrieve test cases within a run
- `debug_testcase` — aggregate historical flaky behavior with cross-run context

These skills accept JSON payloads that the MCP client serializes into HTTP POST bodies.

## Data Flow: From Playwright Execution to AI Consumption

The connection chain involves four stages:

1. **Test execution and ingestion** — Playwright runs are captured by TestDino's SaaS platform via CI integration or the TestDino SDK. Screenshots, videos, traces, and structured logs are stored with run metadata.

2. **MCP server exposure** — The remote `testdino-mcp` server (source at [`testdino-hq/testdino-mcp`](https://github.com/testdino-hq/testdino-mcp)) exposes a subset of the TestDino REST API as MCP-compatible endpoints. It translates generic MCP calls into authenticated TestDino backend requests.

3. **Agent request serialization** — When an agent invokes `testdino.list_testruns({ "projectId": "proj-123", "status": "failed" })`, the MCP client POSTs to `https://mcp.testdino.com/list_testruns` with the serialized parameters.

4. **Response hydration** — The MCP server forwards the request, receives JSON from TestDino, and returns it unmodified to the agent. The agent renders the data or chains subsequent skill calls.

## Connection Lifecycle and Authentication

New chat sessions begin with a `health` check defined in [[`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md)](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/skills/testdino-runs/SKILL.md). This validates:

- Network reachability to `https://mcp.testdino.com`
- Authentication token validity
- Enumerated list of accessible projects

After `health` succeeds, the agent caches the project list and permits unrestricted use of run-related skills.

## Practical Usage Examples

Configure your agent by adding the MCP server entry:

```json
// Claude Code: ~/.claude/.mcp.json or project-local .mcp.json
{
  "mcpServers": {
    "testdino": {
      "url": "https://mcp.testdino.com"
    }
  }
}

```

Verify connectivity in a new chat:

```text
Use the TestDino connector. Call health and tell me which projects I have access to.

```

List recent failed Playwright runs:

```text
testdino.list_testruns({
  "projectId": "proj-xyz",
  "status": "failed",
  "timeInterval": "last 24h"
})

```

Retrieve detailed diagnostics:

```text
testdino.get_run_details({ "runId": "run-4567" })

```

Debug flaky tests with historical context:

```text
testdino.debug_testcase({
  "projectId": "proj-xyz",
  "testcaseId": "TC-123",
  "lookbackDays": 30
})

```

Each command triggers an HTTP POST to `https://mcp.testdino.com/<method>` with the provided payload.

## Why MCP Neutrality Matters

Because MCP is protocol-agnostic, any AI agent implementing the MCP client can connect to TestDino without proprietary adapters. The only requirements are the remote server URL and skill definitions—both packaged in the TestDino Claude Code plugin at `anthropics/claude-plugins-community`.

## Key Files in the TestDino Plugin

| File | Purpose |
|------|---------|
| [[`testdino/README.md`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/README.md)](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/README.md) | Plugin overview and quick-start guide |
| [[`testdino/.mcp.json`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.mcp.json)](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.mcp.json) | MCP client configuration with server URL |
| [[`testdino/.claude-plugin/plugin.json`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.claude-plugin/plugin.json)](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/.claude-plugin/plugin.json) | Plugin metadata (name, version, repository) |
| [[`testdino/skills/testdino-runs/SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/skills/testdino-runs/SKILL.md)](https://github.com/anthropics/claude-plugins-community/blob/main/testdino/skills/testdino-runs/SKILL.md) | Skill definitions for Playwright test operations |

## Summary

- **MCP configuration** in [`.mcp.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.mcp.json) establishes the agent-to-server connection via a single URL entry
- **Skill definitions** in [`SKILL.md`](https://github.com/anthropics/claude-plugins-community/blob/main/SKILL.md) map high-level intents like `debug_testcase` to concrete RPC calls
- **Data flows** from Playwright execution → TestDino SaaS → `testdino-mcp` server → AI agent without transformation
- **Authentication** is verified through the `health` skill on session start
- **Neutrality** of MCP enables any compatible agent to consume TestDino data without custom code

## Frequently Asked Questions

### What is an MCP server and why does TestDino use it?

An MCP (Model-Code-Protocol) server is a lightweight HTTP gateway that exposes platform data through standardized RPC endpoints. TestDino uses it to eliminate the need for AI vendors to build custom integrations—any MCP-compatible agent can connect using the same configuration and skill definitions.

### Where does the TestDino MCP server run?

The server runs remotely at `https://mcp.testdino.com` as a managed service. The source implementation is available at [`testdino-hq/testdino-mcp`](https://github.com/testdino-hq/testdino-mcp), though most users interact with it as a hosted endpoint.

### Can I use the TestDino MCP server with agents other than Claude Code?

Yes. Any AI coding agent implementing the MCP client specification—including Cursor, Codex, and open-source alternatives—can connect to TestDino using the same [`.mcp.json`](https://github.com/anthropics/claude-plugins-community/blob/main/.mcp.json) configuration and skill definitions.

### What Playwright data is exposed through the MCP server?

The server exposes run metadata, execution logs, screenshots, video artifacts, trace files, and historical flakiness patterns. Specific data availability depends on what your TestDino project has ingested during CI runs.