qa-ai-mcp-server-gits
Creates GitHub issues from failed Playwright tests, enabling automated bug tracking with dry-run and live options.
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., "@qa-ai-mcp-server-gitsgenerate test scenarios for user login with valid credentials"
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.
qa-ai-mcp-server-gits
MCP server for end-to-end QA automation: test scenario generation, Playwright locator discovery, TypeScript test codegen, test execution, and automated bug filing to GitHub, Jira, or Azure DevOps.
Features at a Glance
Capability | Details |
6 MCP tools | Scenarios → test cases → locators → Playwright codegen → test run → bug filing |
4 MCP prompts | Built-in workflow templates (no copy-paste needed) |
3 bug trackers | GitHub Issues · Jira · Azure DevOps |
2 editors | Cursor · VS Code (GitHub Copilot Agent) |
npm install |
|
Output |
|
Related MCP server: wopee-mcp
Quick Start
1. Install Playwright browser (one-time)
npx playwright install chromium2. Add MCP config to your automation project
Create .vscode/mcp.json (works in Cursor and VS Code):
{
"mcpServers": {
"qa-ai-mcp-server-gits": {
"command": "npx",
"args": ["-y", "qa-ai-mcp-server-gits"],
"env": {
"QA_MCP_PROJECT_ROOT": "${workspaceFolder}",
"LOG_LEVEL": "info",
"BUG_PROVIDER": "github",
"GITHUB_OWNER": "your-org",
"GITHUB_REPO": "your-automation-repo",
"GITHUB_TOKEN": "ghp_your_token"
}
}
}
}For Jira or Azure DevOps, set
BUG_PROVIDERtojiraorazure-devopsand add the matching env vars — see Bug Filing.
Config examples: cursor-npx.json · vscode-npx.json
3. Enable in your editor
Editor | Steps |
Cursor | Settings → MCP → enable |
VS Code | Install Copilot + Copilot Chat → reload window → Copilot Agent mode |
4. Run your first workflow
Use MCP prompt qa_automation_workflow_example (login demo) or ask in Agent chat:
List the available MCP tools from qa-ai-mcp-server-gitsMCP Tools
Tool | Description |
| Positive, negative, boundary, validation, role-based, accessibility, security, and E2E scenarios |
| Detailed automation-ready test cases with IDs, steps, and test data |
| Playwright browser scan — locator priority: role → label → placeholder → text → testId → CSS → XPath |
| Page Object Model Playwright TypeScript framework (pages, tests, data, utils, config) |
| Execute tests; capture screenshots, traces, and videos |
| File bugs to GitHub, Jira, or Azure DevOps (dry-run or live) |
MCP Prompts
Invoke from the MCP prompts picker in Cursor or VS Code Copilot — no manual copy-paste:
Prompt | Description |
| Full workflow — pass |
| Pre-filled Applitools login demo |
| Compact workflow prompt |
| Setup guide for Cursor, VS Code, and bug trackers |
Prompt template file: prompts/MCP-QA-AUTOMATION-TEMPLATE.md
Output Location
With QA_MCP_PROJECT_ROOT set to ${workspaceFolder}, artifacts are written to your project:
qa-mcp-output/
├── test-cases/ # scenarios & test cases JSON
├── locators/ # discovered locators JSON
├── generated-tests/ # Playwright POM framework
└── reports/ # test runs & bug payloadsEnvironment Variables
Variable | Required | Description |
| Recommended | Automation workspace path ( |
| No | Default bug tracker: |
| GitHub bugs | Personal access token ( |
| GitHub bugs | GitHub org or username |
| GitHub bugs | Target repository |
| No | Comma-separated labels (default: |
| Jira bugs | e.g. |
| Jira bugs | Atlassian account email |
| Jira bugs | Jira API token |
| Jira bugs | e.g. |
| No | Default: |
| ADO bugs | Organization name |
| ADO bugs | Project name |
| ADO bugs | Personal access token (Work Items write) |
| No | Optional area path |
| No | Optional iteration path |
| No |
|
| No |
|
| No |
|
Copy .env.example for a full template.
License
MIT © gits5213
📖 Instructions
Complete setup, workflow, prompt templates, and bug tracker configuration.
1. Installation
Option A — npm (recommended)
No clone required. Editors run the server via npx:
npx playwright install chromium # one-time per machine.vscode/mcp.json in your automation project:
{
"mcpServers": {
"qa-ai-mcp-server-gits": {
"command": "npx",
"args": ["-y", "qa-ai-mcp-server-gits"],
"env": {
"QA_MCP_PROJECT_ROOT": "${workspaceFolder}",
"LOG_LEVEL": "info"
}
}
}
}Option B — GitHub clone (developers / contributors)
git clone https://github.com/gits5213/qa-ai-mcp-server-gits.git
cd qa-ai-mcp-server-gits
npm install
cp .env.example .env
npm run build{
"mcpServers": {
"qa-ai-mcp-server-gits": {
"command": "node",
"args": ["${workspaceFolder}/dist/server.js"],
"cwd": "${workspaceFolder}"
}
}
}Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"qa-ai-mcp-server-gits": {
"command": "npx",
"args": ["-y", "qa-ai-mcp-server-gits"],
"env": {
"QA_MCP_PROJECT_ROOT": "/absolute/path/to/your/automation-project",
"BUG_PROVIDER": "github",
"GITHUB_TOKEN": "ghp_your_token",
"GITHUB_OWNER": "your-org",
"GITHUB_REPO": "your-repo"
}
}
}
}Restart Claude Desktop after saving.
2. Enable in Cursor & VS Code
Both editors share the same .vscode/mcp.json.
Cursor
Open your automation project (e.g.
qa-automation-framework-gits)Add
.vscode/mcp.json(see Quick Start)Cursor Settings → MCP → enable
qa-ai-mcp-server-gitsRestart Cursor
Open chat in Agent mode
Confirm 6 tools and 4 prompts are available
VS Code (GitHub Copilot)
Prerequisites: VS Code 1.99+ · GitHub Copilot · Copilot Chat
Open your automation project in VS Code
Add
.vscode/mcp.json— see vscode-npx.jsonDeveloper: Reload Window (
Cmd+Shift+P/Ctrl+Shift+P)Open Copilot Chat → switch to Agent mode
Open the tools picker → verify all 6 tools load
MCP prompts appear in the prompts picker
VS Code user-level config (optional):
OS | Path |
macOS |
|
Windows |
|
Linux |
|
Prefer workspace
.vscode/mcp.jsonso${workspaceFolder}resolves per project.
Verify
List the available MCP tools from qa-ai-mcp-server-gitsThen try prompt qa_automation_workflow_example.
3. Built-in MCP Prompts
Prompt | When to use |
| Your feature — provide story, AC, URL |
| Quick Applitools login demo |
| Minimal prompt for fast runs |
| Setup help |
qa_automation_workflow arguments
Argument | Required | Example |
| Yes |
|
| Yes |
|
| Yes | Numbered list |
| Yes |
|
| No |
|
| No |
|
| No |
|
| No |
|
| No | Optional rules |
| No |
|
4. Full QA Workflow
Run MCP tools in order in Agent mode:
Step | Tool | Purpose |
1 |
| Scenarios from user story & acceptance criteria |
2 |
| Detailed test cases with IDs and steps |
3 |
| Playwright scan for stable locators |
4 |
| POM Playwright TypeScript framework |
5 |
| Execute tests; capture artifacts |
6 |
| File bug to GitHub / Jira / ADO (dry-run first) |
5. Copy/Paste Prompt Template
Paste into Cursor or VS Code Copilot Agent mode:
You are my QA Automation Engineer. Use the qa-ai-mcp-server-gits MCP tools.
Feature Name: UserLogin
Application URL: https://demo.applitools.com/
Priority: high
User Story:
As a user, I want to login with valid credentials so that I can access my dashboard.
Acceptance Criteria:
1. User can login with valid username and password.
2. After successful login, URL should contain app.html.
3. Invalid login should show an error message.
Workflow:
1. generate_test_scenarios (featureName: UserLogin, priority: high)
2. generate_test_cases
3. discover_stable_locators (pageName: LoginPage)
4. generate_playwright_test (allureReporting, screenshotOnFailure, traceOnFailure: true)
5. run_playwright_test (headless: true)
6. If fail → create_bug (provider: github, dryRun: true)
Output: qa-mcp-output/ in this project
Begin with Step 1.6. Example Tool Inputs
generate_test_scenarios
{
"userStory": "As a user, I want to login with valid credentials so that I can access my dashboard.",
"acceptanceCriteria": [
"User can login with valid username and password.",
"After successful login, URL should contain app.html.",
"Invalid login should show an error message."
],
"featureName": "UserLogin",
"priority": "high"
}discover_stable_locators
{
"applicationUrl": "https://demo.applitools.com/",
"pageName": "LoginPage",
"scenarioSteps": ["Enter username", "Enter password", "Click Sign in"]
}create_bug — GitHub (dry-run)
{
"provider": "github",
"dryRun": true,
"failedTestResult": {
"testStatus": "failed",
"errorMessage": "Assertion failed",
"executionSummary": "1 test failed"
},
"testCaseDetails": {
"testCaseId": "TC-USERLOGIN-001",
"testCaseTitle": "Verify valid login",
"testType": "positive",
"priority": "high",
"module": "Authentication",
"testSteps": ["1. Navigate to login", "2. Enter credentials", "3. Submit"],
"expectedResult": "User is logged in"
},
"applicationUrl": "https://demo.applitools.com/",
"environment": "demo",
"browser": "chromium"
}create_bug — Jira (live)
{
"provider": "jira",
"dryRun": false,
"confirmed": true,
"failedTestResult": { "testStatus": "failed", "errorMessage": "Timeout", "executionSummary": "1 failed" },
"testCaseDetails": {
"testCaseId": "TC-001",
"testCaseTitle": "Login fails",
"testType": "negative",
"priority": "high",
"module": "Authentication",
"testSteps": ["1. Enter invalid credentials", "2. Submit"],
"expectedResult": "Error message shown"
},
"applicationUrl": "https://demo.applitools.com/",
"environment": "staging",
"browser": "chromium"
}create_bug — Azure DevOps (live)
{
"provider": "azure-devops",
"dryRun": false,
"confirmed": true,
"failedTestResult": { "testStatus": "failed", "errorMessage": "Element not found", "executionSummary": "1 failed" },
"testCaseDetails": {
"testCaseId": "TC-002",
"testCaseTitle": "Dashboard not loaded",
"testType": "positive",
"priority": "critical",
"module": "Dashboard",
"testSteps": ["1. Login", "2. Verify dashboard"],
"expectedResult": "Dashboard visible"
},
"applicationUrl": "https://demo.applitools.com/",
"environment": "test",
"browser": "chromium"
}Live bug rules (all providers): "dryRun": false + "confirmed": true (or autoCreateBug: true)
7. Run Generated Playwright Tests
cd qa-mcp-output/generated-tests/userlogin
npm init -y
npm install -D @playwright/test
npx playwright install
npx playwright testUpdate data/userData.json with valid credentials before expecting passes.
Sync into your framework repo (if using qa-automation-framework-gits):
./scripts/sync-from-mcp.sh userlogin8. Bug Filing (GitHub · Jira · Azure DevOps)
The create_bug tool supports three providers. Set per call via "provider" or default with BUG_PROVIDER env.
Provider |
| Creates |
GitHub |
| GitHub Issue |
Jira |
| Jira Bug |
Azure DevOps |
| ADO Bug work item |
GitHub
BUG_PROVIDER=github
GITHUB_TOKEN=ghp_your_personal_access_token
GITHUB_OWNER=your-github-org
GITHUB_REPO=your-automation-repo
GITHUB_DEFAULT_LABELS=bug,automated-test,qaJira
BUG_PROVIDER=jira
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=you@example.com
JIRA_API_TOKEN=your_jira_api_token
JIRA_PROJECT_KEY=QA
JIRA_ISSUE_TYPE=Bug
JIRA_DEFAULT_LABELS=automated-test,qaAzure DevOps
BUG_PROVIDER=azure-devops
AZURE_DEVOPS_ORG=your-organization
AZURE_DEVOPS_PROJECT=your-project
AZURE_DEVOPS_PAT=your_personal_access_token
AZURE_DEVOPS_AREA_PATH=your-project\\Team Name
AZURE_DEVOPS_ITERATION_PATH=your-project\\Sprint 1
AZURE_DEVOPS_DEFAULT_TAGS=automated-test;qaBehavior
Dry-run (default): builds payload, saves to
qa-mcp-output/reports/bug-payload-{provider}-{testCaseId}.jsonLive: requires
dryRun: false+confirmed: trueSecurity: tokens masked in logs; never committed to git
9. Troubleshooting
Problem | Solution |
MCP tools not visible (Cursor) | Restart Cursor; enable in Settings → MCP |
MCP tools not visible (VS Code) | Reload window; Copilot Agent mode; check |
npm page shows no README | Hard refresh; ensure latest version published |
Locator discovery fails |
|
Output not in my project | Set |
Production URL blocked |
|
Tests fail after codegen | Update |
GitHub bug fails | Check |
Jira bug fails | Verify |
ADO bug fails | PAT needs Work Items (Read & Write) scope |
| Use workspace |
10. Security
Secrets loaded from
.env/ MCP env — never logged (masked)File writes restricted to project root (
QA_MCP_PROJECT_ROOT)Only
npx playwright testpermitted — no arbitrary shell commandsProduction URLs blocked unless
ALLOW_PRODUCTION_URLS=trueBug creation defaults to dry-run; live requires explicit confirmation
11. Scripts (developers)
Command | Description |
| Compile TypeScript |
| Run MCP server (stdio) |
| Dev mode with tsx |
| Install Playwright Chromium |
| Full verification suite |
| Verify tools & prompts register |
Publish to npm (maintainers)
npm login
npm run build
npm publish --access public --otp=YOUR_CODE12. Links & Support
Resource | URL |
npm package | |
GitHub repo | |
Issues | |
Public install guide | |
Deployment guide | |
Prompt template |
Made with ❤️ by gits5213 for QA automation teams.
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/gits5213/qa-ai-mcp-server-gits'
If you have feedback or need assistance with the MCP directory API, please join our Discord server