Skip to main content
Glama
gits5213
by gits5213

qa-ai-mcp-server-gits

npm version License: MIT

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

npx -y qa-ai-mcp-server-gits — no clone required

Output

qa-mcp-output/ in your automation project


Related MCP server: wopee-mcp

Quick Start

1. Install Playwright browser (one-time)

npx playwright install chromium

2. 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_PROVIDER to jira or azure-devops and 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 qa-ai-mcp-server-gits → restart → Agent mode

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-gits

MCP Tools

Tool

Description

generate_test_scenarios

Positive, negative, boundary, validation, role-based, accessibility, security, and E2E scenarios

generate_test_cases

Detailed automation-ready test cases with IDs, steps, and test data

discover_stable_locators

Playwright browser scan — locator priority: role → label → placeholder → text → testId → CSS → XPath

generate_playwright_test

Page Object Model Playwright TypeScript framework (pages, tests, data, utils, config)

run_playwright_test

Execute tests; capture screenshots, traces, and videos

create_bug

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

qa_automation_workflow

Full workflow — pass featureName, userStory, acceptanceCriteria, applicationUrl

qa_automation_workflow_example

Pre-filled Applitools login demo

qa_automation_workflow_short

Compact workflow prompt

qa_automation_instructions

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 payloads

Environment Variables

Variable

Required

Description

QA_MCP_PROJECT_ROOT

Recommended

Automation workspace path (${workspaceFolder} in mcp.json)

BUG_PROVIDER

No

Default bug tracker: github · jira · azure-devops

GITHUB_TOKEN

GitHub bugs

Personal access token (repo scope)

GITHUB_OWNER

GitHub bugs

GitHub org or username

GITHUB_REPO

GitHub bugs

Target repository

GITHUB_DEFAULT_LABELS

No

Comma-separated labels (default: bug,automated-test,qa)

JIRA_BASE_URL

Jira bugs

e.g. https://your-domain.atlassian.net

JIRA_EMAIL

Jira bugs

Atlassian account email

JIRA_API_TOKEN

Jira bugs

Jira API token

JIRA_PROJECT_KEY

Jira bugs

e.g. QA

JIRA_ISSUE_TYPE

No

Default: Bug

AZURE_DEVOPS_ORG

ADO bugs

Organization name

AZURE_DEVOPS_PROJECT

ADO bugs

Project name

AZURE_DEVOPS_PAT

ADO bugs

Personal access token (Work Items write)

AZURE_DEVOPS_AREA_PATH

No

Optional area path

AZURE_DEVOPS_ITERATION_PATH

No

Optional iteration path

ALLOW_PRODUCTION_URLS

No

true to allow production-like URLs

PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD

No

1 to skip Chromium install on npm install

LOG_LEVEL

No

debug · info · warn · error

Copy .env.example for a full template.


License

MIT © gits5213


📖 Instructions

Complete setup, workflow, prompt templates, and bug tracker configuration.


1. Installation

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

  1. Open your automation project (e.g. qa-automation-framework-gits)

  2. Add .vscode/mcp.json (see Quick Start)

  3. Cursor Settings → MCP → enable qa-ai-mcp-server-gits

  4. Restart Cursor

  5. Open chat in Agent mode

  6. Confirm 6 tools and 4 prompts are available

VS Code (GitHub Copilot)

Prerequisites: VS Code 1.99+ · GitHub Copilot · Copilot Chat

  1. Open your automation project in VS Code

  2. Add .vscode/mcp.json — see vscode-npx.json

  3. Developer: Reload Window (Cmd+Shift+P / Ctrl+Shift+P)

  4. Open Copilot Chat → switch to Agent mode

  5. Open the tools picker → verify all 6 tools load

  6. MCP prompts appear in the prompts picker

VS Code user-level config (optional):

OS

Path

macOS

~/Library/Application Support/Code/User/mcp.json

Windows

%APPDATA%\Code\User\mcp.json

Linux

~/.config/Code/User/mcp.json

Prefer workspace .vscode/mcp.json so ${workspaceFolder} resolves per project.

Verify

List the available MCP tools from qa-ai-mcp-server-gits

Then try prompt qa_automation_workflow_example.


3. Built-in MCP Prompts

Prompt

When to use

qa_automation_workflow

Your feature — provide story, AC, URL

qa_automation_workflow_example

Quick Applitools login demo

qa_automation_workflow_short

Minimal prompt for fast runs

qa_automation_instructions

Setup help

qa_automation_workflow arguments

Argument

Required

Example

featureName

Yes

UserLogin

userStory

Yes

As a user, I want to...

acceptanceCriteria

Yes

Numbered list

applicationUrl

Yes

https://demo.applitools.com/

