📖 Documentation
All 15 tools — parameters, return types, and integration examples.
Base MCP Endpoint
https://qa-mcp-server-theta.vercel.app/api/mcpHandles both SSE (GET) and Streamable HTTP (POST) transports automatically.
Connecting from your language
Claude Desktop
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"qa-intelligence": {
"url": "https://qa-mcp-server-theta.vercel.app/api/mcp"
}
}
}Cursor / VS Code
// .cursor/mcp.json or .vscode/mcp.json
{
"servers": {
"qa-intelligence": {
"type": "http",
"url": "https://qa-mcp-server-theta.vercel.app/api/mcp"
}
}
}Python
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession
import asyncio, json
async def main():
async with streamablehttp_client(
"https://qa-mcp-server-theta.vercel.app/api/mcp"
) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
result = await session.call_tool(
"generate_test_cases",
{ "feature_description": "User login with 2FA" }
)
print(json.dumps(result.content[0].text, indent=2))
asyncio.run(main())TypeScript
import { Client } from '@modelcontextprotocol/sdk/client/index.js'
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'
const client = new Client({ name: 'my-app', version: '1.0' })
const transport = new StreamableHTTPClientTransport(
new URL('https://qa-mcp-server-theta.vercel.app/api/mcp')
)
await client.connect(transport)
const result = await client.callTool('generate_test_cases', {
feature_description: 'User login with 2FA',
format: 'bdd',
})
console.log(result.content[0].text)Java
// Using OkHttp — MCP Java SDK coming soon
// Direct HTTP call to the playground API endpoint:
OkHttpClient http = new OkHttpClient();
String body = """
{ "passcode": "qatools2026",
"tool": "generate_test_cases",
"args": { "feature_description": "User login with 2FA" } }
""";
Request req = new Request.Builder()
.url("https://qa-mcp-server-theta.vercel.app/api/playground")
.post(RequestBody.create(body, MediaType.get("application/json")))
.build();
Response res = http.newCall(req).execute();
System.out.println(res.body().string());Tool Reference
generate_test_casesGenerate BDD Gherkin and/or plain test cases from a feature description. Returns structured JSON with IDs, priorities, steps, and tags.
Parameters
feature_descriptionstringThe feature or user story to test
format"bdd" | "plain" | "both"Output format
coverage_areasstringSpecific areas to focus on
negative_casesbooleanInclude negative/failure cases
Returns
{ summary, total_cases, test_cases[] }generate_api_testsGenerate ready-to-run API test scripts from an OpenAPI spec, cURL, or plain description.
Parameters
specstringOpenAPI YAML/JSON, cURL, or plain API description
framework"postman" | "rest-assured" | "pytest-requests" | "supertest" | "karate"Target framework
include_authbooleanInclude auth scenarios
include_negativebooleanInclude error scenarios
Returns
{ summary, framework, scenarios[], code }convert_to_automationConvert a manual test case into a runnable automation script with optional Page Object Model.
Parameters
test_casestringManual test case steps and expected results
framework"playwright" | "selenium-java" | "selenium-python" | "cypress" | "webdriverio" | "appium"Target framework
languagestringLanguage override (uses framework default if not set)
base_urlstringApplication base URL
page_object_patternbooleanGenerate Page Object Model structure
Returns
{ framework, language, files[], dependencies[], setup_instructions, notes }generate_test_dataGenerate realistic test data with edge cases, boundaries, and special characters.
Parameters
schema_or_descriptionstringJSON schema or plain description of the data model
format"json" | "csv" | "sql" | "yaml"Output format
countnumberNumber of records
constraintsstringe.g. "age 18-65, email unique"
include_edge_casesbooleanInclude nulls, boundaries, special chars
Returns
{ format, record_count, data, edge_cases_included[], notes }parse_test_resultsAnalyse JUnit XML, TestNG, Allure JSON, or plain text test output. Returns failure root causes and recommended actions.
Parameters
resultsstringRaw test results content
format"auto" | "junit-xml" | "testng-xml" | "allure-json" | "plain"Results format
Returns
{ summary{total,passed,failed,pass_rate}, failures[], flaky_tests[], patterns[], overall_health, recommended_actions[] }generate_bug_reportTurn a rough bug description into a professional JIRA-ready bug report with severity, impact, and root cause hypothesis.
Parameters
descriptionstringWhat went wrong
environmentstringBrowser, OS, app version, environment
steps_to_reproducestringKnown reproduction steps
severity"critical" | "high" | "medium" | "low"Suggested severity
Returns
{ title, severity, priority, steps_to_reproduce[], expected_result, actual_result, impact, jira_ready }find_test_gapsCompare a feature spec against existing test cases to find untested scenarios and coverage score.
Parameters
feature_specstringFeature specification or requirements
existing_testsstringExisting test case titles or descriptions
Returns
{ coverage_score, covered_areas[], gaps[]{area,risk,description,suggested_test}, missing_test_types[], priority_gaps[], recommendation }estimate_qa_effortEstimate QA effort in person-days broken down by activity, with sprint fit assessment and risk factors.
Parameters
feature_descriptionstringFeature or sprint scope
team_sizenumberNumber of QA engineers
automation_coverage_targetnumberTarget automation % (0-100)
sprint_duration_daysnumberSprint length in days
Returns
{ total_effort_days, breakdown{}, fits_in_sprint, risks[], assumptions[], automation_candidates[] }generate_test_planGenerate a formal test plan with strategy, scope, entry/exit criteria, risks, environments, and sign-off checklist.
Parameters
project_descriptionstringWhat the project does
scopestringFeatures in scope for testing
tech_stackstringTechnology stack
timelinestringTesting timeline or sprint dates
Returns
{ objective, scope{in/out}, test_strategy, entry_criteria[], exit_criteria[], environments[], risks[], sign_off_checklist[] }generate_interview_questionsGenerate targeted QA interview questions with evaluation guidance, red flags, and a must-ask shortlist.
Parameters
rolestringJob role e.g. "SDET", "QA Lead"
seniority"junior" | "mid" | "senior" | "lead" | "architect"Seniority level
focus_areasstringSpecific skills to probe
countnumberNumber of questions
Returns
{ questions[]{id,category,question,what_to_look_for,red_flags,difficulty}, must_ask[], evaluation_rubric }evaluate_promptScore an LLM prompt across 6 quality dimensions with an improved version and priority fixes.
Parameters
promptstringThe system prompt or full prompt to evaluate
Returns
{ overallScore, grade, scores[]{dimension,score,rationale,suggestion}, strengths[], topFixes[], improvedPrompt }evaluate_rag_outputEvaluate a RAG pipeline output across 4 RAGAS-style metrics with hallucination detection.
Parameters
questionstringOriginal user question
contextstringRetrieved context chunks
answerstringLLM-generated answer to evaluate
Returns
{ overallScore, hallucinationFlag, hallucinationDetails, scores[]{metric,score,rationale,detail}, suggestions[] }analyze_qa_candidateAnalyse a QA resume and return a hiring signal, 8-dimension skill radar, strengths, gaps, red flags, and tailored interview questions.
Parameters
resume_textstringPlain text extracted from resume
rolestringRole being hired for
senioritystringExpected seniority
Returns
{ hiring_signal, overall_score, radar{automation,api_testing,...}, tools_detected[], strengths[], gaps[], red_flags[], interview_questions[], executive_summary }generate_postmortemGenerate a blameless incident postmortem with root cause analysis, timeline, and prioritised action items.
Parameters
incident_descriptionstringWhat happened
timelinestringEvents with timestamps
impactstringUsers/services affected
teamstringTeam involved
Returns
{ title, severity, summary, timeline[], root_cause, contributing_factors[], impact{}, what_went_well[], action_items[]{action,priority,due} }analyze_logsParse application/server logs and return grouped errors with root cause hypotheses, patterns, and recommended fixes.
Parameters
logsstringRaw log content
contextstringApplication or service name
Returns
{ summary, error_count, warning_count, errors[]{message,count,root_cause_hypothesis,suggested_fix}, patterns[], recommended_actions[] }