AI QA Agent MCP
README.md
# AI QA Agent MCP
An MCP-enabled QA automation framework built with Playwright and Node.js for executing UI and API automated tests through a Model Context Protocol (MCP) server.
The project demonstrates how traditional test automation can be exposed as reusable MCP tools, allowing an MCP-compatible client to trigger test suites and receive structured test results.
## ๐ Features
- Playwright UI automation
- API testing with Playwright
- Page Object Model (POM)
- MCP server integration
- MCP tool-based test execution
- Structured JSON test results
- Login, inventory and checkout test coverage
- Positive and negative test scenarios
- Regression test execution
- Environment-based configuration
- HTML test reporting
- Screenshots on failure
- GitHub Actions CI/CD
- Automated execution on push and pull requests
## ๐งฐ Tech Stack
- JavaScript
- Node.js
- Playwright
- Model Context Protocol (MCP)
- MCP Inspector
- Git
- GitHub
- GitHub Actions
## ๐๏ธ Architecture
```text
MCP Client / Inspector
|
v
MCP Server
(mcp/server.js)
|
v
run_tests Tool
|
+-----------+-----------+
| |
v v
Test Tool Layer Suite Selection
(tools/*.js) login / inventory /
checkout / api /
regression
|
v
testRunner.js
|
v
Playwright
/ \
v v
UI Tests API Tests
|
v
Page Objects
```
## ๐ Project Structure
```text
my-ai-qa-agent/
โ
โโโ .github/
โ โโโ workflows/
โ โโโ playwright.yml
โ
โโโ data/
โ โโโ customer.js
โ โโโ users.js
โ
โโโ mcp/
โ โโโ server.js
โ
โโโ pages/
โ โโโ LoginPage.js
โ โโโ InventoryPage.js
โ โโโ CartPage.js
โ โโโ CheckoutPage.js
โ
โโโ tests/
โ โโโ api/
โ โ โโโ users.api.spec.js
โ โโโ login.spec.js
โ โโโ inventory.spec.js
โ โโโ checkout.spec.js
โ
โโโ tools/
โ โโโ testRunner.js
โ โโโ runLoginTests.js
โ โโโ runInventoryTests.js
โ โโโ runCheckoutTests.js
โ โโโ runApiTests.js
โ โโโ runRegressionTests.js
โ
โโโ .env.example
โโโ .gitignore
โโโ package.json
โโโ playwright.config.js
โโโ README.md
```
### `pages/`
Contains reusable Page Object Model classes that encapsulate UI locators and user actions.
### `tests/`
Contains Playwright UI and API test specifications.
### `tools/`
Acts as the bridge between MCP requests and Playwright test execution. Individual tools select test suites while `testRunner.js` executes Playwright and summarizes the results.
### `mcp/`
Contains the MCP server that exposes QA automation capabilities as MCP tools.
### `.github/workflows/`
Contains the GitHub Actions workflow used to execute the automated test suite in CI.
## โ๏ธ Installation
Clone the repository:
```bash
git clone https://github.com/bisminizzar84/ai-qa-agent-mcp
cd ai-qa-agent-mcp
```
Install dependencies:
```bash
npm install
```
Install Playwright browsers:
```bash
npx playwright install
```
Create a local `.env` file based on `.env.example`:
```env
BASE_URL=https://www.saucedemo.com
```
## ๐งช Running Tests
Run the complete test suite:
```bash
npm test
```
Run tests with a visible browser:
```bash
npx playwright test --headed
```
Run only login tests:
```bash
npx playwright test tests/login.spec.js
```
Run API tests:
```bash
npx playwright test tests/api/users.api.spec.js
```
Open the Playwright HTML report:
```bash
npx playwright show-report
```
## ๐ค MCP Integration
The project exposes QA automation through an MCP server.
Start the server through MCP Inspector:
```bash
npx -y @modelcontextprotocol/inspector@latest node mcp/server.js
```
The `run_tests` MCP tool supports multiple suites:
- `login`
- `inventory`
- `checkout`
- `api`
- `regression`
Example request:
```json
{
"suite": "api"
}
```
Example response:
```json
{
"suite": "api",
"status": "passed",
"total": 1,
"passed": 1,
"failed": 0,
"skipped": 0,
"durationMs": 1841
}
```
The MCP layer converts test execution into structured results that can be consumed by MCP-compatible clients.
## ๐ CI/CD
GitHub Actions automatically executes the Playwright test suite when code is pushed to `main` or when a pull request targets `main`.
The pipeline performs:
1. Repository checkout
2. Node.js setup
3. Dependency installation
4. Playwright browser installation
5. Automated test execution
6. Playwright report upload
This provides automated regression feedback for every code change.
## ๐ฎ Future Enhancements
- Connect an LLM to the MCP server for natural-language test execution
- AI-assisted failure analysis
- Automatic defect summaries
- Test generation from natural-language requirements
- Additional API coverage
- Parallel and cross-browser execution
- Dockerized test execution
- Test result notifications
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues