MCP Directory

How to add MK QA Master to Cursor

Universal MCP server that drives your test suite end-to-end: run pytest/Jest/Cypress/Go/Maestro, analyze pages, generate tests, and advise. Paste the config into ~/.cursor/mcp.json and restart Cursor.

Last updated June 14, 2026 · 37 · stdio · no auth

Cursor config for MK QA Master

uvx mk-qa-master
{
  "mcpServers": {
    "mk-qa-master": {
      "command": "uvx",
      "args": [
        "mk-qa-master"
      ],
      "env": {
        "QA_RUNNER": "pytest",
        "QA_PROJECT_ROOT": "/path/to/your-test-project"
      }
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the MK QA Master config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of MK QA Master's tools to confirm it's connected.

Before you start

  • uv (for the recommended uvx zero-install path) or Python 3 with pip
  • QA_RUNNER and QA_PROJECT_ROOT environment variables
  • Per-runner deps: pytest-playwright + 'playwright install chromium' for pytest; a Node project with jest/cypress installed; Go toolchain for go; Maestro CLI + a booted simulator/emulator/device for maestro
  • API runners: 'pip install mk-qa-master[api]' for Schemathesis; 'npm install -g newman' for Newman
  • Edge runner: 'pip install mk-qa-master[edge]' + ffmpeg + mediamtx on PATH

What MK QA Master can do in Cursor

get_runner_info

Report which test runner is active plus all available runners.

list_tests

Enumerate the tests in the project under test.

run_tests

Run tests with optional filter / headed / browser options (headed and browser are pytest-playwright only).

run_failed

Re-run only the last failures (pytest --lf).

get_test_report

Return a summary: pass / fail / skipped / duration / flaky-in-run.

get_failure_details

Per-failure message plus paths to screenshot, Playwright trace, and video.

generate_test

Generate a test skeleton; with a module from analyze_url/analyze_screen, writes a runnable Playwright .py or Maestro .yaml with concrete selectors.

auto_generate_tests

One-shot: analyze a URL then generate one test per discovered module.

Security

The AI Visual Challenge Solver (reCAPTCHA/hCaptcha) and the OWASP API Security scanner are dangerous capabilities and are disabled by default. They require explicit opt-in env vars: QA_VISUAL_CHALLENGE_CONSENT=true and QA_API_SECURITY_CONSENT=true respectively, plus per-call confirmation. Authorized-domain allowlists (QA_VISUAL_CHALLENGE_AUTHORIZED_DOMAINS, QA_API_SECURITY_AUTHORIZED_DOMAINS) restrict where they operate; hard-stop blacklists refuse known identity providers and camera-vendor hosts. The security scanner runs adversarial test cases and the mass_assignment rule mutates server state — never point it at systems you do not own or are not authorized to test. Secrets in env (auth headers, tokens) are redacted from archived reports by default unless QA_NO_REDACT=1.

MK QA Master + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the MK QA Master config there under the "mcpServers" key and restart the client.

Is MK QA Master safe to use with Cursor?

The AI Visual Challenge Solver (reCAPTCHA/hCaptcha) and the OWASP API Security scanner are dangerous capabilities and are disabled by default. They require explicit opt-in env vars: QA_VISUAL_CHALLENGE_CONSENT=true and QA_API_SECURITY_CONSENT=true respectively, plus per-call confirmation. Authorized-domain allowlists (QA_VISUAL_CHALLENGE_AUTHORIZED_DOMAINS, QA_API_SECURITY_AUTHORIZED_DOMAINS) restrict where they operate; hard-stop blacklists refuse known identity providers and camera-vendor hosts. The security scanner runs adversarial test cases and the mass_assignment rule mutates server state — never point it at systems you do not own or are not authorized to test. Secrets in env (auth headers, tokens) are redacted from archived reports by default unless QA_NO_REDACT=1.

How do I choose which test framework runs?

Set the QA_RUNNER env var to one of pytest / jest / cypress / go / maestro / schemathesis / newman / edge, and QA_PROJECT_ROOT to the project under test. Each runner has its own prerequisites (e.g. 'playwright install chromium' for pytest-playwright, 'npm install -g newman' for Newman).

Is the CAPTCHA solver enabled by default?

No. Both inspect_visual_challenge and solve_visual_challenge return a consent_required error until you set QA_VISUAL_CHALLENGE_CONSENT=true, and solving requires per-call confirm=true. It also refuses hard-stop domains like known identity providers regardless of consent.

Does it bundle JIRA/Slack/GitHub integrations?

No — it stays a pure test-execution and analysis layer. You compose workflows by running other MCP servers (Atlassian, Slack, GitHub, Sentry, Filesystem) side-by-side in the same client config and letting the AI client orchestrate the chain across servers.

View repo Full MK QA Master page