This page is written for an AI coding agent. To use it, paste the prompt from
MCP Server into Claude Code,
Cursor, or Codex.
https://api.qa.tech/v1/mcp.
Follow the steps in order. Stop and wait for the user whenever a step needs them to act in a browser. Do not ask the user for passwords, API keys, or tokens.
1. Get the user an account
Ask the user if they already have a QA.tech account.- Yes: skip to step 2.
- No: ask them to open https://app.qa.tech/auth/sign-up in their browser, create an account, and finish onboarding. Onboarding asks for an organization name and then creates the first project from the URL of the app they want to test. Wait until they confirm they are done.
2. Add the MCP server
Use the command for the client you are running in. The server name isqatech.
Claude Code. Run:
~/.cursor/mcp.json. Merge it into the existing mcpServers object if the file already exists; do not remove other servers.
experimental_use_rmcp_client = true under [features] in ~/.codex/config.toml and run the command again.
3. Sign in
The server uses OAuth. The user signs in to QA.tech in their browser and approves access. Tell the user exactly what to do:- Claude Code: run
/mcp, selectqatech, and choose authenticate. Or runclaude mcp login qatechin a terminal. - Cursor: open Settings → Cursor Settings → Tools & MCPs and click the sign-in prompt next to
qatech. - Codex: run
codex mcp login qatech.
claude; for Cursor, reload the window; for Codex, start a new session), then continue from step 4.
4. Verify the connection
Calllist_projects.
- The call fails or the tool is missing: go back to step 3.
- One or more projects: pick the one whose URL matches the app in this repository. Ask the user if it is unclear. Use its
shortIdasprojectShortIdin every later call. - No projects: call
create_projectwith anameand theurlof the app to test. Find the URL in the repository (deploy config, README,.env.example, staging or preview URLs). If you cannot find a reachable URL, ask the user. QA.tech tests run in the cloud, solocalhostdoes not work. Use the returnedproject.shortId.
5. Teach QA.tech about the app
Read the codebase and save durable facts that help the testing agent. Callcreate_knowledge_item with type: "text", a short title, and the facts as content. Good items:
- App structure: main pages and routes, the core user flows, roles and what each can do.
- Test accounts: usernames and passwords from seed, fixture, or example config files that are meant for testing (for example
seed.sql,fixtures/,.env.example). Say which environment they work on. - Feature flags: flags that change what the UI shows, and their default values.
- Gotchas: sign-up email verification, captchas, rate limits, or third-party flows the agent should expect.
.env, .env.local, or .env.production, no live API keys, and no personal credentials. If you are unsure whether a value is a secret, leave it out and mention it to the user.
Call list_knowledge_items first and skip facts that are already there.
6. Run the first tests
Calllist_test_cases for the project.
- Tests exist: call
start_run_with_test_caseswith their IDs astestCaseIds(orstart_run_with_test_planif the user has a test plan). Pollget_runwith the returnedrun.shortIduntil it reaches a terminal status. Wait at least a few seconds between polls. - No tests: call
create_chatand ask the QA.tech agent to create and run one test for the app’s main flow, for example: “Create a test that signs in with the test account and completes the main flow: …”. Pollget_chat_conversationuntilstatusiscompleted,failed, orcancelled, then callget_runwithruns[].shortId. Prefercreate_chatovercreate_test_case: the QA.tech agent explores the site first, so the test matches what actually exists.
get_run_test_case.
If the run fails because the agent cannot reach the app or sign in, fix the cause (wrong URL, missing test account, IP allowlist) with the user and run again.
7. Tell the user what they can do now
Finish with a short summary of what you set up (account, MCP server, project, knowledge items, first run and its result). Then tell the user they can ask you to:- Run the tests, or only the tests related to the change they are working on.
- Read why a test failed, with screenshots and logs, and fix the bug in the code.
- Rerun failed tests after a fix (
rerun_run). - Add tests for a new feature or a bug they just fixed.
- Save more knowledge about the app, such as new test accounts or flows.