@diegosouzacdv/jev-browser-mcp 0.1.2 → 0.3.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.
@@ -46,7 +46,7 @@ class BrowserPool {
46
46
  this.#contextPromise = this.#open();
47
47
  }
48
48
  await this.#contextPromise;
49
- return { page: this.#page, sessionMs: isOpening ? performance.now() - this.#startedAt : 0 };
49
+ return { page: this.#page, context: this.#context, sessionMs: isOpening ? performance.now() - this.#startedAt : 0 };
50
50
  }
51
51
 
52
52
  async #open() {
@@ -136,21 +136,23 @@ export function createJevBrowserServer({ env = process.env, configPath, fetchImp
136
136
  server.registerTool(
137
137
  "run_browser_flow",
138
138
  {
139
- description: "Run a bounded screen flow in one warm Playwright browser session. Jev chooses one supplied plan once, the MCP executes accessible-name actions and verifies the requested outcome.",
139
+ description: "Run a bounded screen flow in one warm Playwright session. Supports accessible actions, within/index target scoping, iframe targets, assertions, uploads, bounded downloads, axe accessibility audits, failure screenshots/traces, scoped snapshots, and optional fast-path/tracker settings. Jev chooses among supplied plans; one plan skips the decision call when fast_path is enabled.",
140
140
  inputSchema: {
141
141
  flow: z.string(),
142
142
  initial_url: z.string(),
143
143
  expected_outcome: z.string(),
144
144
  candidate_plans: z.record(z.string(), z.unknown()),
145
+ options: z.record(z.string(), z.unknown()).optional(),
145
146
  },
146
147
  },
147
- async ({ flow, initial_url: initialUrl, expected_outcome: expectedOutcome, candidate_plans: candidatePlans }) => {
148
+ async ({ flow, initial_url: initialUrl, expected_outcome: expectedOutcome, candidate_plans: candidatePlans, options }) => {
148
149
  try {
149
150
  return toolText(await browserPool.runFlow(() => executeBrowserFlow({
150
151
  flow,
151
152
  initialUrl,
152
153
  expectedOutcome,
153
154
  candidatePlans,
155
+ options,
154
156
  settings,
155
157
  browserPool,
156
158
  fetchImpl,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diegosouzacdv/jev-browser-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.3.0",
4
4
  "description": "Portable MCP server for bounded Playwright screen flows selected by Jev",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -27,6 +27,7 @@
27
27
  "test:jev-browser-mcp": "node --test mcp_servers/jev-browser-npm/tests/*.test.mjs"
28
28
  },
29
29
  "dependencies": {
30
+ "@axe-core/playwright": "4.13.0",
30
31
  "@modelcontextprotocol/server": "2.1.0",
31
32
  "playwright": "1.63.0",
32
33
  "zod": "4.6.5"