Agent setup & tutorials
Install VisualQ in Cursor or Claude Code — plugin, CLI, dashboard deeplink, and step-by-step QA workflows.
This guide walks you through installing the VisualQ agent and using it in daily QA workflows. For a structured entry point, start with Quick start for agents and the Agents chapter. For the full MCP reference, see MCP integration.
What you get
| Component | Purpose |
|---|---|
MCP server (@visualq/mcp) | 100+ tools — VRT, FRT, health, tracking |
| Skills | Teach the agent how to use VisualQ (PR gate, FRT, etc.) |
| MCP prompts | One-click workflows (pr-quality-gate, onboard-new-site, …) |
| Org agent key | vq_org_live_… — all projects in your org |
Use org agent keys for IDE agents. Project CI keys (vq_live_…) are for GitHub Actions only.
Step 1 — Create an org agent key
- Sign in at visualq.ai
- Go to Settings → Agent API Keys (org admin)
- Click New agent key
- Scope:
mcp_full(read + write) - Optional: default project slug if you mainly work on one site
- Scope:
- Copy the key (
vq_org_live_…) — shown once
Full install wizard: Agent API Keys → Install guide
Step 2 — Choose an install path
Path A — One-command CLI (fastest)
npx @visualq/setup-agent cursor --key vq_org_live_YOUR_KEY --project my-site| Target | Command |
|---|---|
| Cursor (user) | … cursor --key … |
| Claude Code | … claude --key … |
| Project repo | … manual --key … |
Optional flags: --profile vrt-qa|frt-qa|tracking-qa|full, --base-url https://visualq.ai
Restart your IDE.
Path B — Cursor plugin (skills bundled)
Public repo: github.com/abecms/visualq-cursor-plugin
Local test before marketplace:
git clone https://github.com/abecms/visualq-cursor-plugin.git
cp -R visualq-cursor-plugin ~/.cursor/plugins/local/visualq
# Edit ~/.cursor/plugins/local/visualq/mcp.json — paste your key
# Cursor → Developer: Reload WindowClaude Code:
/plugin install github:abecms/visualq-cursor-pluginConfigure userConfig.apiKey when prompted.
Path C — Dashboard deeplink
- Create a key (Step 1)
- Click Open in Cursor in the key dialog
- Paste your agent key when Cursor asks
- Restart Cursor
Path D — Manual MCP JSON
Add to ~/.cursor/mcp.json or .cursor/mcp.json:
{
"mcpServers": {
"visualq": {
"command": "npx",
"args": ["-y", "@visualq/mcp"],
"env": {
"VISUALQ_API_KEY": "vq_org_live_YOUR_KEY",
"VISUALQ_BASE_URL": "https://visualq.ai",
"VISUALQ_TOOL_PROFILE": "vrt-qa"
}
}
}
}No Node.js? Use hosted mode:
{
"mcpServers": {
"visualq": {
"url": "https://visualq.ai/api/mcp",
"headers": { "X-API-Key": "vq_org_live_YOUR_KEY" }
}
}
}Step 3 — Verify the connection
In Cursor Agent chat (not Ask-only mode):
List VisualQ scenarios for project my-site and run check_setup_health.You should see MCP tool calls and structured JSON responses — not “I don't have access”.
Quick checks:
| You say… | Expected |
|---|---|
check_setup_health for my-site | Setup blockers list |
get_site_health for my-site | Rolling score + coverage |
list_scenarios | VRT scenario labels |
Tutorial 1 — Pre-merge PR gate
Goal: Decide if a PR can merge based on VRT + FRT + rolling health.
-
Use MCP prompt
pr-quality-gate, or say:Run prompt pr-quality-gate for project acme-shop on staging. -
The agent calls
gate_pr_qualityand returnsblockMerge: true/false. -
If blocked:
- VRT:
get_run_failures→explain_vrt_failure - FRT:
frt_explain_failure - Re-run after fixes:
run_vrtwithconfirm: true
- VRT:
-
Open
viewerUrlin the response to see diffs in the dashboard.
Never use a single latest run as the site score. Use rolling health from get_site_health or gate_pr_quality.
Tutorial 2 — Run VRT from the IDE
Run VRT on staging for project acme-shop, wait for completion, and list failures with mismatch %.Agent workflow:
run_vrt(confirm: true,environment: staging,project: acme-shop)wait_for_runget_run_failures- Optional:
explain_vrt_failureon the worst scenario
Tutorial 3 — Create an FRT journey from plain language
Use prompt frt-journey-from-goal or:
Create an FRT test: user logs in, adds a product to cart, and reaches checkout.
Start URL: https://staging.example.com/
Project: acme-shopAgent workflow:
frt_search_step_libraryfrt_propose_journey→ pollget_job_statusfrt_save_feature_draft(confirm: true)frt_compile_featurerun_frt_feature(confirm: true)
Set VISUALQ_TOOL_PROFILE=frt-qa for a focused toolset.
Tutorial 4 — Onboard a new client site
Use prompt onboard-new-site:
Onboard https://new-client.com/ in VisualQ — crawl, baselines, and one critical FRT flow.Steps the agent follows: create_project → crawl_site → generate_scenarios → run_baseline → frt_propose_journey → check_setup_health.
Tutorial 5 — Jira ticket coverage
Use prompt jira-qa:
Cover JIRA ticket PROJ-456 for project acme-shop: acceptance criteria are login + order history visible.Agent creates/updates VRT or FRT coverage, runs tests, and summarizes with gate_pr_quality.
Tool profiles
Reduce MCP noise with VISUALQ_TOOL_PROFILE:
| Profile | Use when… |
|---|---|
vrt-qa | Pre-merge visual checks (default) |
frt-qa | Gherkin / functional journeys |
tracking-qa | Analytics plan audits |
full | All tools (power users) |
Skills included in the plugin
| Skill | Triggers on… |
|---|---|
visualq-agent | General VisualQ / QA / PR gate questions |
vrt-qa | VRT, baselines, screenshot diffs |
frt-qa | FRT, Gherkin, user journeys |
tracking-qa | Tracking, GTM, event coverage |
Invoke explicitly: /visualq-agent or mention “use VisualQ skill” in chat.
Troubleshooting
| Symptom | Fix |
|---|---|
| MCP server red / missing | Node 18+ installed? Restart IDE. Check key prefix vq_org_live_. |
project_resolution_error | Pass "project": "slug" or set default project on the key. |
confirm_required | Say “yes, confirm” — mutating tools need confirm: true. |
403 plan_gate | Upgrade to Hobby+ for write tools. |
| Too many tools | Set VISUALQ_TOOL_PROFILE=vrt-qa. |
Related
- MCP reference — architecture, scopes, rate limits
- MCP tools — full catalog
- Maestro MCP — native mobile complement
- Plugin repo — skills, rules, marketplace