← All posts
·playwrightmcpmodel-context-protocolclaude-codecursorai-testing

Hover MCP: a Playwright MCP server for your coding agent

A Model Context Protocol (MCP) server extends the coding agent you already run. Hover ships one whose job is a single thing done well: explore your web app and write Playwright tests you own. You add @hover-dev/mcp to Claude Code, Cursor, or any MCP-capable agent, and the agent gains a set of grounded browser tools plus a test_app prompt.

What is a Playwright MCP server?

Playwright drives browsers. An MCP server exposes tools an agent can call. Put them together and your agent can open your app, act on it, and save a test, all from inside the chat you already have open. Hover bundles no model of its own. It rides whatever model your agent runs, so there is no second subscription and no API key to paste (BYO-CLI).

How the Hover MCP works

Call /mcp__hover__test_app and the agent runs a phased loop:

  1. Read your routes and nav from the codebase and sketch the business lines into .hover/hover-map.md.
  2. Pick a flow, then drive it with grounded tools: browser_navigate, browser_snapshot, click_control, fill_control, select_control, assert_visible.
  3. Call crystallize_spec once the flow is verified.

The result lands in __vibe_tests__/ as a standard .spec.ts.

record == replay

The grounded tools actuate by role and name, falling back to test id then text (role+name → testId → text). The selector that drove a click is the selector written into the spec, so what you replay in CI is what the agent did. Crystallization is deterministic. No LLM writes the code, so there are no confabulated selectors and no rewrite that quietly changes behavior.

No model in CI

The saved spec is plain @playwright/test. It runs with npx playwright test, in any CI, with no agent, no tokens, and no variance between runs. You spend the model once, while authoring. We wrote more on why AI-authored tests should leave no AI in CI.

Install

npm i -g @hover-dev/mcp && claude mcp add hover -- hover-mcp

Any MCP-capable agent works; point its server command at hover-mcp. Then run /mcp__hover__test_app and watch it write your first spec. See the quick start and the MCP tools reference.

Try Hover on your own app.

Add Hover’s MCP to the coding agent you already run. It explores your app and crystallizes plain Playwright specs you own.

npm i -g @hover-dev/mcp && claude mcp add hover -- hover-mcpRead the quick start →