priority

No

high

pageName

No

LoginPage

environment

No

test

module

No

Authentication

businessRules

No

Optional rules

featureFolder

No

userlogin


4. Full QA Workflow

Run MCP tools in order in Agent mode:

Step

Tool

Purpose

1

generate_test_scenarios

Scenarios from user story & acceptance criteria

2

generate_test_cases

Detailed test cases with IDs and steps

3

discover_stable_locators

Playwright scan for stable locators

4

generate_playwright_test

POM Playwright TypeScript framework

5

run_playwright_test

Execute tests; capture artifacts

6

create_bug

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 test

Update 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 userlogin

8. 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

provider value

Creates

GitHub

github

GitHub Issue

Jira

jira

Jira Bug

Azure DevOps

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,qa

Jira

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,qa

Azure 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;qa

Behavior

  • Dry-run (default): builds payload, saves to qa-mcp-output/reports/bug-payload-{provider}-{testCaseId}.json

  • Live: requires dryRun: false + confirmed: true

  • Security: 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 .vscode/mcp.json

npm page shows no README

Hard refresh; ensure latest version published

Locator discovery fails

npx playwright install chromium

Output not in my project

Set QA_MCP_PROJECT_ROOT to ${workspaceFolder}

Production URL blocked

ALLOW_PRODUCTION_URLS=true

Tests fail after codegen

Update data/userData.json credentials

GitHub bug fails

Check GITHUB_TOKEN, GITHUB_OWNER, GITHUB_REPO

Jira bug fails

Verify JIRA_BASE_URL, email, API token, project key

ADO bug fails

PAT needs Work Items (Read & Write) scope

${workspaceFolder} not resolving

Use workspace .vscode/mcp.json, not user-level config


10. Security

  • Secrets loaded from .env / MCP env — never logged (masked)

  • File writes restricted to project root (QA_MCP_PROJECT_ROOT)

  • Only npx playwright test permitted — no arbitrary shell commands

  • Production URLs blocked unless ALLOW_PRODUCTION_URLS=true

  • Bug creation defaults to dry-run; live requires explicit confirmation


11. Scripts (developers)

Command

Description

npm run build

Compile TypeScript

npm start

Run MCP server (stdio)

npm run dev

Dev mode with tsx

npm run setup

Install Playwright Chromium

npm run verify

Full verification suite

npm run test:mcp

Verify tools & prompts register

Publish to npm (maintainers)

npm login
npm run build
npm publish --access public --otp=YOUR_CODE


Made with ❤️ by gits5213 for QA automation teams.

Available Tools

6 tools
create_bugA

Create a bug ticket from a failed test — supports GitHub Issues, Jira, and Azure DevOps (dry-run or live)

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNo
browserNochromium
priorityNo
providerNoBug tracker: github (default), jira, or azure-devops. Falls back to BUG_PROVIDER env.
severityNo
confirmedNo
tracePathNo
environmentNotest
autoCreateBugNo
applicationUrlYes
screenshotPathNo
testCaseDetailsYes
additionalLabelsNo
failedTestResultYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses dry-run vs live behavior and multi-provider support, but misses critical details like authentication requirements, rate limits, or confirmation steps (e.g., the 'confirmed' parameter). A score of 3 reflects partial transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that fully captures the tool's primary purpose and key features. It is front-loaded with essential information and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 14 parameters, nested objects, no output schema, and no annotations, the description is insufficient. It does not explain return values, error handling, dry-run outcomes, or the interaction between parameters like 'autoCreateBug' and 'confirmed'. The complexity demands a more complete description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 7%. The description adds minimal parameter meaning beyond the schema—only referencing 'from a failed test' which corresponds to required parameters. Many optional parameters (e.g., priority, severity, provider) remain unexplained. The description does not compensate for the low coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a bug ticket from a failed test, specifies three supported platforms (GitHub, Jira, Azure DevOps), and mentions dry-run/live modes. This distinguishes it from sibling tools like generate_test_cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after a failed test but does not provide explicit guidance on when to choose this tool over alternatives or when not to use it. It lists supported providers but no criteria for selecting among them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

discover_stable_locatorsC

Open the application in Playwright and discover stable locators using accessibility-first priority

ParametersJSON Schema
NameRequiredDescriptionDefault
headlessNo
pageNameYes
scenarioStepsNo
applicationUrlYes
allowProductionNo

TDQS

