About Cypress MCP Test Generator
Cypress MCP Test Generator is an MCP server that turns natural-language test scenarios into Cypress tests. It is intended for developers creating browser tests, with generated files placed in cypress/e2e.
Key features
- 01Generate Cypress tests from prompts
- 02Create test files in cypress/e2e
- 03Generate navigation, input, and assertions
- 04Handle common cookie dialogs
- 05Include retry mechanisms
Use cases
- 01Draft a login-flow test from a description
- 02Create a search test with result checks
- 03Generate a form-submission test
MCP support
The MCP server receives natural-language test prompts and generates Cypress tests for use in an MCP client workflow.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMECypress MCP Test Generator
This project provides a Model Context Protocol (MCP) server that generates Cypress tests from natural language prompts. Simply describe your test scenario in plain English, and the server will generate a fully functional Cypress test.
Table of Contents
Setup
Prerequisites
- Node.js (v16 or higher)
- npm (comes with Node.js)
- VS Code
- TypeScript
Installation
- Clone the repository:
git clone <repository-url>
cd your-project-directory
- Install dependencies:
npm install
- Build the project:
npm run build
- Create VS Code MCP configuration:
mkdir -p .vscode
- Create
.vscode/mcp.jsonwith the following content (update the path to match your system):
{
"servers": {
"cypress-mcp": {
"type": "stdio",
"command": "node",
"args": ["path/to/your/project/build/index.js"]
}
}
}
Usage
- Open your project in VS Code
- The MCP server will start automatically
- Open VS Code's command palette and type your test description
- The server will generate a Cypress test based on your description
How it Works
- Your natural language prompt is processed by the MCP server
- The server generates appropriate Cypress commands and assertions
- A new test file is created in the cypress/e2e directory
- The test is ready to run using Cypress
Example Prompts
Here are some example prompts you can use:
- Basic Navigation and Search:
"Go to google.com and search for 'cypress testing'"
Generated test will:
- Navigate to Google
- Handle cookie consent if present
- Type search term
- Verify search results
- Login Flow:
"Visit login page, enter username '[email protected]', type password 'password123', click login button, and verify dashboard appears"
Generated test will:
- Navigate to login page
- Fill in credentials
- Submit form
- Verify successful login
- Form Submission:
"Navigate to contact-form.com, fill in name 'John Doe', enter email '[email protected]', type message 'Hello World', click submit button, and verify success message appears"
Configuration
Project Structure
project-root/
├── src/
│ ├── index.ts # MCP server implementation
│ └── cypress/
│ └── commands.ts # Custom Cypress commands
├── cypress/
│ ├── e2e/ # Generated test files
│ └── support/ # Support files
└── .vscode/
└── mcp.json # MCP server configuration
Customizing the Server
You can customize test generation by modifying:
- Test templates in src/index.ts
- Custom commands in src/cypress/commands.ts
- Error handling and retry mechanisms
Troubleshooting
Common Issues
-
Server Not Starting
- Verify paths in mcp.json are correct
- Check build/index.js exists
- Ensure Node.js version is compatible
-
Test Generation Fails
- Check prompt format
- Verify server logs for errors
- Ensure all dependencies are installed
-
VS Code Integration Issues
- Reload VS Code window
- Check VS Code's output panel for errors
- Verify .vscode/mcp.json configuration
Error Messages
-
"Server exited before responding"
- Check file paths in mcp.json
- Rebuild the project
- Restart VS Code
-
"Cannot find module"
- Run npm install
- Check build folder exists
- Rebuild the project
Logs Location
- Server logs: VS Code's Output panel (Cypress MCP Server)
- Generated test files: cypress/e2e directory
- Build output: build directory
Script Commands
{
"scripts": {
"build": "tsc",
"start": "node build/index.js",
"dev": "tsc --watch",
"cypress:open": "cypress open",
"cypress:run": "cypress run"
}
}
Best Practices for Prompts
-
Be Specific
- Include URLs when applicable
- Specify exact text for inputs
- Mention expected verifications
-
Use Clear Actions
- "visit" or "go to" for navigation
- "type" or "enter" for input
- "click" for button interactions
- "verify" or "check" for assertions
-
Include Verification Steps
- Mention what should appear after actions
- Include expected text or elements
- Specify timeouts if needed
Support
For issues and questions:
- Check the troubleshooting guide
- Review server logs
- Check VS Code's output panel
- Verify file paths and configurations
Notes
- The server automatically handles common scenarios like cookie consent dialogs
- Generated tests include retry mechanisms for reliability
- Custom commands are available for complex interactions
- Tests are generated with TypeScript support
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.