Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.qa.tech/llms.txt

Use this file to discover all available pages before exploring further.

The QA.tech MCP server exposes your test cases, runs, and applications to any AI client that speaks the Model Context Protocol. Once connected, your assistant can answer questions like “what runs failed today?” or “rerun the failed cases from run UkxK” without you leaving the chat.

Pick Your Client

Most modern clients have a one-click or one-line install. Open the dashboard at Settings → Integrations → MCP Server to copy snippets with your API key pre-filled, or use the patterns below and replace <API_KEY> with the key from that page. Any other MCP-compatible client works too. Point it at the endpoint with a Bearer token.
Run this in any project where you use Claude Code. Requires the Claude Code CLI.
claude mcp add --transport http qatech \
  'https://api.qa.tech/v1/mcp' \
  --header 'Authorization: Bearer <API_KEY>'
Claude Code reloads MCP servers automatically.

Or Use the QA.tech CLI

The QA.tech CLI can write the config for any supported client in one command. Useful if you switch machines often or want the same setup scripted.
# Install
npm install -g @qadottech/cli

# Authenticate once
qatech configure -k <your-api-key>
Find your API key under Settings → Integrations → MCP Server in the dashboard.
With the CLI installed and authenticated:
qatech mcp configure --client claude-desktop
qatech mcp configure --client cursor
qatech mcp configure --client continue
Add --print to dump the snippet without writing it. See qatech mcp configure --help for all flags.

What Your Assistant Can Do

Five tools are exposed. Tools requiring write scope are hidden from read-only API keys.
ToolScopeWhat it does
list_applicationsreadLists applications under test in the project the API key is bound to.
list_test_casesreadLists test cases, optionally filtered by application, labels, or enabled state.
get_runreadFetches a run by short ID. Include nested results with testCases: "all" or "failed".
create_test_casewriteCreates a new test case in draft. Burn-in runs start automatically.
rerun_runwriteReruns a previous run. Optional failedOnly, or a specific projectTestCaseIds subset.

Example prompts

“Which of my test cases failed in the last run?”
“Rerun run UkxK, but only the failed cases.”
“Create a test case titled ‘Checkout with expired card’ for the frontend app.”
“List all enabled test cases tagged ‘critical’.”

Authentication

The MCP server uses the same Bearer tokens as the REST API.
  • Where to find your key: Settings → Integrations → MCP Server in the dashboard.
  • Scopes: A read key gives access to the four read tools. A write key adds create_test_case and rerun_run.
  • Project binding: Each key is bound to one project. Issue separate keys for separate projects.
Treat the token like a password. Anyone with the token can read your test data and, with a write key, create and rerun tests. Rotate keys from the dashboard if one leaks.

Endpoint Details

FieldValue
URLhttps://api.qa.tech/v1/mcp
TransportStreamable HTTP (JSON-RPC 2.0), stateless
Methods supportedinitialize, tools/list, tools/call
Auth headerAuthorization: Bearer <API_KEY>
Protocol version2025-06-18
Server nameqatech
Batch JSON-RPC requests and GET upgrades are not supported. Each call is a single POST with a JSON body.

Smoke test with curl

curl -sS -X POST 'https://api.qa.tech/v1/mcp' \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
A successful response lists the tools your key has access to.

Troubleshooting

SymptomLikely cause
Client lists no QA.tech toolsRestart the client after editing config. Verify the JSON or YAML parses.
401 or 403 from the serverAPI key missing, malformed, or revoked. Re-copy from the dashboard.
Some tools missingKey lacks write scope. Generate a write key from the dashboard.
405 Method Not AllowedThe client sent a GET. QA.tech MCP is POST-only and stateless.
qatech mcp configure says no API keyRun qatech configure -k <key> first or pass --api-key directly.
For anything else, contact support.