ensure_installedLABSCO SUMMARY
A browser you can talk to, backed by a test format you can commit.
Most browser servers give you one of the two: either a scripted runner or an interactive session. Here the same platform does both, and the dev session runs single-step by default, so the model proposes one action and you see the result before the next. Worth knowing before you plan a long run: a session lives 30 minutes, ten can be open at once, and one MCP call has 25 seconds to return.
What it is
The MCP mode of qa-use, a browser-testing tool built on the desplega.ai platform. Tests are YAML files whose steps read like a checklist — goto, fill, click, to_be_visible — and the same engine will also hold a live browser open so you can steer it a step at a time.
What you get
- start_dev_session opens a browser on a URL and keeps it alive for the rest of the conversation
- interact_with_session with action "respond" takes an instruction in ordinary English — "click the submit button", "fill the email field with test@example.com" — and runs exactly one step per message
- The same call accepts "close" when you are done with the session
- monitor_session reports what happened: the current page URL, the task history, and whether the session is waiting on you
- Test steps cover navigation, input, waiting and assertions, plus ai_action, ai_assertion and extract_structured_data for the parts a fixed selector cannot express
Requirements
The npm package @desplega.ai/qa-use, version 2.19.0, started as qa-use mcp for stdio or qa-use mcp --http. It needs a desplega.ai API key in QA_USE_API_KEY and an app config id for the site under test; QA_USE_FORCE_HEADLESS pins every launch to headless.
Setup effort
One command plus a key — npm install -g @desplega.ai/qa-use, then supply credentials
USE CASES
Checking a change actually works in a browser
Open the page, walk through the flow in ordinary sentences, and read back what the page did after each step.
Exploring a page you did not build
Keep one session open and poke at it conversationally instead of writing selectors up front.
Turning a manual walkthrough into a committed test
The steps you just performed map onto the YAML vocabulary — goto, fill, click, to_be_visible — so the session becomes a file in qa-tests/.
13 tools
Listed in project docs. Your client may show a different list.
register_usersearch_sessionsstart_automated_sessionstart_dev_sessionmonitor_sessioninteract_with_sessionsearch_automated_testsrun_automated_testssearch_automated_test_runsupdate_configurationget_configurationreset_browser_sessionsBEFORE YOU INSTALL
What to know first
Tools you get
13 tools named in the project's documentation.
Requires
- npm on PATH
- QA_USE_API_KEY in your environment
INSTALLATION
Connect your client
Server setup
npm install -g @desplega.ai/qa-useMCP Clients
Claude Code — plugin
claude plugin marketplace add desplega-ai/qa-use
claude plugin install qa-use@desplega.ai
npx skills add https://github.com/desplega-ai/qa-use --skill qa-useThe Claude Code plugin and the claude, codex and gemini mcp add commands don't set QA_USE_API_KEY. Export it as an environment variable, or put it as api_key in a .qa-use.json in your project root or ~/.qa-use.json in your home directory — environment variables take precedence. The JSON configurations and the VS Code command set it in their env block, as <YOUR_QA_USE_API_KEY>.
Claude Code
claude mcp add desplega-qa -- npx @desplega.ai/qa-use@latest mcpThe Claude Code plugin and the claude, codex and gemini mcp add commands don't set QA_USE_API_KEY. Export it as an environment variable, or put it as api_key in a .qa-use.json in your project root or ~/.qa-use.json in your home directory — environment variables take precedence. The JSON configurations and the VS Code command set it in their env block, as <YOUR_QA_USE_API_KEY>.
Claude Desktop, Cline, Continue, Other MCP clients
{
"mcpServers": {
"desplega-qa": {
"command": "npx",
"args": [
"-y",
"@desplega.ai/qa-use@latest",
"mcp"
],
"env": {
"QA_USE_API_KEY": "<YOUR_QA_USE_API_KEY>"
}
}
}
}The Claude Code plugin and the claude, codex and gemini mcp add commands don't set QA_USE_API_KEY. Export it as an environment variable, or put it as api_key in a .qa-use.json in your project root or ~/.qa-use.json in your home directory — environment variables take precedence. The JSON configurations and the VS Code command set it in their env block, as <YOUR_QA_USE_API_KEY>.
Cursor
Cursor Settings
MCP
New MCP Server, then paste this configuration
{
"mcpServers": {
"desplega-qa": {
"command": "npx",
"args": [
"-y",
"@desplega.ai/qa-use@latest",
"mcp"
],
"env": {
"QA_USE_API_KEY": "<YOUR_QA_USE_API_KEY>"
}
}
}
}The Claude Code plugin and the claude, codex and gemini mcp add commands don't set QA_USE_API_KEY. Export it as an environment variable, or put it as api_key in a .qa-use.json in your project root or ~/.qa-use.json in your home directory — environment variables take precedence. The JSON configurations and the VS Code command set it in their env block, as <YOUR_QA_USE_API_KEY>.
VS Code
code --add-mcp '{"name":"desplega-qa","command":"npx","args":["-y","@desplega.ai/qa-use@latest","mcp"],"env":{"QA_USE_API_KEY":"<YOUR_QA_USE_API_KEY>"}}'The Claude Code plugin and the claude, codex and gemini mcp add commands don't set QA_USE_API_KEY. Export it as an environment variable, or put it as api_key in a .qa-use.json in your project root or ~/.qa-use.json in your home directory — environment variables take precedence. The JSON configurations and the VS Code command set it in their env block, as <YOUR_QA_USE_API_KEY>.
Codex
codex mcp add desplega-qa -- npx @desplega.ai/qa-use@latest mcpThe Claude Code plugin and the claude, codex and gemini mcp add commands don't set QA_USE_API_KEY. Export it as an environment variable, or put it as api_key in a .qa-use.json in your project root or ~/.qa-use.json in your home directory — environment variables take precedence. The JSON configurations and the VS Code command set it in their env block, as <YOUR_QA_USE_API_KEY>.
Gemini CLI
gemini mcp add desplega-qa npx @desplega.ai/qa-use@latest mcpThe Claude Code plugin and the claude, codex and gemini mcp add commands don't set QA_USE_API_KEY. Export it as an environment variable, or put it as api_key in a .qa-use.json in your project root or ~/.qa-use.json in your home directory — environment variables take precedence. The JSON configurations and the VS Code command set it in their env block, as <YOUR_QA_USE_API_KEY>.