C2.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations accompany the tool, so the description must carry the full burden of behavioral disclosure. It mentions 'accessibility-first priority' but fails to state whether the tool modifies state, requires authentication, or has any side effects. Key behaviors like app lifecycle or read-only intent are absent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but severely under-informative for a tool with 5 parameters and no annotations. It lacks structure and fails to front-load critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no annotations, no output schema), the description is woefully incomplete. It omits return values, parameter details, and context about when to invoke it, leaving the agent with insufficient guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning parameters have no descriptions in the schema. The tool description does not explain any of the 5 parameters (applicationUrl, pageName, headless, scenarioSteps, allowProduction), leaving the agent to guess their meaning and usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: using Playwright to discover stable locators with accessibility-first priority. It is specific and distinct from sibling tools like generate_playwright_test or create_bug. However, 'stable locators' could be more precisely defined.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. Given the presence of related sibling tools (e.g., run_playwright_test), explicit differentiation is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_playwright_testC

Generate a Playwright TypeScript framework with Page Object Model, data files, and utilities

ParametersJSON Schema
NameRequiredDescriptionDefault
locatorsYes
testDataNo
testCasesYes
applicationUrlYes
allowProductionNo
frameworkConfigurationYes

TDQS

C2.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose any behavioral traits such as side effects (e.g., file creation), authentication requirements, or if it is read-only. This is inadequate for a tool that likely generates files.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is too brief given the tool's complexity. While concise, it sacrifices necessary information and clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is severely incomplete. It does not explain what the tool returns (no output schema), how parameters relate, or any contextual cues for using it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, and the description does not explain any parameters. With 6 complex parameters including nested objects, the description should provide meaning but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates a Playwright TypeScript framework with Page Object Model, data files, and utilities. This verb+resource combination is specific and distinguishes it from sibling tools like create_bug or generate_test_cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or when not to use it. It does not mention any preconditions or context for its use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_test_casesC

Convert generated scenarios into detailed manual/automation-ready test cases

ParametersJSON Schema
NameRequiredDescriptionDefault
userStoryYes
featureNameNo
acceptanceCriteriaYes
generatedScenariosYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full burden. It mentions conversion but lacks detail on output format, side effects, or prerequisites (e.g., whether generatedScenarios must come from a prior tool).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence covering core function with no redundancy. However, could be slightly expanded to include parameter hints without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four parameters, a complex input schema, and no output schema or annotations, the description is insufficient. It does not describe the structure of generatedScenarios or the output format, making it hard for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds little beyond the schema. It mentions 'generated scenarios' but does not clarify userStory, acceptanceCriteria, or featureName meanings or relationships, leaving the agent to infer from parameter names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool converts generated scenarios into test cases, differentiating it from siblings like generate_test_scenarios (which generates scenarios) and generate_playwright_test (which produces automation code).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives, such as generate_playwright_test for automation code or create_bug for reporting issues. The description implies it follows generate_test_scenarios but offers no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_test_scenariosC

Generate comprehensive test scenarios from user stories and acceptance criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
priorityNohigh
userStoryYes
featureNameYes
businessRulesNo
acceptanceCriteriaYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description lacks behavioral details such as side effects, read-only status, or output format. No annotations are provided to compensate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loads the main action, but could include more structure without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters and no output schema, the description is insufficient for an agent to use the tool correctly without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description adds no meaning to the 5 parameters beyond the schema's names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates test scenarios from user stories and acceptance criteria, but does not differentiate from the sibling 'generate_test_cases' tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as generate_test_cases or create_bug.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_playwright_testC

Execute Playwright tests and capture results, screenshots, traces, and videos

ParametersJSON Schema
NameRequiredDescriptionDefault
headedNo
testCasesNo
projectNameNo
testFilePathYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions capturing results, screenshots, traces, and videos but does not disclose how these are returned, side effects, duration, or whether it runs headlessly (despite 'headed' parameter defaulting to false).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it lacks structure and important details. While short, it sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters, no output schema, no annotations, and sibling tools, the description is completely inadequate. It does not explain return values, error handling, artifact storage, or how it interacts with other tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no information about any of the 4 parameters (testFilePath, headed, testCases, projectName). The description fails to explain what each parameter does or how to use them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Execute' and the resource 'Playwright tests', and mentions capturing results and artifacts, which distinguishes it from sibling 'generate_playwright_test' that creates tests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'generate_playwright_test'. The description does not mention prerequisites, context, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: bug creation, locator discovery, test generation at multiple levels, and test execution. No two tools can be easily confused.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores (e.g., create_bug, generate_test_cases), making them predictable and easy to understand.

Tool Count5/5

With 6 tools, the server is well-scoped for a QA automation domain, covering essential operations without unnecessary bloat or deficiency.

Completeness4/5

The tool surface covers the core QA workflow—scenario generation, test case creation, Playwright test generation, execution, and bug reporting. Minor gaps exist (e.g., no tool to list or update bugs), but the set is largely self-contained.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

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