QA Prompts MCP Server
Provides tools and prompts for converting manual test cases to Appium automation scripts, analyzing Appium test failures, converting Appium page source XML to POM locators, and standardizing bug reports for mobile automation testing.
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 Prompts MCP Serverconvert manual test for login to Appium script"
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 Prompts MCP Server
An MCP (Model Context Protocol) server that provides QA prompt templates for mobile automation teams. It exposes structured prompts and tools for automation code generation, failure analysis, and bug standardization — all usable directly inside Cursor.
Quick Start (No Clone Required)
Add this to your Cursor MCP config file (~/.cursor/mcp.json):
{
"mcpServers": {
"qa-prompts": {
"command": "npx",
"args": ["-y", "github:swapnilGirishPawar/Custom-MCP-Server-Mobile-QA"]
}
}
}Restart Cursor. The prompts will be available immediately via the / slash command in chat.
This server also exposes the same capabilities as MCP tools, which can be invoked by MCP clients (and may be used automatically by Cursor when tool-calling is enabled).
Related MCP server: MCP Appium
Available Prompts (Slash Commands)
1. Manual → Automation Conversion
Prompt | What It Does |
| Converts manual test cases into Appium + Java + TestNG automation scripts following POM architecture |
| Performs a deep PR review of existing automation code and generates a structured review report |
| Converts Appium Inspector Page Source XML into POM locator declarations (ID > Accessibility > XPath priority) |
2. Debugging & Failure Analysis
Prompt | What It Does |
| Analyzes Appium test failure logs to determine root cause, severity, flakiness risk, and fix recommendations |
3. Bug Standardization
Prompt | What It Does |
| Converts a bug title/description into a standardized bug report following the organization template |
Available Tools (MCP Tools)
Each prompt is also registered as an MCP tool with the same name (without the leading /).
Tool | What It Does |
| Converts manual test cases into Appium + Java + TestNG automation scripts following POM architecture |
| Performs a deep PR review of existing automation code and generates a structured review report |
| Converts Appium Inspector Page Source XML into POM locator declarations (ID > Accessibility > XPath priority) |
| Analyzes Appium test failure logs to determine root cause, severity, flakiness risk, and fix recommendations |
| Converts a bug title/description into a standardized bug report following the organization template |
Notes:
standardize-bug-reporttool output: the tool output format does not include a<Title>line; it returns only [Issue], [Reproduction steps], [Screenshot], [Expected Result] (with those headings expected to be bold).
Usage
Open Cursor chat (
Cmd+L) or Composer (Cmd+I)Type
/to see the list of available promptsSelect a prompt
Fill in the required inputs
Submit — the AI processes the full prompt template and returns structured output
Example: Standardize a Bug Report
Type
/standardize-bug-reportin chatFill in:
bugDescription:
login button not working on iOS after updateadditionalContext (optional):
Build 2.3.1, iPhone 15, Premium account
The AI generates a complete standardized bug report (including a rewritten title), issue, reproduction steps, and expected result
Example: Convert Manual Test Case to Automation
Type
/convert-manual-to-automationin chatFill in:
featureNavigation:
Settings → Notifications → Push NotificationsmanualTestCase: (paste your manual test case)
existingCode (optional): (paste any existing Page Objects or BaseTest for context)
The AI generates a complete TestNG test class with POM, annotations, and framework conventions
Prompt / Tool Inputs Reference
Name | Required Inputs | Optional Inputs |
|
|
|
|
| — |
|
| — |
|
| — |
|
|
|
Local Development
# Clone the repo
git clone https://github.com/swapnilGirishPawar/Custom-MCP-Server-Mobile-QA.git
cd Custom-MCP-Server-Mobile-QA
# Install dependencies
npm install
# Build
npm run build
# Run locally
npm startFor development with auto-reload, use npm run dev (requires tsx).
To test locally before pushing, point your MCP config to the local build:
{
"mcpServers": {
"qa-prompts": {
"command": "node",
"args": ["/absolute/path/to/Custom-MCP-Server-Mobile-QA/dist/index.js"]
}
}
}Tech Stack
TypeScript with strict mode
@modelcontextprotocol/sdk v1.27+
Zod v4 for input validation
stdio transport for Cursor integration
Available Tools
6 toolsanalyze-test-failureAppium Test Failure Root Cause AnalyzerA
Performs deep failure analysis of Appium test logs to determine the true root cause, classify severity, assess flakiness risk, and provide fix recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| failureLogs | Yes | The complete failure logs from the Appium test execution to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description primarily informs behavior. It describes what the tool does (analyze, classify, assess, recommend) but does not disclose side effects, limitations, or whether it modifies logs or requires external dependencies. It is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys all key aspects without wasted words. It is appropriately sized and front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one simple input and no output schema, the description lists the conceptual outputs (root cause, severity, flakiness risk, fix recommendations) but does not specify the format or structure of the response. This may require the agent to infer the output nature. Adequate but could be more precise.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes the single parameter 'failureLogs' with sufficient detail. The tool description adds no additional depth about the parameter beyond what the schema already provides. With 100% schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: performing deep failure analysis of Appium test logs to determine root cause, classify severity, assess flakiness risk, and provide fix recommendations. It is specific with verb ('analyze') and resource ('Appium test logs'), and the outcomes distinguish it from unrelated sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing Appium test failures but does not explicitly state when to use versus alternatives or provide exclusions. Sibling tools are unrelated, so confusion is unlikely, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Automation-initialization-codeGenerate Java Test + Page Class (testsuite)B
Returns the prompt text to generate Java test and page classes matching src/test/java/testsuite, for class name: required.
| Name | Required | Description | Default |
|---|---|---|---|
| className | Yes | Base class name for the new test and page (e.g. SettingsProfile — without Tests/Page suffix unless that is your suite convention) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states it 'returns the prompt text', which implies a read-only, non-destructive operation. No annotations exist to contradict this. It clearly sets expectations about the tool's effect, though it could mention that no files are created.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that clearly conveys purpose and a key constraint (testsuite path). No redundant words. However, the long name and title add verbosity outside the description itself.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that returns a prompt, the description does not explain the prompt's format, content, or how to use the output. It also lacks information about error cases or assumptions about the testsuite structure. Despite low complexity, important details are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already includes detailed guidance for className. The tool description adds only 'for class name: required' (redundant) and 'matching src/test/java/testsuite' (additional context). Overall marginal added value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: returns prompt text to generate Java test and page classes. The verb 'returns' clarifies it's a prompt-generator, distinguishing it from actual code generation despite the title using 'Generate'. It specifically mentions the testsuite path, aiding differentiation from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. The description only says 'for class name: required' but does not explain prerequisites, context, or when to avoid using it. Given five sibling tools, more differentiation is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert-manual-to-automationConvert Manual Test Case → Automation SkeletonB
Converts manual test cases into well-structured Appium + Java + TestNG automation scripts following POM architecture.
| Name | Required | Description | Default |
|---|---|---|---|
| existingCode | No | Existing automation code for context (optional). Paste any relevant Page Objects, BaseTest, or utility classes. | |
| manualTestCase | Yes | The manual test case(s) to convert into automation code | |
| featureNavigation | Yes | Navigation path from Calendar Tab to the feature entry point, e.g. 'Calendar Tab → Settings → Notifications → Feature Starts' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description gives a high-level outcome but does not disclose behavioral details like whether it generates files, overwrites existing code, or requires specific input formats. With no annotations, the agent lacks critical context about the tool's side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently communicates the tool's purpose and output characteristics without any extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity (3 parameters, no output schema), the description adequately covers the core function but lacks details on return format, error handling, or integration context. It is minimally viable but could benefit from additional behavioral guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are fully described in the schema (100% coverage). The description adds no additional semantic detail about the parameters beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool converts manual test cases into Appium + Java + TestNG automation scripts following POM architecture. It uses a specific verb and resource, and is well-differentiated from sibling tools like 'refactor-automation-code' or 'analyze-test-failure'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor does it mention prerequisites or exclusions. The agent is left to infer context from tool names and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refactor-automation-codeRefactor Existing Automation CodeC
Performs a deep technical PR review of Appium + Java + TestNG automation code and generates a professional PR Review Report.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The automation code to review. Paste the full class or relevant code blocks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose whether the tool modifies code or is read-only, nor any side effects or required permissions. The phrase 'generates a report' implies non-destructive, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence clearly states purpose and context. No extra words, but could benefit from bullet points for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the input adequately but does not explain what the PR Review Report contains (e.g., sections, metrics). For a report-generating tool, this is a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the only parameter 'code' having a description that adds meaning: 'Paste the full class or relevant code blocks.' This clarifies the expected input format. However, baseline is 3 due to high coverage, and the description adds modest value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb 'Performs a deep technical PR review' and resource 'automation code', with context (Appium + Java + TestNG). Distinguishes from siblings like 'analyze-test-failure' and 'convert-manual-to-automation'. However, name says 'refactor' but description says 'review', which is slightly inconsistent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. Does not mention prerequisites, file types, or when not to use. Siblings are listed but not differentiated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
standardize-bug-reportStandardize Bug ReportB
Converts a bug title or description into a properly structured, standardized bug report following the organization's template.
| Name | Required | Description | Default |
|---|---|---|---|
| bugDescription | Yes | The bug title or description to convert into a standardized bug report | |
| additionalContext | No | Optional additional context such as environment details, build version, platform, account type, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states that it converts into a template, but does not disclose safety (e.g., whether it is idempotent), side effects, or behavior on invalid input.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no redundancy. It is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description omits details about the output format or potential errors. The reference to 'organization's template' assumes prior knowledge, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds minor context (e.g., 'bug title or description' and example additional context) but does not significantly expand beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'converts' and identifies the resource (bug title/description) and output (standardized bug report). It distinguishes from sibling tools that handle XML, test failures, or automation code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. The description only implies conversion of unstructured reports, but fails to mention when not to use it or what alternatives exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xml-to-pom-locatorsAppium Inspector XML → POM LocatorsA
Converts Appium Inspector Page Source XML into POM locator declarations with proper locator strategy priority (ID > Accessibility > XPath).
| Name | Required | Description | Default |
|---|---|---|---|
| pageSourceXml | Yes | The Appium Inspector Page Source XML to convert into POM locators |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the locator strategy priority (ID > Accessibility > XPath), which is a key behavioral trait. No annotations are provided, so the description carries the full burden. It does not mention any side effects, authentication, or limitations, but for a conversion tool this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently states the action, input, output, and key detail (priority strategy). It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema or annotations, the description covers the purpose and strategy. However, it does not specify the output format (e.g., Java, Python) or any limitations, leaving some gaps. Overall adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, and the schema description already explains it clearly. The tool description adds context about the conversion and strategy priority but does not enhance the parameter meaning beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title and description clearly state the tool converts Appium Inspector XML to POM locators with a specific priority strategy. The verb 'converts' and the resource 'Appium Inspector Page Source XML' are explicit, and it differentiates from sibling tools which handle analysis, bug reports, and initialization.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when one has Appium Inspector XML and needs POM locators, but it lacks explicit guidance on when to use or not use this tool versus alternatives. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: converting page source, analyzing failures, formatting bug reports, generating initialization code, converting manual tests, and reviewing code. No overlap.
Five tools follow a consistent hyphen-separated lowercase pattern (e.g., xml-to-pom-locators), but 'Automation-initialization-code' starts with a capital letter, breaking the pattern.
With 6 tools, the set covers the core QA automation workflow—locator generation, failure analysis, bug reporting, test generation, manual conversion, and code review—without being too sparse or bloated.
The tools cover the main stages of Appium automation: setup, analysis, reporting, and refactoring. Missing potential tools like test data generation or execution, but the scope is reasonable.
Maintenance
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
Drive real Android & iOS devices and web browsers from natural language for mobile + web QA. 290+ tools across device control, app management, automation sessions, browser automation, and flow recording / replay. Bearer-auth — get a token at robotactions.com → Profile → API Tokens.
Control real Android and iOS devices with LLM agents — tap, swipe, type, automate flows.
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
Turns vague automation requests into tool stacks, prompts, QA checks, and human boundaries.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI-powered mobile app testing and automation through Appium, using Azure OpenAI to intelligently navigate mobile applications and generate test cases.
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to automate Android mobile device testing through Appium, with automatic device detection, screen element inspection, and natural language test scenario execution.3MIT

MCP Appiumofficial
AlicenseBqualityAmaintenanceEnables AI assistants to automate mobile app testing and development for iOS and Android through natural language interactions. Supports intelligent element identification, session management, automated test generation, and comprehensive device interactions including clicks, swipes, screenshots, and app management.3112,466466Apache 2.0- FlicenseNot gradedqualityCmaintenanceEnables AI-driven mobile test automation through planning, generation, and self-healing agents for Android and iOS, exposed as callable MCP tools.9
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/swapnilGirishPawar/Custom-MCP-Server-Mobile-QA'
If you have feedback or need assistance with the MCP directory API, please join our Discord server