How the TestDino Plugin Integrates with Playwright: MCP Architecture and Audit Workflows

The TestDino plugin integrates with Playwright through a remote MCP server at https://mcp.testdino.com, a Claude-Code plugin manifest, and a Playwright-specific audit skill that routes test analysis requests to TestDino's backend APIs.

The TestDino plugin for Claude-Code enables automated auditing of Playwright test suites through the Model Context Protocol (MCP). According to the anthropics/claude-plugins-community repository, this integration bridges your Playwright specs with TestDino's analysis backend using three tightly-coupled architectural components that handle server discovery, skill registration, and Playwright-specific tool execution.

Architecture of the TestDino-Playwright Integration

The integration relies on three core components that work together to expose TestDino's audit capabilities within Claude-Code.

MCP Server Configuration

The remote MCP endpoint (https://mcp.testdino.com) brokers all tool calls between Claude-Code and the TestDino backend. This server presents Playwright-specific audit tools including get_audit_report, submit_audit_report, and the legacy test_audit function. As documented in testdino/README.md (lines 14-22), users register this endpoint by adding a JSON snippet to their Claude-Code client configuration, establishing the communication channel required for all subsequent audit operations.

Plugin Manifest Declaration

The plugin's plugin.json file declares the "testdino" connector and registers the available skill files that become accessible to the AI agent. Located at testdino/.claude-plugin/plugin.json, this manifest lists the testdino-audit skill (and other TestDino-related skills) as part of the plugin's public API. This registration makes Playwright-specific audit calls reachable from chat interactions, allowing Claude to recognize when to invoke TestDino functionality.

Skill Definition and Routing

The testdino-audit skill, defined in testdino/skills/testdino-audit/SKILL.md (lines 2-34), contains the declarative logic that tells Claude when and how to invoke the Playwright audit flow. The skill's description explicitly restricts usage to Playwright test code and handles routing to the MCP-exposed audit tools. It supports both the modern split-tool approach (get_audit_report plus submit_audit_report) and the legacy single-tool fallback (test_audit), ensuring compatibility across different TestDino deployments.

Step-by-Step Integration Workflow

The TestDino plugin processes Playwright audits through a four-stage pipeline:

  1. MCP Registration – The user adds the remote MCP entry to their Claude-Code client. When the client initializes, Claude establishes a connection to https://mcp.testdino.com.

  2. Plugin Installation – The user executes marketplace commands to load the TestDino skill set, making the Playwright-aware testdino-audit skill available to the agent.

  3. Audit Trigger – When a user requests a "TestDino audit" on a Playwright spec file, Claude validates the request against the testdino-audit skill's Playwright-specific guard clauses. If the request matches, Claude invokes the appropriate MCP tools.

  4. Result Delivery – The audit report (markdown or JSON) returns to the chat interface, displaying failures, flaky-test history, and remediation suggestions without requiring context switching.

Configuration and Code Examples

Configuring the MCP Server

Add the remote MCP server configuration to your Claude-Code client settings once per installation:

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

Source: testdino/README.md, lines 14-22.

Installing the Plugin

Install the TestDino plugin through Claude-Code's marketplace interface:

/plugin marketplace add testdino-hq/TestDino-Plugins
/plugin install testdino@testdino-plugins

Source: testdino/README.md, lines 36-41.

Triggering Playwright Audits

Invoke the audit functionality by referencing Playwright test code in your request:

Run a TestDino audit on this Playwright spec:

// example Playwright test file (example.spec.ts)
import { test, expect } from '@playwright/test';

test('homepage has title', async ({ page }) => {
  await page.goto('https://example.com');
  await expect(page).toHaveTitle(/Example Domain/);
});

Claude recognizes the request, loads the testdino-audit skill, and calls the appropriate MCP audit tools based on the available API version.

Source: testdino/skills/testdino-audit/SKILL.md.

Understanding the Tool Calls

The underlying MCP tool calls follow different patterns depending on server capabilities. For modern TestDino deployments supporting the split-tool API:

{
  "tool": "get_audit_report",
  "action": "context",
  "params": { "projectId": "proj-123", "runId": "run-456" }
}

Followed by:

{
  "tool": "submit_audit_report",
  "action": "analyze",
  "params": {
    "projectId": "proj-123",
    "runId": "run-456",
    "markdownReport": "<your analysis>"
  }
}

For legacy deployments, Claude falls back to the single-tool approach:

{
  "tool": "test_audit",
  "action": "analyze",
  "params": { "projectId": "...", "runId": "...", "markdownReport": "…" }
}

Source: testdino/skills/testdino-audit/SKILL.md (tool selection logic).

Key Files and Their Roles

File Purpose
testdino/README.md Documents the Playwright integration, MCP configuration JSON, and installation commands.
testdino/.claude-plugin/plugin.json Declares the plugin name (testdino) and registers the skill set including the Playwright-aware audit functionality.
testdino/skills/testdino-audit/SKILL.md Defines the audit skill logic, Playwright-specific guard clauses, and MCP tool invocation rules for both current and legacy APIs.

Summary

  • The TestDino plugin connects to Playwright through a remote MCP server at https://mcp.testdino.com that exposes audit tools.
  • Three architectural layers handle the integration: the MCP server configuration, the plugin.json manifest, and the testdino-audit skill definition.
  • The system supports both modern split-tool workflows (get_audit_report + submit_audit_report) and legacy single-tool (test_audit) fallbacks.
  • Configuration requires adding the MCP server JSON to Claude-Code, installing the plugin via marketplace commands, and invoking audits through natural language requests containing Playwright code.
  • All integration logic is defined in testdino/README.md, testdino/.claude-plugin/plugin.json, and testdino/skills/testdino-audit/SKILL.md.

Frequently Asked Questions

What is the MCP server URL for the TestDino plugin?

The TestDino plugin uses https://mcp.testdino.com as its remote MCP endpoint. This URL is configured in the Claude-Code client settings via the mcpServers JSON object, as specified in testdino/README.md at lines 14-22.

How does Claude determine if code is Playwright-specific when using TestDino?

The testdino-audit skill defined in testdino/skills/testdino-audit/SKILL.md contains explicit guard clauses in its description that restrict the skill to Playwright test files. Claude checks the file content and context against these rules before invoking the audit tools.

What is the difference between get_audit_report and the legacy test_audit tool?

The modern API uses a split-tool approach where get_audit_report fetches audit context with action: "context", followed by submit_audit_report to send the analysis. The legacy test_audit tool combines these functions into a single call. The skill definition in testdino/skills/testdino-audit/SKILL.md automatically detects which tools are available and uses the appropriate workflow.

Where do I configure the TestDino MCP server in Claude-Code?

Add the MCP server configuration to your Claude-Code client's settings file using the JSON structure shown in testdino/README.md. This registers the https://mcp.testdino.com endpoint under the mcpServers.testdino key, enabling Claude to establish the connection when starting new chat sessions.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →