About replay-cypress
replay-cypress is a setup skill for recording Cypress tests with Replay. It guides developers through plugin and browser installation, configuration, and running tests, with instructions for reviewing recordings and debugging them through Replay MCP.
Key features
- 01Install and configure the Replay Cypress plugin
- 02Install Replay Chromium for recording
- 03Set the API key and Cypress support hooks
- 04Run Cypress tests and upload recordings
- 05Debug recordings with Replay MCP
Use cases
- 01Set up Replay for a Cypress test project
- 02Record tests and open their Replay DevTools URLs
- 03Configure Replay API credentials for CI
- 04Debug a recorded application using Replay MCP
MCP support
The skill describes connecting to Replay MCP at https://dispatch.replay.io/nut/mcp to debug recorded applications.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ replayio/ skills --skill replay-cypressAfter installing, type/replay-cypressin Claude Code to confirm it loaded.
Details
From the project READMEreplay-cypress
Description: Use when the user wants to set up Replay for recording Cypress tests, configure the Replay Cypress plugin, or run Cypress tests with the Replay browser. Examples: "set up replay for cypress", "record my cypress tests", "configure replay cypress plugin", "run cypress with replay".
Instructions:
You are helping the user set up and configure Replay for recording Cypress tests. Follow these steps in order.
Step 1: Create a Test Suite Team
Direct the user to visit https://app.replay.io/team/new/tests to create a test suite team. This automatically generates an API key needed for uploading recordings.
Step 2: Install the Replay Cypress Plugin
Install the plugin as a dev dependency:
npm install --save-dev @replayio/cypress
# or
yarn add --dev @replayio/cypress
# or
pnpm add --save-dev @replayio/cypress
# or
bun add --dev @replayio/cypress
Step 3: Install the Replay Browser
npx replayio install
This installs the Replay Chromium browser required for recording.
Step 4: Store the API Key
The API key must be available as the REPLAY_API_KEY environment variable. Save it in a .env file at the project root:
REPLAY_API_KEY=<your_api_key>
Alternatively, export it directly:
export REPLAY_API_KEY=<your_api_key>
Step 5: Configure the Cypress Support File
Add the Replay support import to cypress/support/e2e.js (or e2e.ts):
CommonJS:
require('@replayio/cypress/support')
ESM:
import '@replayio/cypress/support'
Step 6: Configure cypress.config.js (or cypress.config.ts)
Add the Replay plugin to the Cypress config:
const { defineConfig } = require('cypress')
const { plugin: replayPlugin, wrapOn } = require('@replayio/cypress')
require('dotenv').config()
module.exports = defineConfig({
e2e: {
setupNodeEvents(cyOn, config) {
const on = wrapOn(cyOn)
replayPlugin(on, config, {
upload: true,
apiKey: process.env.REPLAY_API_KEY,
})
return config
},
},
})
For TypeScript (cypress.config.ts):
import { defineConfig } from 'cypress'
import { plugin as replayPlugin, wrapOn } from '@replayio/cypress'
import 'dotenv/config'
export default defineConfig({
e2e: {
setupNodeEvents(cyOn, config) {
const on = wrapOn(cyOn)
replayPlugin(on, config, {
upload: true,
apiKey: process.env.REPLAY_API_KEY,
})
return config
},
},
})
Step 7: Run Tests with Replay
npx cypress run --browser replay-chromium
Recordings are automatically uploaded and a URL is provided for each recording to view in Replay DevTools.
Important Notes
- The
upload: trueoption in the plugin config enables automatic upload after tests complete. - The
wrapOnwrapper is required — it wraps the Cypressonevent handler so Replay can hook into test lifecycle events. - Cypress events (test starts, commands, assertions) appear in the Replay DevTools timeline.
- For CI/CD, set the
REPLAY_API_KEYas a secret environment variable in your CI provider.
Debugging your recorded application
Run Replay MCP Server to debug your recored application to install the MCP server in Claude, run the following command:
claude --mcp-config "{
"mcpServers": {
"replay": {
"type": "http",
"url": "https://dispatch.replay.io/nut/mcp",
"headers": {
"Authorization": "${REPLAY_API_KEY}"
}
}
}
}"