mcprigor 1.0.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 +10 -3
- package/dist/cli.js +118 -2
- package/dist/cli.js.map +1 -1
- package/dist/mcp-server.d.ts +5 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +245 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/reporters.d.ts +2 -0
- package/dist/reporters.d.ts.map +1 -1
- package/dist/reporters.js +15 -0
- package/dist/reporters.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +2 -0
- package/dist/runner.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace.d.ts +22 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +6 -6
- package/dist/workspace.js.map +1 -1
- package/docs/CLI-REFERENCE.md +7 -0
- package/docs/ENGINEER-SETUP.md +1 -1
- package/docs/GETTING-STARTED.md +1 -1
- package/docs/MCP-SERVER.md +68 -0
- package/docs/PLAIN-LANGUAGE-COOKBOOK.md +73 -0
- package/docs/QA-WORKSPACE.md +40 -17
- package/docs/README.md +1 -3
- package/docs/TROUBLESHOOTING.md +6 -0
- package/package.json +1 -1
- package/docs/FILE-EXTENSION.md +0 -52
- package/docs/LANDSCAPE.md +0 -81
- package/docs/SPECIFICATION.md +0 -178
package/README.md
CHANGED
|
@@ -9,11 +9,13 @@
|
|
|
9
9
|
|
|
10
10
|
**Natural-language testing for Model Context Protocol servers.**
|
|
11
11
|
|
|
12
|
-
](https://mcprigor.com/assets/showcase-demo.mp4)
|
|
13
|
+
|
|
14
|
+
<sub>Visual QA workspace · MCP server for AI agents · CLI and CI — [watch the MP4](https://mcprigor.com/assets/showcase-demo.mp4)</sub>
|
|
13
15
|
|
|
14
16
|
MCP Rigor lets QA teams test MCP tools, resources, prompts, contracts, and transports without writing test code. Tests are deterministic: no AI model interprets the wording.
|
|
15
17
|
|
|
16
|
-
> Status: `1.
|
|
18
|
+
> Status: `1.2.0` stable. Node.js 20 or 22 is required.
|
|
17
19
|
|
|
18
20
|
## Install
|
|
19
21
|
|
|
@@ -90,6 +92,12 @@ Start the local browser interface:
|
|
|
90
92
|
npx mcprigor workspace .
|
|
91
93
|
```
|
|
92
94
|
|
|
95
|
+
Or expose MCP Rigor to AI coding agents as an MCP server ([docs](docs/MCP-SERVER.md)):
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npx mcprigor serve .
|
|
99
|
+
```
|
|
100
|
+
|
|
93
101
|
Open the printed `http://127.0.0.1:...` URL. You can select a suite, edit it, validate the wording, run tests, run transport parity, and review results.
|
|
94
102
|
|
|
95
103
|
The workspace is loopback-only and does not accept arbitrary commands from the browser.
|
|
@@ -240,7 +248,6 @@ See the [complete CLI reference](docs/CLI-REFERENCE.md).
|
|
|
240
248
|
- **Setting up targets and CI:** [Engineer setup](docs/ENGINEER-SETUP.md)
|
|
241
249
|
- **Fixing failures:** [Troubleshooting](docs/TROUBLESHOOTING.md)
|
|
242
250
|
- **All documentation:** [Documentation index](docs/README.md)
|
|
243
|
-
- **Renaming old files:** [`.mcpr` extension and migration](docs/FILE-EXTENSION.md)
|
|
244
251
|
|
|
245
252
|
## Scope and safety
|
|
246
253
|
|
package/dist/cli.js
CHANGED
|
@@ -7,7 +7,7 @@ import { checkContract, compareContracts, contractMarkdown, contractReport, read
|
|
|
7
7
|
import { discoverTarget, generateSuite, writeGeneratedSuite, writeLock } from "./discovery.js";
|
|
8
8
|
import { loadTestFile } from "./qa-loader.js";
|
|
9
9
|
import { parityMarkdown, parityReport, runParity } from "./parity.js";
|
|
10
|
-
import { terminalReport, writeHtmlReport, writeJsonReport, writeJunitReport } from "./reporters.js";
|
|
10
|
+
import { githubAnnotations, terminalReport, writeHtmlReport, writeJsonReport, writeJunitReport } from "./reporters.js";
|
|
11
11
|
import { runSuite } from "./runner.js";
|
|
12
12
|
import { replayReport, replayTrace } from "./replay.js";
|
|
13
13
|
import { readState, writeState } from "./state.js";
|
|
@@ -22,6 +22,11 @@ async function main() {
|
|
|
22
22
|
const [command, file, ...flags] = process.argv.slice(2);
|
|
23
23
|
if (!command || command === "--help" || command === "-h")
|
|
24
24
|
return help();
|
|
25
|
+
if (command === "serve" || command === "mcp") {
|
|
26
|
+
const { startMcpServer } = await import("./mcp-server.js");
|
|
27
|
+
await startMcpServer({ root: file && !file.startsWith("--") ? file : process.cwd() });
|
|
28
|
+
return new Promise(() => { });
|
|
29
|
+
}
|
|
25
30
|
if (command === "workspace" || command === "web") {
|
|
26
31
|
const workspace = await startWorkspace({ root: file && !file.startsWith("--") ? file : process.cwd(), port: numericFlag([file ?? "", ...flags], "--port") });
|
|
27
32
|
console.log(`MCP Rigor QA Workspace\n${workspace.url}\n\nPress Ctrl+C to stop.`);
|
|
@@ -148,7 +153,9 @@ async function main() {
|
|
|
148
153
|
}
|
|
149
154
|
if (command !== "run" && command !== "test")
|
|
150
155
|
throw new UsageError(`Unknown command: ${command}. Try: mcprigor --help`);
|
|
156
|
+
assertKnownFlags(flags, ["--test", "--html", "--json", "--junit", "--evidence", "--snapshot", "--update-snapshots", "--state-in", "--state-out", "--allow-state-target-mismatch", "--allow-remote-data", "--allow-custom-code", "--max-rows", "--command", "--url", "--watch", "--github-annotations", "--no-github-annotations"]);
|
|
151
157
|
const suite = await loadTestFile(resolve(file), compileOptions);
|
|
158
|
+
applyTargetOverride(suite, flag(flags, "--command"), flag(flags, "--url"));
|
|
152
159
|
const filter = flag(flags, "--test");
|
|
153
160
|
const stateIn = flag(flags, "--state-in");
|
|
154
161
|
const loadedState = stateIn ? await readState(resolve(stateIn), suite.target, flags.includes("--allow-state-target-mismatch")) : undefined;
|
|
@@ -157,11 +164,19 @@ async function main() {
|
|
|
157
164
|
const snapshotFile = flag(flags, "--snapshot");
|
|
158
165
|
if (flags.includes("--update-snapshots") && !snapshotFile && !suite.snapshots?.file)
|
|
159
166
|
throw new UsageError("--update-snapshots requires --snapshot FILE or suite snapshot configuration");
|
|
160
|
-
const
|
|
167
|
+
const runOnce = async (loadedSuite = suite) => runSuite(loadedSuite, { ...(filter ? { filter } : {}), allowCustomCode: compileOptions.allowCustomCode, cwd: process.cwd(), state: loadedState?.outputs, trace, snapshotFile, updateSnapshots: flags.includes("--update-snapshots") });
|
|
168
|
+
if (flags.includes("--watch")) {
|
|
169
|
+
if (flags.includes("--update-snapshots"))
|
|
170
|
+
throw new UsageError("--watch cannot be combined with --update-snapshots; update snapshots in a single explicit run");
|
|
171
|
+
return watchAndRun(resolve(file), suite, compileOptions, runOnce);
|
|
172
|
+
}
|
|
173
|
+
const result = await runOnce();
|
|
161
174
|
console.log(terminalReport(result));
|
|
162
175
|
const json = flag(flags, "--json");
|
|
163
176
|
const junit = flag(flags, "--junit");
|
|
164
177
|
const html = flag(flags, "--html");
|
|
178
|
+
if (flags.includes("--github-annotations") || (process.env.GITHUB_ACTIONS === "true" && !flags.includes("--no-github-annotations")))
|
|
179
|
+
console.log("\n" + githubAnnotations(result, file));
|
|
165
180
|
if (json)
|
|
166
181
|
await writeJsonReport(result, json);
|
|
167
182
|
if (junit)
|
|
@@ -183,6 +198,100 @@ async function main() {
|
|
|
183
198
|
console.log("\nState was not saved because the run did not pass.");
|
|
184
199
|
process.exitCode = result.status === "passed" ? 0 : 1;
|
|
185
200
|
}
|
|
201
|
+
const VALUE_FLAGS = new Set(["--test", "--html", "--json", "--junit", "--evidence", "--snapshot", "--state-in", "--state-out", "--max-rows", "--command", "--url", "--out", "--target", "--timeout", "--allow-tool", "--port"]);
|
|
202
|
+
function assertKnownFlags(args, known) {
|
|
203
|
+
const knownSet = new Set(known);
|
|
204
|
+
for (let index = 0; index < args.length; index++) {
|
|
205
|
+
const value = args[index];
|
|
206
|
+
if (!value.startsWith("--"))
|
|
207
|
+
continue;
|
|
208
|
+
if (!knownSet.has(value))
|
|
209
|
+
throw new UsageError(`Unknown option for this command: ${value}. Run mcprigor --help to see supported options.`);
|
|
210
|
+
if (VALUE_FLAGS.has(value))
|
|
211
|
+
index++;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
function applyTargetOverride(suite, command, url) {
|
|
215
|
+
if (command && url)
|
|
216
|
+
throw new UsageError("Use either --command or --url, not both");
|
|
217
|
+
if (command) {
|
|
218
|
+
const [head, ...rest] = command.split(/\s+/).filter(Boolean);
|
|
219
|
+
if (!head)
|
|
220
|
+
throw new UsageError("--command requires a non-empty server command");
|
|
221
|
+
suite.target = { transport: "stdio", command: head, args: rest };
|
|
222
|
+
console.log(`Target override: running against command "${command}" instead of the suite's declared target.\n`);
|
|
223
|
+
}
|
|
224
|
+
else if (url) {
|
|
225
|
+
suite.target = { transport: "streamable-http", url };
|
|
226
|
+
console.log(`Target override: running against ${url} instead of the suite's declared target.\n`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
async function watchAndRun(file, initialSuite, compileOptions, runOnce) {
|
|
230
|
+
const { watch } = await import("node:fs");
|
|
231
|
+
const { dirname } = await import("node:path");
|
|
232
|
+
const clear = () => process.stdout.write("\x1Bc");
|
|
233
|
+
let running = false;
|
|
234
|
+
let queued = false;
|
|
235
|
+
const cycle = async () => {
|
|
236
|
+
if (running) {
|
|
237
|
+
queued = true;
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
running = true;
|
|
241
|
+
try {
|
|
242
|
+
clear();
|
|
243
|
+
console.log(`MCP Rigor watch — ${new Date().toLocaleTimeString()}\nRunning ${file}\n`);
|
|
244
|
+
let suite;
|
|
245
|
+
try {
|
|
246
|
+
suite = await loadTestFile(file, compileOptions);
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
console.log(formatFailure(error));
|
|
250
|
+
console.log("\nWaiting for changes…");
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
const result = await runOnce(suite);
|
|
254
|
+
console.log(terminalReport(result));
|
|
255
|
+
const failed = result.tests.filter((test) => test.status === "failed").length;
|
|
256
|
+
console.log(failed ? `\n${failed} failing — waiting for changes…` : "\nAll green — waiting for changes…");
|
|
257
|
+
}
|
|
258
|
+
finally {
|
|
259
|
+
running = false;
|
|
260
|
+
if (queued) {
|
|
261
|
+
queued = false;
|
|
262
|
+
void cycle();
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
const watchDirs = new Set([dirname(file)]);
|
|
267
|
+
const target = initialSuite.target;
|
|
268
|
+
if (target.transport === "stdio" && target.cwd)
|
|
269
|
+
watchDirs.add(resolve(target.cwd));
|
|
270
|
+
watchDirs.add(process.cwd());
|
|
271
|
+
let timer;
|
|
272
|
+
const trigger = (_event, name) => {
|
|
273
|
+
const changed = String(name ?? "");
|
|
274
|
+
if (/^\.|node_modules|\.git|\.mcprigor|report\.html|\.log$/.test(changed))
|
|
275
|
+
return;
|
|
276
|
+
if (timer)
|
|
277
|
+
clearTimeout(timer);
|
|
278
|
+
timer = setTimeout(() => void cycle(), 250);
|
|
279
|
+
};
|
|
280
|
+
for (const dir of watchDirs) {
|
|
281
|
+
try {
|
|
282
|
+
watch(dir, { recursive: true }, trigger);
|
|
283
|
+
}
|
|
284
|
+
catch { /* fall back to non-recursive below */
|
|
285
|
+
try {
|
|
286
|
+
watch(dir, trigger);
|
|
287
|
+
}
|
|
288
|
+
catch { /* ignore unwatchable dirs */ }
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
console.log(`Watching ${[...watchDirs].join(", ")} for changes. Press Ctrl+C to stop.`);
|
|
292
|
+
await cycle();
|
|
293
|
+
return new Promise(() => { });
|
|
294
|
+
}
|
|
186
295
|
function flag(args, name) {
|
|
187
296
|
const index = args.indexOf(name);
|
|
188
297
|
return index >= 0 ? args[index + 1] : undefined;
|
|
@@ -209,10 +318,17 @@ function help() {
|
|
|
209
318
|
Start here:
|
|
210
319
|
mcprigor workspace [DIRECTORY] [--port 4173]
|
|
211
320
|
Open the local QA web workspace
|
|
321
|
+
mcprigor serve [DIRECTORY] Expose MCP Rigor as an MCP server (stdio)
|
|
322
|
+
so AI agents can write and run tests
|
|
212
323
|
mcprigor init my-tests.mcpr Create an editable example
|
|
213
324
|
mcprigor check my-tests.mcpr Check the wording before running
|
|
214
325
|
mcprigor test my-tests.mcpr Run the tests
|
|
215
326
|
mcprigor test my-tests.mcpr --html report.html
|
|
327
|
+
mcprigor test my-tests.mcpr --command "node dist/server.js"
|
|
328
|
+
Override the suite's declared target
|
|
329
|
+
mcprigor test my-tests.mcpr --url https://qa.example.com/mcp
|
|
330
|
+
mcprigor test my-tests.mcpr --watch
|
|
331
|
+
Rerun on test or server file changes
|
|
216
332
|
mcprigor author server.mcpr --out new-test.mcpr
|
|
217
333
|
Guided no-code test creation
|
|
218
334
|
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAuJA,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmHjF"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
+
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
4
|
+
import { realpath, stat } from "node:fs/promises";
|
|
5
|
+
import { join, relative, resolve } from "node:path";
|
|
6
|
+
import { checkContract, contractReport } from "./contract.js";
|
|
7
|
+
import { loadTestFile } from "./qa-loader.js";
|
|
8
|
+
import { runParity, parityReport } from "./parity.js";
|
|
9
|
+
import { runSuite } from "./runner.js";
|
|
10
|
+
import { starterTemplate } from "./starter.js";
|
|
11
|
+
import { FRAMEWORK_VERSION } from "./version.js";
|
|
12
|
+
import { appendHistory, atomicWrite, limitedRead, readHistory, safePath, suites } from "./workspace.js";
|
|
13
|
+
/**
|
|
14
|
+
* MCP server exposing MCP Rigor itself, so AI agents can validate and run
|
|
15
|
+
* natural-language acceptance tests against the MCP servers they are building.
|
|
16
|
+
*
|
|
17
|
+
* Trust model: identical to running the CLI in the same directory. run_tests
|
|
18
|
+
* starts whatever command the suite's Server: line declares, exactly like
|
|
19
|
+
* `mcprigor test`. Point the root at a project you trust.
|
|
20
|
+
*/
|
|
21
|
+
const MAX_BATCH = 20;
|
|
22
|
+
/** Guards against a suite whose Server: line spawns mcprigor serve again. */
|
|
23
|
+
const NESTING_ENV = "MCPRIGOR_MCP_DEPTH";
|
|
24
|
+
const MAX_NESTING = 2;
|
|
25
|
+
const TOOLS = [
|
|
26
|
+
{
|
|
27
|
+
name: "list_suites",
|
|
28
|
+
description: "List the natural-language MCP test files (.mcpr, YAML, JSON) available under the workspace root. Returns relative paths usable with the other tools.",
|
|
29
|
+
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "read_suite",
|
|
33
|
+
description: "Read the full text of one test file so it can be reviewed or edited.",
|
|
34
|
+
inputSchema: {
|
|
35
|
+
type: "object",
|
|
36
|
+
properties: { path: { type: "string", description: "Relative path from list_suites" } },
|
|
37
|
+
required: ["path"],
|
|
38
|
+
additionalProperties: false,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "write_suite",
|
|
43
|
+
description: "Create or overwrite one natural-language test file (.mcpr) inside the workspace root. Use validate_suite afterwards to check the wording. Pass text as the complete file content; omit text to create a starter template.",
|
|
44
|
+
inputSchema: {
|
|
45
|
+
type: "object",
|
|
46
|
+
properties: {
|
|
47
|
+
path: { type: "string", description: "Relative .mcpr path, e.g. tests/checkout.mcpr" },
|
|
48
|
+
text: { type: "string", description: "Complete file content; omitted = starter template" },
|
|
49
|
+
},
|
|
50
|
+
required: ["path"],
|
|
51
|
+
additionalProperties: false,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "validate_suite",
|
|
56
|
+
description: "Compile a test file without starting any server. Returns { valid, tests, parityTargets } or a diagnostic with the exact line and column plus a fix hint. Deterministic: the same text always yields the same result.",
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: "object",
|
|
59
|
+
properties: { path: { type: "string", description: "Relative path of the test file" } },
|
|
60
|
+
required: ["path"],
|
|
61
|
+
additionalProperties: false,
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: "run_tests",
|
|
66
|
+
description: "Run one or more test files against the MCP server each suite declares (Server: command or MCP URL: endpoint). Returns structured per-test results: status, duration, and failure messages. This starts the server process declared inside each suite, with the workspace root as working directory.",
|
|
67
|
+
inputSchema: {
|
|
68
|
+
type: "object",
|
|
69
|
+
properties: {
|
|
70
|
+
paths: {
|
|
71
|
+
type: "array",
|
|
72
|
+
items: { type: "string" },
|
|
73
|
+
minItems: 1,
|
|
74
|
+
maxItems: MAX_BATCH,
|
|
75
|
+
description: "Relative paths of test files to run",
|
|
76
|
+
},
|
|
77
|
+
filter: { type: "string", description: "Only run tests whose name matches this substring/pattern (same as CLI --test)" },
|
|
78
|
+
},
|
|
79
|
+
required: ["paths"],
|
|
80
|
+
additionalProperties: false,
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
name: "run_parity",
|
|
85
|
+
description: "Run a suite's declared parity targets and compare behavior across transports (for example stdio versus Streamable HTTP). The suite must declare Compare/Parity targets.",
|
|
86
|
+
inputSchema: {
|
|
87
|
+
type: "object",
|
|
88
|
+
properties: { path: { type: "string", description: "Relative path of the suite with parity targets" } },
|
|
89
|
+
required: ["path"],
|
|
90
|
+
additionalProperties: false,
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: "get_contract_drift",
|
|
95
|
+
description: "Compare a saved contract lock file against the live server a suite declares. Read-only: reports added, removed, and changed tools/resources/prompts classified as breaking or non-breaking. Never updates the lock file — updating baselines is an explicit human CLI action (mcprigor contract-update).",
|
|
96
|
+
inputSchema: {
|
|
97
|
+
type: "object",
|
|
98
|
+
properties: {
|
|
99
|
+
lock: { type: "string", description: "Relative path of the contract lock file (e.g. mcp.lock.yaml)" },
|
|
100
|
+
suite: { type: "string", description: "Relative path of a suite whose declared server to compare against" },
|
|
101
|
+
},
|
|
102
|
+
required: ["lock", "suite"],
|
|
103
|
+
additionalProperties: false,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
name: "get_history",
|
|
108
|
+
description: "Read recorded run history for this workspace: per-run suite status, duration, and per-test outcomes. Useful for spotting regressions and flaky tests. Optional filters by suite path and test name.",
|
|
109
|
+
inputSchema: {
|
|
110
|
+
type: "object",
|
|
111
|
+
properties: {
|
|
112
|
+
suite: { type: "string", description: "Only entries for this suite path" },
|
|
113
|
+
test: { type: "string", description: "Only entries containing this exact test name" },
|
|
114
|
+
limit: { type: "number", description: "Maximum entries, newest last (default 50, max 200)" },
|
|
115
|
+
},
|
|
116
|
+
additionalProperties: false,
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
];
|
|
120
|
+
function text(value) {
|
|
121
|
+
return { content: [{ type: "text", text: JSON.stringify(value, null, 2) }], structuredContent: value };
|
|
122
|
+
}
|
|
123
|
+
function failure(message) {
|
|
124
|
+
return { content: [{ type: "text", text: message }], isError: true };
|
|
125
|
+
}
|
|
126
|
+
function argument(args, key) {
|
|
127
|
+
const value = args?.[key];
|
|
128
|
+
if (typeof value !== "string" || !value.length)
|
|
129
|
+
throw new Error(`MCP-SRV-400 ${key} must be a non-empty string`);
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
export async function startMcpServer(options = {}) {
|
|
133
|
+
const depth = Number(process.env[NESTING_ENV] ?? "0");
|
|
134
|
+
if (depth >= MAX_NESTING)
|
|
135
|
+
throw new Error(`MCP-SRV-508 Refusing to nest mcprigor serve ${depth + 1} levels deep; a suite under test appears to start mcprigor serve itself`);
|
|
136
|
+
const root = await realpath(resolve(options.root ?? process.cwd()));
|
|
137
|
+
const rootInfo = await stat(root).catch(() => undefined);
|
|
138
|
+
if (!rootInfo?.isDirectory())
|
|
139
|
+
throw new Error(`MCP-SRV-404 Workspace root is not a directory: ${root}`);
|
|
140
|
+
const historyFile = join(root, ".mcprigor", "workspace-history.jsonl");
|
|
141
|
+
process.env[NESTING_ENV] = String(depth + 1); // inherited by every server a suite spawns
|
|
142
|
+
const server = new Server({ name: "mcprigor", version: FRAMEWORK_VERSION }, { capabilities: { tools: {} } });
|
|
143
|
+
server.setRequestHandler(ListToolsRequestSchema, () => ({ tools: TOOLS }));
|
|
144
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
145
|
+
const args = request.params.arguments;
|
|
146
|
+
try {
|
|
147
|
+
switch (request.params.name) {
|
|
148
|
+
case "list_suites":
|
|
149
|
+
return text({ root, suites: await suites(root) });
|
|
150
|
+
case "read_suite": {
|
|
151
|
+
const path = safePath(root, argument(args, "path"));
|
|
152
|
+
return text({ path: relative(root, path), text: await limitedRead(path) });
|
|
153
|
+
}
|
|
154
|
+
case "write_suite": {
|
|
155
|
+
const input = argument(args, "path");
|
|
156
|
+
if (!input.endsWith(".mcpr"))
|
|
157
|
+
throw new Error("MCP-SRV-400 write_suite only writes .mcpr files");
|
|
158
|
+
const path = safePath(root, input);
|
|
159
|
+
const body = typeof args?.text === "string" ? args.text : starterTemplate;
|
|
160
|
+
if (body.length > 1024 * 1024)
|
|
161
|
+
throw new Error("MCP-SRV-413 File exceeds 1 MiB");
|
|
162
|
+
await atomicWrite(path, body);
|
|
163
|
+
return text({ path: relative(root, path), bytes: body.length, written: true });
|
|
164
|
+
}
|
|
165
|
+
case "validate_suite": {
|
|
166
|
+
const path = safePath(root, argument(args, "path"));
|
|
167
|
+
try {
|
|
168
|
+
const suite = await loadTestFile(path);
|
|
169
|
+
return text({ valid: true, suiteName: suite.name, tests: suite.tests.map((item) => item.name), parityTargets: suite.targets ? Object.keys(suite.targets) : [] });
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
const span = error.span;
|
|
173
|
+
return text({ valid: false, message: error instanceof Error ? error.message : String(error), ...(span?.start?.line ? { line: span.start.line, column: span.start.column ?? 1 } : {}) });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
case "run_tests": {
|
|
177
|
+
const paths = args?.paths;
|
|
178
|
+
if (!Array.isArray(paths) || !paths.length || paths.length > MAX_BATCH || paths.some((item) => typeof item !== "string"))
|
|
179
|
+
throw new Error(`MCP-SRV-400 paths must be 1-${MAX_BATCH} strings`);
|
|
180
|
+
const items = [];
|
|
181
|
+
for (const item of paths) {
|
|
182
|
+
const path = safePath(root, item);
|
|
183
|
+
const startedAt = Date.now();
|
|
184
|
+
try {
|
|
185
|
+
const suite = await loadTestFile(path);
|
|
186
|
+
const filter = typeof args?.filter === "string" && args.filter.length ? args.filter : undefined;
|
|
187
|
+
const result = await runSuite(suite, { cwd: root, ...(filter ? { filter } : {}) });
|
|
188
|
+
const tests = result.tests.map((entry) => ({ name: entry.name, status: entry.status, durationMs: entry.durationMs, ...(entry.error ? { error: entry.error } : {}) }));
|
|
189
|
+
await appendHistory(historyFile, { at: new Date().toISOString(), mode: "test", suite: relative(root, path), status: result.status, durationMs: Date.now() - startedAt, tests });
|
|
190
|
+
items.push({ suite: relative(root, path), status: result.status, durationMs: Date.now() - startedAt, tests });
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
items.push({ suite: relative(root, path), status: "failed", durationMs: Date.now() - startedAt, error: error instanceof Error ? error.message : String(error) });
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const status = items.some((item) => item.status === "failed") ? "failed" : "passed";
|
|
197
|
+
const response = text({ status, items });
|
|
198
|
+
if (status === "failed")
|
|
199
|
+
response.isError = true;
|
|
200
|
+
return response;
|
|
201
|
+
}
|
|
202
|
+
case "run_parity": {
|
|
203
|
+
const path = safePath(root, argument(args, "path"));
|
|
204
|
+
const suite = await loadTestFile(path);
|
|
205
|
+
if (!suite.targets)
|
|
206
|
+
throw new Error("MCP-SRV-422 This suite declares no parity targets; add Compare target sections first");
|
|
207
|
+
const result = await runParity(suite, suite.targets, { cwd: root });
|
|
208
|
+
const response = text({ suite: relative(root, path), status: result.status, report: parityReport(result) });
|
|
209
|
+
if (result.status === "failed")
|
|
210
|
+
response.isError = true;
|
|
211
|
+
return response;
|
|
212
|
+
}
|
|
213
|
+
case "get_contract_drift": {
|
|
214
|
+
const lockPath = safePath(root, argument(args, "lock"));
|
|
215
|
+
const suitePath = safePath(root, argument(args, "suite"));
|
|
216
|
+
const suite = await loadTestFile(suitePath);
|
|
217
|
+
const driftTarget = suite.target.transport === "stdio" && !suite.target.cwd ? { ...suite.target, cwd: root } : suite.target;
|
|
218
|
+
const checked = await checkContract(lockPath, driftTarget);
|
|
219
|
+
const response = text({ lock: relative(root, lockPath), breaking: Boolean(checked.diff.breaking), report: contractReport(checked.diff) });
|
|
220
|
+
if (checked.diff.breaking)
|
|
221
|
+
response.isError = true;
|
|
222
|
+
return response;
|
|
223
|
+
}
|
|
224
|
+
case "get_history": {
|
|
225
|
+
const limitRaw = typeof args?.limit === "number" ? args.limit : 50;
|
|
226
|
+
const limit = Math.max(1, Math.min(200, Math.floor(limitRaw)));
|
|
227
|
+
const suiteFilter = typeof args?.suite === "string" ? args.suite : undefined;
|
|
228
|
+
const testFilter = typeof args?.test === "string" ? args.test : undefined;
|
|
229
|
+
const entries = (await readHistory(historyFile))
|
|
230
|
+
.filter((entry) => (!suiteFilter || entry.suite === suiteFilter) && (!testFilter || entry.tests.some((item) => item.name === testFilter)))
|
|
231
|
+
.slice(-limit);
|
|
232
|
+
return text({ entries });
|
|
233
|
+
}
|
|
234
|
+
default:
|
|
235
|
+
return failure(`MCP-SRV-404 Unknown tool: ${request.params.name}`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
return failure(error instanceof Error ? error.message : String(error));
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
const transport = new StdioServerTransport();
|
|
243
|
+
await server.connect(transport);
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/reporters.d.ts
CHANGED
|
@@ -3,4 +3,6 @@ export declare function terminalReport(result: RunResult): string;
|
|
|
3
3
|
export declare function writeJsonReport(result: RunResult, file: string): Promise<void>;
|
|
4
4
|
export declare function writeHtmlReport(result: RunResult, file: string): Promise<void>;
|
|
5
5
|
export declare function writeJunitReport(result: RunResult, file: string): Promise<void>;
|
|
6
|
+
/** GitHub Actions workflow commands: one error annotation per failed test, one notice for the summary. */
|
|
7
|
+
export declare function githubAnnotations(result: RunResult, file?: string): string;
|
|
6
8
|
//# sourceMappingURL=reporters.d.ts.map
|
package/dist/reporters.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporters.d.ts","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAgBxD;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpF;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarF"}
|
|
1
|
+
{"version":3,"file":"reporters.d.ts","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAgBxD;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpF;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpF;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAarF;AAaD,0GAA0G;AAC1G,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAY1E"}
|
package/dist/reporters.js
CHANGED
|
@@ -49,4 +49,19 @@ function friendly(value) {
|
|
|
49
49
|
function xml(value) {
|
|
50
50
|
return value.replaceAll("&", "&").replaceAll('"', """).replaceAll("<", "<").replaceAll(">", ">");
|
|
51
51
|
}
|
|
52
|
+
/** GitHub Actions workflow commands: one error annotation per failed test, one notice for the summary. */
|
|
53
|
+
export function githubAnnotations(result, file) {
|
|
54
|
+
const esc = (value) => value.replace(/%/g, "%25").replace(/\r/g, "%0D").replace(/\n/g, "%0A");
|
|
55
|
+
const lines = [];
|
|
56
|
+
for (const test of result.tests) {
|
|
57
|
+
if (test.status !== "failed")
|
|
58
|
+
continue;
|
|
59
|
+
const location = file ? `file=${esc(file)},` : "";
|
|
60
|
+
lines.push(`::error ${location}title=${esc(`MCP Rigor: ${test.name}`)}::${esc(test.error ?? "Test failed")}`);
|
|
61
|
+
}
|
|
62
|
+
const passed = result.tests.filter((t) => t.status === "passed").length;
|
|
63
|
+
const failed = result.tests.filter((t) => t.status === "failed").length;
|
|
64
|
+
lines.push(`::notice title=MCP Rigor::${passed} passed, ${failed} failed (${result.tests.length} total)`);
|
|
65
|
+
return lines.join("\n");
|
|
66
|
+
}
|
|
52
67
|
//# sourceMappingURL=reporters.js.map
|
package/dist/reporters.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reporters.js","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reporters.js","sourceRoot":"","sources":["../src/reporters.ts"],"names":[],"mappings":"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"}
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAA2B,KAAK,EAA+C,MAAM,YAAY,CAAC;AAEzH,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,aAAa,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAA2B,KAAK,EAA+C,MAAM,YAAY,CAAC;AAEzH,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,aAAa,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAqDzF"}
|
package/dist/runner.js
CHANGED
|
@@ -11,6 +11,8 @@ export async function runSuite(suite, options = {}) {
|
|
|
11
11
|
const tests = [];
|
|
12
12
|
const protocolVersions = new Set();
|
|
13
13
|
const resolvedTarget = replaceVariables(suite.target, { state: options.state ?? {} });
|
|
14
|
+
if (options.cwd && resolvedTarget.transport === "stdio" && !resolvedTarget.cwd)
|
|
15
|
+
resolvedTarget.cwd = options.cwd;
|
|
14
16
|
const redactor = createRedactor([...(suite.redact ?? []), ...collectTargetSecrets(resolvedTarget)]);
|
|
15
17
|
const snapshots = new SnapshotStore({ file: options.snapshotFile ?? suite.snapshots?.file ?? "mcprigor.snap.json", update: options.updateSnapshots, ignore: suite.snapshots?.ignore });
|
|
16
18
|
await snapshots.load();
|