ui-test-generation-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ui-test-generation-mcpgenerate test from manual steps for login page"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Playwright UI Test Automation MCP Server
A specialized Model Context Protocol (MCP) server that provides comprehensive UI test automation capabilities for web applications. This server enables intelligent test creation, test healing, and manual test conversion through browser automation.
🎯 Primary Use Cases
1. Create New UI Test Automation
Analyze web applications and generate automated test scripts
Support for multiple frameworks (Playwright, Cypress, Selenium)
Generate tests in JavaScript, TypeScript, or Python
Intelligent element detection and selector generation
2. Heal Broken UI Test Automation
Analyze failing test cases and identify root causes
Compare current page state with test expectations
Automatically suggest fixes for broken selectors or timing issues
Generate healed test code with updated selectors and improved reliability
3. Convert Manual Test Cases to Automation
Transform manual test steps into automated test scripts
Parse natural language test instructions
Map manual actions to browser automation commands
Generate comprehensive test suites from manual test documentation
Related MCP server: Limetest MCP Server
🚀 Key Features
🔧 Intelligent Test Generation: Automatically creates test automation from web app analysis
🛠️ Test Healing & Recovery: Fixes broken tests by analyzing current page state
📋 Manual Test Conversion: Converts manual test cases to automated scripts
🌐 Multi-Framework Support: Playwright, Cypress, and Selenium compatibility
💻 Multi-Language Output: JavaScript, TypeScript, and Python test generation
🎯 Smart Element Detection: Advanced selector generation with fallback strategies
🔍 Page Analysis Engine: Deep analysis of forms, navigation, and user workflows
🛡️ Enterprise Ready: No external API dependencies, VDI-compatible deployment
📋 Requirements
Node.js 18 or higher
Compatible MCP client (Amazon Q, VS Code, or other MCP-enabled tools)
Modern web browser (Chrome, Firefox, Safari)
🛠️ Installation
Quick Setup
git clone <repository-url>
cd playwright-test-generator
npm installMCP Client Configuration
Add to your MCP client configuration file:
{
"mcpServers": {
"playwright-test-automation": {
"command": "node",
"args": ["/path/to/playwright-test-generator/cli.js"],
"env": {
"NODE_ENV": "production"
},
"timeout": 60000
}
}
}🎯 Core Tools
Test Generation Tools
generate_test_from_manual_steps- Convert manual test steps to automated codeanalyze_test_failure- Analyze and fix broken test automationcreate_test_suite- Generate comprehensive test suites from web app exploration
Browser Automation Tools
browser_navigate- Navigate to URLs and pagesbrowser_snapshot- Capture page structure and accessibility treebrowser_click- Click elements with intelligent targetingbrowser_type- Type text into form fields and inputsbrowser_evaluate- Execute JavaScript for advanced interactionsbrowser_take_screenshot- Capture visual evidence for test validation
Analysis & Debugging Tools
browser_console_messages- Monitor console logs and errorsbrowser_network_requests- Track network activity and API callsbrowser_wait_for- Handle dynamic content and timing
💡 Usage Examples
Generate Test from Manual Steps
// Manual test steps to automate:
const manualSteps = [
"Fill in customer name field with 'John Doe'",
"Enter email address 'john@example.com'",
"Select 'Medium' from pizza size options",
"Check 'Extra Cheese' topping",
"Click 'Submit Order' button",
"Verify order confirmation appears"
];
// Generate automated test
await generate_test_from_manual_steps({
manual_steps: manualSteps,
test_name: "Pizza Order Form Test",
test_framework: "playwright",
output_format: "javascript"
});Heal Broken Test
// Analyze and fix failing test
await analyze_test_failure({
test_code: `
await page.click('#submit-btn');
await expect(page.locator('.success')).toBeVisible();
`,
error_message: "Element not found: #submit-btn",
test_framework: "playwright"
});Create Comprehensive Test Suite
// Generate full test suite for web application
await create_test_suite({
base_url: "https://your-webapp.com",
test_scenarios: [
"User login flow",
"Product search and filtering",
"Shopping cart operations",
"Checkout process"
],
framework: "playwright",
include_assertions: true
});🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ MCP Server │◄──►│ Web Browser │
│ (Amazon Q) │ │ Test Generator │ │ (Live Web App) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Generated Tests │
│ • Playwright │
│ • Cypress │
│ • Selenium │
└──────────────────┘The MCP server acts as an intelligent bridge between your MCP client and web applications, providing:
Real-time browser automation for test creation
Intelligent analysis of page structure and user workflows
Automated test generation in multiple frameworks and languages
Test healing capabilities for maintaining test reliability
Enterprise-grade security with local-only operation
🛡️ Enterprise & Security Features
Local Operation Only: All processing happens locally, no external API calls
No Cloud Dependencies: Completely self-contained for secure environments
VDI Compatible: Optimized for Virtual Desktop Infrastructure deployment
Data Privacy: Web application data never leaves your environment
Audit Trail: Complete logging of all automation activities
Access Control: Configurable capabilities and tool filtering
🔧 Configuration Options
Environment Variables
NODE_ENV=production # Production mode
BROWSER_TYPE=chromium # Browser selection (chromium, firefox, webkit)
HEADLESS=true # Headless browser operation
OUTPUT_DIR=/path/to/output # Directory for screenshots and logsCapability Management
The server supports granular capability control:
core- Essential browser automation toolstest-generation- Test creation and healing toolsvision- Visual testing and analysis (optional)pdf- PDF generation capabilities (optional)
📊 Test Generation Capabilities
Supported Test Frameworks
Playwright - Modern, reliable, cross-browser testing
Cypress - Developer-friendly testing framework
Selenium - Industry-standard web automation
Output Languages
JavaScript - Most common test automation language
TypeScript - Type-safe test development
Python - Popular choice for test automation teams
Test Types Generated
Smoke Tests - Basic functionality verification
Integration Tests - Multi-component workflow testing
Regression Tests - Change impact validation
User Journey Tests - End-to-end user experience testing
🎯 Workflow Examples
New Test Creation Workflow
Navigate to target web application
Analyze page structure and user flows
Generate test automation code
Validate generated tests
Export to your test framework
Test Healing Workflow
Identify failing test cases
Analyze current page state vs. test expectations
Compare element selectors and page structure
Generate healed test code with fixes
Validate repaired test functionality
Manual Test Conversion Workflow
Import manual test case documentation
Parse test steps and expected outcomes
Map manual actions to automation commands
Generate executable test scripts
Review and customize generated automation
🚀 Getting Started
Quick Start Guide
Install the MCP server following the installation instructions
Configure your MCP client (Amazon Q recommended for enterprise use)
Navigate to your web application using
browser_navigateAnalyze the application with
browser_snapshotfor page structureGenerate your first test using
generate_test_from_manual_stepsVerify test quality by running the generated automation code
Best Practices
Use descriptive test names that clearly indicate the test purpose
Include assertions to validate expected outcomes
Prefer data-testid attributes for reliable element selection
Test incrementally - start with simple flows, then add complexity
Review generated code before adding to your test suite
Maintain test data separately for better test maintainability
📈 Enterprise Benefits
Accelerated Test Creation: Reduce manual test automation development time by 70%
Improved Test Reliability: Intelligent healing reduces test maintenance overhead
Consistent Quality: Standardized test generation patterns across teams
Knowledge Transfer: Convert manual testing expertise into automated assets
Scalable Testing: Generate comprehensive test coverage efficiently
Cost Effective: Reduce QA automation development and maintenance costs
🔍 Troubleshooting
Common Issues
Test Generation Fails
Ensure web application is fully loaded before analysis
Check that interactive elements are visible and accessible
Verify element selectors are stable and unique
Element Not Found Errors
Use test healing functionality to update selectors
Consider using data-testid attributes for better stability
Check for dynamic content that may require wait conditions
Performance Issues
Increase timeout values for slow-loading applications
Use headless mode for faster execution
Consider element visibility checks before interactions
The Playwright UI Test Automation MCP Server - Transforming manual testing into intelligent automation for modern web applications!# ui-test-generation-mcp
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ingpoc/ui-test-generation-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server