agent-qa

Write, run and triage natural-language end-to-end tests for web and mobile apps from a coding agent

Official · Vostride AI TypeScript Local · stdio, Streamable HTTP TestingBrowser automation

60 popularity score ★ 855 ↓ 1.7k/wk

Connect your client

Local (once it is running)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add --transport http agent-qa http://127.0.0.1:3471/mcp
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-qa": {
      "url": "http://127.0.0.1:3471/mcp"
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "agent-qa": {
      "type": "http",
      "url": "http://127.0.0.1:3471/mcp"
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.agent-qa]
url = "http://127.0.0.1:3471/mcp"
Gemini CLITerminal
gemini mcp add --scope user --transport http agent-qa http://127.0.0.1:3471/mcp
Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add agent-qa -- npx -y agent-qa mcp
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "agent-qa": {
      "command": "npx",
      "args": [
        "-y",
        "agent-qa",
        "mcp"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "agent-qa": {
      "command": "npx",
      "args": [
        "-y",
        "agent-qa",
        "mcp"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "agent-qa": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "agent-qa",
        "mcp"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.agent-qa]
command = "npx"
args = ["-y", "agent-qa", "mcp"]
Gemini CLITerminal
gemini mcp add --scope user agent-qa npx -- -y agent-qa mcp

Settings 4

AGENT_QA_MCP_PORT Optional: Port for the dashboard's HTTP MCP endpoint, overriding services.mcp.port (3471 by default).
AGENT_QA_DASHBOARD_PORT Optional: Overrides services.dashboard.port, the dashboard port the run tools talk to.
AGENT_QA_LOG_LEVEL Optional: Overrides services.logging.level, e.g. debug.
AGENT_QA_HEADLESS Optional: Set to false to show the browser during runs (use.browser.headless).

What it does

agent-qa is a test harness from Vostride: tests are YAML files written in plain English, and an LLM you configure carries them out against a real browser, Android device or iOS simulator, repairing failed steps during the run and keeping file-based memory and an action cache between runs. The `agent-qa mcp` subcommand of its CLI starts a local MCP server so a coding agent can work with that harness directly.

Through the server an agent can inspect the active config (keys, tokens, secrets and passwords come back masked), look up the schemas for config, test, suite and hook files, generate and check canonical IDs, and validate definitions. With a running agent-qa dashboard it can also list, create, update and delete tests, suites and hooks, run a hook, queue test or suite runs, read run steps, logs, execution logs and artifacts, cancel a run, and get a rule-based classification of why a run failed. The source registers 33 tools, plus the `agent_qa_authoring_context` prompt and schema resources at `agent-qa://schema/{schema}` (packages/mcp/src/agent-qa-server.ts).

There are two ways to connect: stdio via `agent-qa mcp`, or the Streamable HTTP endpoint the dashboard serves, by default at http://127.0.0.1:3471/mcp. Over stdio, every authoring, run, artifact and triage tool needs a `dashboardUrl` argument; over the dashboard endpoint that context is filled in for you. Vostride also runs a separate, read-only documentation server at https://vostride.com/mcp with two tools for searching and reading the agent-qa docs; it cannot run tests.

What it needs

RuntimeNode.js 24+

Node.js 24 or later (the package's engines field) or Bun, with agent-qa installed in the project (npm install -D agent-qa) and initialised with `npx agent-qa init`. Access to an LLM, preferably multimodal: an OpenAI- or Anthropic-compatible endpoint, Gemini, a local model, or Codex/Claude Code subscriptions via the extra @vostride/agent-qa-subscription-auth package. Browsers via `agent-qa install-browsers`; for mobile, Appium, the mobile drivers and Android SDK or Xcode. Docker for hooks. Most tools need the dashboard running (`agent-qa dashboard`).

Limits

Over stdio only the six discovery, config, schema and ID tools work on their own; the rest fail with "dashboardUrl is required" unless the dashboard is running and its URL is passed. `agent_qa_classify_failure` uses fixed heuristics over run detail, logs and artifacts, not an LLM call, and falls back to `unknown_failure` at 0.3 confidence. Test runs spend tokens on the LLM you configure. The hosted docs server at vostride.com/mcp cannot run tests or read your repository. Version 0.1.21 is an early release.

Who it suits

Teams already using, or ready to adopt, agent-qa for end-to-end tests who want a coding agent to write tests, start runs and read the evidence without leaving the editor. It is a local, read-write server tied to one harness and its YAML format, and it needs an LLM plus browser or mobile tooling set up first. Prefer the HTTP endpoint when the dashboard can stay running. For quick browser driving with no test files, memory or dashboard, a general browser automation server will be less to set up.

Tools 33

agent_qa_discover
Report the server's tools, resources, prompts, endpoint and config paths
agent_qa_get_config
Read the active config, secrets masked, in full or as a summary
agent_qa_schema_reference
Return the schema reference for config, tests, suites, hooks or IDs
agent_qa_validate_definition
Check a config, test, suite or hooks object against the schemas
agent_qa_generate_id
Create a canonical ID for a test, suite, hook, run or observation
agent_qa_validate_id
Check an ID against the expected ID format
agent_qa_list_tests
List the tests in the workspace
agent_qa_read_test
Read one test definition
agent_qa_validate_test
Validate a test definition
agent_qa_create_test
Create a new test file
agent_qa_update_test
Change an existing test
agent_qa_delete_test
Delete a test
agent_qa_list_suites
List the suites in the workspace
agent_qa_read_suite
Read one suite definition
agent_qa_validate_suite
Validate a suite definition
agent_qa_create_suite
Create a new suite
agent_qa_update_suite
Change an existing suite
agent_qa_delete_suite
Delete a suite
agent_qa_list_hooks
List the hooks in the workspace
agent_qa_read_hook
Read one hook
agent_qa_create_hook
Create a new hook
agent_qa_update_hook
Change an existing hook
agent_qa_delete_hook
Delete a hook
agent_qa_run_hook
Run a hook in its Docker sandbox
agent_qa_enqueue_test_run
Queue a run of one test on the dashboard
agent_qa_enqueue_suite_run
Queue a run of a whole suite
agent_qa_get_run
Get a run's details, steps, attempts and suite context
agent_qa_get_run_steps
Get the steps of a run
agent_qa_get_run_logs
Get a run's log rows, filterable by step, level and source
agent_qa_get_run_execution_logs
Get a run's structured execution logs
agent_qa_get_run_artifact
Get a run's sanitised artifacts
agent_qa_cancel_run
Cancel a pending or running run
agent_qa_classify_failure
Sort a failed run into a failure category with supporting evidence

Similar servers