Install

Hover authors tests through its MCP server (@hover-dev/mcp). You add it to the coding agent you already run — there's no bundler plugin, nothing to add to your project, and no model or keys of Hover's own (BYO-CLI). The agent drives your existing dev server over CDP regardless of framework.

Add the MCP to your agent

Install the MCP globally, then register the bin (Claude Code shown — any MCP-capable agent works):

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

Prefer the global install — the npx -y @hover-dev/mcp one-liner re-downloads on first launch and can exceed your agent's 30s MCP connect timeout.

Prefer another language?

By default Hover's workflows have your agent talk to you in English. To make it converse in your language — the questions it asks, its summaries and explanations — set HOVER_LANG when you register the server:

claude mcp add hover -e HOVER_LANG=zh -- hover-mcp

HOVER_LANG takes a code (zh, zh-TW, ja, es, …) or a plain language name. Only the human-facing prose is translated — code, spec/test names, and identifiers stay English.

That's the whole install. The MCP server runs under your agent and exposes Hover's grounded browser tools + /mcp__hover__test_app. It bundles no LLM and takes no API keys — it rides the agent and subscription you already pay for.

Updating

The MCP — already installed and want the latest? Reinstall the global package:

npm i -g @hover-dev/mcp@latest

You don't need to re-run claude mcp add — the registration points at the hover-mcp bin, which now resolves to the new version. Just reload your agent (restart the session, or reconnect its MCP servers) so it re-spawns the updated server. Check which version you have with npm ls -g @hover-dev/mcp.

The VS Code cockpit — the Marketplace updates it on its own. To force the latest right now: the Extensions view → Hover → the update button, or code --install-extension hyperyond.hover-dev --force.

Using Cursor or another agent?

Before you start

You need two things:

  1. A coding agent that speaks MCP — Claude Code, Cursor, or similar, already installed and logged in. Hover rides whatever model that agent runs.
  2. A dev server you already run — any framework Hover can reach over CDP (Vite, Next.js, Nuxt, Astro, webpack). Hover drives it; it doesn't replace, wrap, or restart it.

On the first run, Hover prompts to launch an isolated debug Chrome on port 9222 (a clean temp profile under <tmpdir>/hover-chrome — never your everyday browser). Subsequent runs reuse it.

The optional VS Code cockpit

If you want a visual surface, install the Hover VS Code extension (hyperyond.hover-dev) — Extensions view (⇧⌘X / Ctrl+Shift+X), search hover-dev, Install (or code --install-extension hyperyond.hover-dev).

The extension is a review cockpit, not the engine: it adds a Business Map graph of your app's flows + coverage and a Dashboard (pass / fail / flaky + CI results). It drives no agent — authoring still happens through the MCP in your own agent.

Use it

Open your project, start your dev server the way you already do (pnpm dev / npm run dev / …), then in your agent run:

/mcp__hover__test_app           # explore the app and crystallize a suite
/mcp__hover__test_app login     # …or scope it to one flow

Specs land in __vibe_tests__/. See Your first session for the full walkthrough.

Troubleshooting

EADDRINUSE: address already in use :::5173 (or 5183, etc.)

Something else is on the port. Most often: a prior next dev / vite that didn't shut down cleanly. Kill it:

lsof -i :5173 -t | xargs kill         # replace 5173 with your dev port

The agent can't reach a debug Chrome

On first use Hover offers to launch an isolated debug Chrome on port 9222 (a clean temp profile under <tmpdir>/hover-chrome — not your everyday browser). If a debug Chrome is already running but you're not in it, Hover brings the right window to the front. If 9222 is occupied by something else, free it: lsof -i :9222 -t | xargs kill.