@validate.qa/mcp 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -9
- package/dist/index.js +959 -173
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ hosted connector URL `{API}/mcp` from Project Settings → MCP (OAuth; no PAT).
|
|
|
12
12
|
Operator runbook: [docs/MCP-CONNECTORS.md](../../docs/MCP-CONNECTORS.md).
|
|
13
13
|
|
|
14
14
|
**MCP Army (free forever).** This package works on the MCP Army plan with your own AI. Tools that use
|
|
15
|
-
Validate.QA's AI (such as `heal_test`) return a `PLAN_FEATURE_LOCKED` error until the workspace upgrades to Solo Dev.
|
|
15
|
+
Validate.QA's AI (such as `heal_test`) return a `PLAN_FEATURE_LOCKED` error until the workspace upgrades to Solo Dev (everything in MCP Army, plus Validate.QA's AI and higher limits).
|
|
16
16
|
Limits and the full list: [docs/MCP-ARMY.md](../../docs/MCP-ARMY.md).
|
|
17
17
|
|
|
18
18
|
## Requirements
|
|
@@ -61,7 +61,9 @@ The package resolves config in this order:
|
|
|
61
61
|
1. CLI args: `--api-url`, `--token`, `--project-id`
|
|
62
62
|
2. Environment variables: `VALIDATEQA_API_URL`, `VALIDATEQA_TOKEN`,
|
|
63
63
|
`VALIDATEQA_PROJECT_ID`
|
|
64
|
-
3. `.validateqa.json` in the current working directory
|
|
64
|
+
3. `.validateqa.json` in the current working directory (API URL and project only)
|
|
65
|
+
4. For the token only: the token `init` saved in `~/.validateqa/credentials.json`
|
|
66
|
+
for that API origin and project
|
|
65
67
|
|
|
66
68
|
Example `.validateqa.json`:
|
|
67
69
|
|
|
@@ -73,11 +75,22 @@ Example `.validateqa.json`:
|
|
|
73
75
|
```
|
|
74
76
|
|
|
75
77
|
`token` is intentionally not read from `.validateqa.json`; pass it via CLI or
|
|
76
|
-
environment variable
|
|
78
|
+
environment variable, or let `init` save it for you.
|
|
79
|
+
|
|
80
|
+
## Finding bugs with your own browser agent
|
|
81
|
+
|
|
82
|
+
An agent that explores the app with its own browser tools (for example Playwright MCP) can lock in what it finds:
|
|
83
|
+
|
|
84
|
+
1. `start_here({ feature })`: one read with the feature's pages, existing tests, known selectors, whether test credentials are set, open bugs, and the rules for saved test code.
|
|
85
|
+
2. `save_regression_test` for each bug, with code that asserts the correct behaviour. The test runs later on an account with none of the browser's changes, so it signs in and redoes every step that made the state the agent saw. It returns at once; the test runs in the cloud while the agent keeps exploring.
|
|
86
|
+
3. `collect_verdicts` at the end: for each saved test, whether it reproduces its bug, passes, or broke before its check.
|
|
87
|
+
|
|
88
|
+
Set `VALIDATEQA_TOOLSET=agent` (or `--toolset agent`) to offer only the 12 tools this loop needs (about 9 KB of tool definitions instead of about 41 KB), which suits smaller models. The default is every tool.
|
|
77
89
|
|
|
78
90
|
## Claude Code Example
|
|
79
91
|
|
|
80
|
-
Create `.mcp.json` in your repo
|
|
92
|
+
Create `.mcp.json` in your repo (or run `init`, below). Keep the token out of
|
|
93
|
+
files you commit: set `VALIDATEQA_TOKEN` in your environment instead of `--token`.
|
|
81
94
|
|
|
82
95
|
```json
|
|
83
96
|
{
|
|
@@ -88,8 +101,6 @@ Create `.mcp.json` in your repo:
|
|
|
88
101
|
"@validate.qa/mcp",
|
|
89
102
|
"--api-url",
|
|
90
103
|
"https://api.myorg.validate.qa",
|
|
91
|
-
"--token",
|
|
92
|
-
"pat_xxxxxxxxxxxx",
|
|
93
104
|
"--project-id",
|
|
94
105
|
"proj_xxxxxxxxxxxx"
|
|
95
106
|
]
|
|
@@ -100,7 +111,7 @@ Create `.mcp.json` in your repo:
|
|
|
100
111
|
|
|
101
112
|
## Cursor Example
|
|
102
113
|
|
|
103
|
-
Create `.cursor/mcp.json` in your repo:
|
|
114
|
+
Create `.cursor/mcp.json` in your repo (token from `VALIDATEQA_TOKEN`, as above):
|
|
104
115
|
|
|
105
116
|
```json
|
|
106
117
|
{
|
|
@@ -111,8 +122,6 @@ Create `.cursor/mcp.json` in your repo:
|
|
|
111
122
|
"@validate.qa/mcp",
|
|
112
123
|
"--api-url",
|
|
113
124
|
"https://api.myorg.validate.qa",
|
|
114
|
-
"--token",
|
|
115
|
-
"pat_xxxxxxxxxxxx",
|
|
116
125
|
"--project-id",
|
|
117
126
|
"proj_xxxxxxxxxxxx"
|
|
118
127
|
]
|
|
@@ -139,6 +148,40 @@ This can create or update:
|
|
|
139
148
|
- `.windsurf/mcp.json` for Windsurf
|
|
140
149
|
- `.vscode/mcp.json` for VS Code
|
|
141
150
|
|
|
151
|
+
These files hold the API URL and project, never the token, so they are safe to
|
|
152
|
+
commit. The token is saved in `~/.validateqa/credentials.json` (readable only by
|
|
153
|
+
you), keyed by the API origin and project; each teammate runs their own `init`.
|
|
154
|
+
If that file cannot be written, the config files carry the token instead and
|
|
155
|
+
`init` adds them to `.gitignore`.
|
|
156
|
+
|
|
157
|
+
## Playwright Test Agents (`init-agents`)
|
|
158
|
+
|
|
159
|
+
To run Playwright's planner / generator / healer agents with Validate.QA layered
|
|
160
|
+
on top:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
npx @validate.qa/mcp init-agents --loop claude --dir .
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Options:
|
|
167
|
+
|
|
168
|
+
- `--loop claude|vscode|opencode` (default: `claude`)
|
|
169
|
+
- `--dir <repo>` (default: current directory)
|
|
170
|
+
|
|
171
|
+
`init-agents`:
|
|
172
|
+
|
|
173
|
+
1. Runs `npx playwright init-agents --loop=<loop>` in the target repository.
|
|
174
|
+
2. Appends a delimited `<!-- validate.qa:start -->` … `<!-- validate.qa:end -->`
|
|
175
|
+
rules section to each generated planner, generator, and healer file
|
|
176
|
+
(idempotent on re-run).
|
|
177
|
+
3. Adds `validate.qa` (`VALIDATEQA_TOOLSET=agent`) alongside `playwright-test` in
|
|
178
|
+
the loop's MCP config (`.mcp.json`, `.vscode/mcp.json`, or `opencode.json`)
|
|
179
|
+
without overwriting existing entries or writing any token. The server reads
|
|
180
|
+
its project from `.validateqa.json` and its token from your token store, so
|
|
181
|
+
run `init` from your dashboard once first, or set `VALIDATEQA_TOKEN`,
|
|
182
|
+
`VALIDATEQA_PROJECT_ID` and `VALIDATEQA_API_URL` (see
|
|
183
|
+
[Configuration Resolution](#configuration-resolution)).
|
|
184
|
+
|
|
142
185
|
## More Docs
|
|
143
186
|
|
|
144
187
|
- Full MCP guide (stdio + tool reference):
|