QA from your coding agent means the agent can monitor whether a changed customer flow still works without losing its repository context. Connect AlwaysQA through MCP, let the agent manage the relevant Test Case, and send the actual browser execution to AlwaysQA for a durable Outcome with Evidence.
The separation matters. Your coding agent understands the code and helps operate the QA workflow. AlwaysQA performs the Run in a managed real browser. You approve meaningful changes and keep sensitive account actions under direct human control.
Reality check: Most teams mistake agentic QA for test generation. The hard part is maintenance and execution latency: the check must survive the conversation, run against the customer flow, return Evidence, and lead to a verified fix.
The use case at a glance
| Agent-first browser QA with AlwaysQA | |
|---|---|
| Starting point | A coding agent already has context about the route, component, test, or feature being changed |
| Agent’s role | Propose or find a Test Case, request a Run, retrieve the result, and connect Evidence to relevant code |
| AlwaysQA’s role | Execute the Test Case in a fresh browser session and preserve its State, Outcome, and Evidence |
| Your role | Confirm changes and Runs, provide protected account inputs, and approve sensitive actions |
| Result | A shorter path from code change to customer-facing verification and fix confirmation |
| Plan capacity | Review the current AlwaysQA Plans and allowances before deciding how many on-demand or scheduled Runs to add |
This isn’t an agent-only copy of your QA system. The coding agent and AlwaysQA browser application work with the same Projects, Test Cases, Schedules, Runs, Outcomes, and Evidence.
A practical example: verify an authentication callback change
Suppose a developer asks a coding agent to update an authentication callback. The repository shows which route handles the callback, which component receives the result, and which tests cover the underlying logic.
The code can compile. Unit and integration tests can pass. The real customer flow can still fail because the browser is redirected to the wrong page, the session isn’t preserved, or the dashboard never reaches the expected state.
Without an integrated QA workflow, the developer has to stop and reconstruct the next steps:
- Which customer flow could this change affect?
- Is there an existing browser Test Case for it?
- Where is that Test Case managed?
- Did the flow work in a real browser?
- If it failed, what happened closest to the break?
With AlwaysQA connected through MCP, the workflow can stay in the development conversation.
1. Find the customer-facing check
The coding agent reviews the changed route and identifies an existing Test Case such as:
“A dedicated QA Account can complete passwordless login and reach the dashboard.”
If no suitable Test Case exists, the agent can propose one based on the repository context. You review the name, starting URL, Instructions, Success Condition, and optional inputs before confirming creation.
2. Confirm a real browser Run
You ask:
Run the passwordless login Test Case and show me the result.
Starting the Run requires explicit confirmation. AlwaysQA creates a durable Run record, queues the browser work, and returns the Run identifier and current State.
The coding agent doesn’t have to keep one request open while the browser works. It can check the same Run record until execution finishes. The Run continues if the terminal closes, the conversation is interrupted, or the MCP request has already returned.
3. Bring the Outcome and Evidence back to the code
Assume the browser agent submits the login code but returns to the sign-in page instead of reaching the dashboard. If the Evidence clearly shows broken expected behavior, the Run receives a Failed Outcome.
The coding agent can retrieve the summary, observations, and action timeline. It now has both sides of the problem:
- repository context around the callback and session handling;
- observed browser Evidence showing where the customer flow diverged.
That is a much better debugging handoff than “login seems broken.” The agent can inspect the relevant implementation, propose a fix, and show the developer why that code is connected to the failure.
4. Fix and run the same check again
After the change is approved and deployed, you confirm another Run. AlwaysQA starts with a fresh browser agent and evaluates the same Success Condition again.
The loop is complete only when the customer-facing behavior has been checked after the fix:
Change code → run the relevant Test Case → inspect Evidence → fix → run again.
The deployment QA history keeps the Runs and check versions connected, so the result isn’t lost in a terminal transcript.
Why MCP improves the workflow without running the browser
Model Context Protocol (MCP) gives compatible clients a standard way to work with external tools and services. Codex documents how to configure MCP servers for agent workflows, and Claude Code provides its own MCP connection documentation.
AlwaysQA exposes its coding-agent interface through a hosted HTTPS MCP server. You don’t have to install and maintain a separate AlwaysQA server in every repository. An OAuth-capable client connects to the service, and you approve the connection through a browser-based authorization flow.
Once connected, the coding agent can help with tasks such as:
- listing Projects and Test Cases;
- proposing coverage for a changed feature;
- creating or updating a Test Case with your approval;
- assigning Tags or managing a Schedule;
- starting a Run after confirmation;
- checking Run progress;
- retrieving Outcomes and Evidence;
- reviewing Plan usage.
MCP doesn’t perform the browser evaluation. It’s the operating layer between your coding agent and AlwaysQA. AlwaysQA still owns the managed browser session, durable Run record, Outcome, and Evidence.
See the full AlwaysQA browser and MCP workflow for the product-level sequence.
The three-way responsibility split
The workflow works because the coding agent, AlwaysQA, and the human aren’t pretending to be interchangeable.
| Participant | Best at | Does not own |
|---|---|---|
| Coding agent | Reading repository context, finding affected code, proposing coverage, managing approved QA operations, and connecting Evidence to implementation | Running or recording the managed browser evaluation |
| AlwaysQA | Executing the Test Case in a fresh browser, preserving durable Run state, and returning an Outcome with structured Evidence | Deciding what code should change or approving its own access |
| Human | Confirming mutations and Runs, entering protected information, evaluating business context, and approving sensitive or irreversible actions | Manually carrying every QA detail between tools |
This boundary prevents a common failure mode in agent workflows: the same system silently defines success, executes the check, interprets the result, and approves the next action.
Turn repository context into better Test Cases
During onboarding or feature work, your coding agent can inspect routes, UI components, existing tests, and documentation to understand which customer outcomes may be affected.
It might propose Test Case Candidates such as:
- a new user can register and reach onboarding;
- an existing user can sign in and open the dashboard;
- a customer can upload a CSV file and complete an import.
The agent proposes. You decide what becomes coverage.
After confirmation, AlwaysQA receives the product details required to create the Test Case, such as the Project name, Test Case name, starting URL, Instructions, and Success Condition. Repository files, secret files, credentials, and unrelated source content stay local during this onboarding workflow.
The distinction is commercially important. Repository awareness should improve the test definition without turning the entire codebase into an attachment.
Durable Runs survive interrupted conversations
Browser checks take longer than ordinary tool calls. Tying execution to one open agent response would make the workflow fragile.
AlwaysQA separates the short MCP request from the durable Run:
- The coding agent requests a Run after your confirmation.
- AlwaysQA creates the Run and returns its identifier and current State.
- Browser execution continues independently.
- The coding agent retrieves the same Run later.
- A finished Run contains its Outcome and Evidence.
This design handles the unglamorous reality of agent-assisted development. Terminals close. Conversations get interrupted.
Network requests end. The browser Run shouldn’t disappear with them.
Evidence that is useful inside the development workflow
A finished Run receives one of three Outcomes:
- Passed: the Success Condition was observed.
- Failed: valid Evidence showed that the expected application behavior was broken.
- Needs Attention: AlwaysQA couldn’t reach a trustworthy conclusion.
The coding agent can retrieve structured Run information, including:
- a concise summary;
- browser observations;
- a compact action timeline;
- attention guidance;
- Test File metadata;
- an editable Failed Run Issue Report;
- an authenticated browser handoff when direct review is required.
The Outcome isn’t a substitute for investigation. It’s a reliable starting point. A coding agent can use the Evidence to narrow where the browser behavior diverged, then compare that observation with the implementation it already understands.
AlwaysQA’s browser-workflow features show how Outcomes and Evidence are presented across the product.
Transfer private Test Files without copying them into prompts
A hosted MCP server can’t safely read an arbitrary local file path from your computer. Copying private file contents into an agent prompt would also be the wrong transport mechanism.
When a Test Case needs a private Test File, AlwaysQA creates a short-lived, single-use upload ticket for that specific Test Case. The coding-agent client transfers the file through the ticketed upload endpoint, outside the agent prompt.
AlwaysQA then applies the same format, size, and content checks used for browser uploads before attaching the file. The file isn’t embedded in an MCP tool argument, and the coding agent doesn’t receive private Test File contents back as Run Evidence.
This is a small implementation detail with a large practical effect: file-based workflows remain possible without teaching teams to paste private test data into a conversation.
Keep sensitive actions in the browser
The MCP connection is useful because it can operate real AlwaysQA records. That authority also needs limits.
The coding agent can manage normal QA operations, but some actions still require the user in the browser:
- approving the OAuth connection;
- entering QA Account secrets;
- viewing a Passwordless QA Account’s QA Inbox;
- approving a detected Login Origin;
- changing profile protection settings;
- completing Checkout or billing management;
- deleting the account;
- viewing a temporary browser replay.
When a protected step is required, the coding agent can provide an authenticated handoff link. You complete the action in the browser, then return to the development conversation.
That interruption is intentional. The agent shouldn’t approve its own connection, reveal hidden credentials to itself, or complete irreversible account actions without you.
Understand the connection before you authorize it
A connected coding agent acts with your AlwaysQA product authority across your Projects. It remains subject to ownership policies, Setup Access restrictions, Test Case and Run allowances, billing gates, required confirmations, and the mutation audit trail.
The initial connection design doesn’t provide separate per-Project permissions or a reduced agent role. Treat it as an account-level connection and revoke clients you no longer use.
AlwaysQA records privacy-aware audit information for MCP changes, including the tool used, affected record identifiers, result, connection, and time. It doesn’t copy raw arguments, secrets, Test File bytes, or Run Evidence into that audit record.
This is the less glamorous part of agent-first QA, and it matters. Convenience without a clear authority boundary becomes an access-control problem.
Use the coding agent and browser for different jobs
You don’t have to choose one interface. Both operate the same AlwaysQA data.
| Use the coding agent when… | Use the browser when… |
|---|---|
| Repository context helps identify affected customer flows | You need to enter or manage authentication secrets |
| You want to propose, create, or update Test Cases conversationally | You want to inspect a temporary browser replay |
| A code change should trigger a specific Run | Checkout, billing, or account protection is involved |
| Structured Evidence needs to be connected to relevant code | Visual exploration of dashboards and Run history is easier |
| A fix needs a fresh confirmation Run | A protected handoff requires direct human approval |
The coding agent reduces context switching. The browser preserves direct control where visual review, hidden information, or irreversible actions are involved.
Start with one code change and one customer flow
Don’t begin by asking the agent to create a complete regression suite. Start with a feature your team is changing now.
- Connect an OAuth-capable coding agent to AlwaysQA.
- Ask it which customer flow the change could affect.
- Review an existing Test Case or approve one new candidate.
- Confirm a browser Run.
- Inspect the Outcome and Evidence in the development conversation.
- If the flow failed, fix the implementation and run the same Test Case again.
This proves the workflow with real code and real browser behavior before you expand coverage.
Keep QA next to the change without asking the coding agent to grade its own work. Connect your coding agent to AlwaysQA.
Frequently asked questions
What does MCP do in AlwaysQA?
MCP gives a compatible coding agent a task-oriented interface to AlwaysQA. The agent can help manage Test Cases, Schedules, Runs, and Evidence. AlwaysQA, not the coding agent, performs the browser evaluation.
Which coding agents can connect to AlwaysQA?
AlwaysQA supports OAuth-capable MCP clients, including Codex, Claude Code, and other compatible coding agents. Each connection is approved through a browser-based authorization flow and can be revoked independently.
Does AlwaysQA send my repository to the service?
No. During the repository-guided onboarding workflow, the coding agent analyzes the repository locally and sends only the Test Case information you confirm. Source files, secret files, credentials, and unrelated repository content aren’t uploaded as part of that workflow.
Can the coding agent start a browser Run?
Yes, after explicit confirmation. AlwaysQA creates a durable Run record and performs the Test Case in a managed real browser. The coding agent can retrieve its progress, Outcome, and Evidence by Run identifier.
What happens if the coding agent disconnects during a Run?
The Run continues in AlwaysQA. Because browser execution is attached to a durable Run record rather than one open MCP request, the coding agent can retrieve the result later.
Can the coding agent access QA Account passwords or private Test Files?
It doesn’t receive QA Account secrets or private Test File contents through Run Evidence. Protected credentials remain browser-controlled, while private file transfer uses a short-lived ticketed upload rather than copying file contents into the agent prompt.
Does the MCP connection have per-Project permissions?
Not in the initial connection design. A connected coding agent acts with your AlwaysQA product authority across Projects, subject to the product’s ownership rules, allowances, confirmations, and audit trail.