agent-device
Lets a coding agent drive and verify mobile, TV, desktop and web apps on simulators, emulators and devices.
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
Opens the app, which asks before it adds the server.
claude mcp add --transport http agent-qa http://127.0.0.1:3471/mcp{
"mcpServers": {
"agent-qa": {
"url": "http://127.0.0.1:3471/mcp"
}
}
}{
"servers": {
"agent-qa": {
"type": "http",
"url": "http://127.0.0.1:3471/mcp"
}
}
}[mcp_servers.agent-qa]
url = "http://127.0.0.1:3471/mcp"gemini mcp add --scope user --transport http agent-qa http://127.0.0.1:3471/mcpOpens the app, which asks before it adds the server.
claude mcp add agent-qa -- npx -y agent-qa mcp{
"mcpServers": {
"agent-qa": {
"command": "npx",
"args": [
"-y",
"agent-qa",
"mcp"
]
}
}
}{
"mcpServers": {
"agent-qa": {
"command": "npx",
"args": [
"-y",
"agent-qa",
"mcp"
]
}
}
}{
"servers": {
"agent-qa": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"agent-qa",
"mcp"
]
}
}
}[mcp_servers.agent-qa]
command = "npx"
args = ["-y", "agent-qa", "mcp"]gemini mcp add --scope user agent-qa npx -- -y agent-qa mcpAGENT_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). |
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.
| Runtime | Node.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`).
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.
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.
agent_qa_discoveragent_qa_get_configagent_qa_schema_referenceagent_qa_validate_definitionagent_qa_generate_idagent_qa_validate_idagent_qa_list_testsagent_qa_read_testagent_qa_validate_testagent_qa_create_testagent_qa_update_testagent_qa_delete_testagent_qa_list_suitesagent_qa_read_suiteagent_qa_validate_suiteagent_qa_create_suiteagent_qa_update_suiteagent_qa_delete_suiteagent_qa_list_hooksagent_qa_read_hookagent_qa_create_hookagent_qa_update_hookagent_qa_delete_hookagent_qa_run_hookagent_qa_enqueue_test_runagent_qa_enqueue_suite_runagent_qa_get_runagent_qa_get_run_stepsagent_qa_get_run_logsagent_qa_get_run_execution_logsagent_qa_get_run_artifactagent_qa_cancel_runagent_qa_classify_failure