playwriter 0.0.5 โ†’ 0.0.6

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.
@@ -1,12 +1,11 @@
1
- export declare function startPlayWriterCDPRelayServer({ port, logger }?: {
1
+ export declare function startPlayWriterCDPRelayServer({ port, host, logger }?: {
2
2
  port?: number;
3
+ host?: string;
3
4
  logger?: {
4
5
  log(...args: any[]): void;
5
6
  error(...args: any[]): void;
6
7
  };
7
8
  }): Promise<{
8
- cdpEndpoint: string;
9
- extensionEndpoint: string;
10
9
  close(): void;
11
10
  }>;
12
11
  //# sourceMappingURL=cdp-relay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-relay.d.ts","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"AAsBA,wBAAsB,6BAA6B,CAAC,EAAE,IAAY,EAAE,MAAgB,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;KAAE,CAAA;CAAO;;;;GAgdlL"}
1
+ {"version":3,"file":"cdp-relay.d.ts","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"AAsBA,wBAAsB,6BAA6B,CAAC,EAAE,IAAY,EAAE,IAAkB,EAAE,MAAgB,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;KAAE,CAAA;CAAO;;GAgdrN"}
@@ -2,7 +2,7 @@ import { Hono } from 'hono';
2
2
  import { serve } from '@hono/node-server';
3
3
  import { createNodeWebSocket } from '@hono/node-ws';
4
4
  import chalk from 'chalk';
5
- export async function startPlayWriterCDPRelayServer({ port = 19988, logger = console } = {}) {
5
+ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.0.0.1', logger = console } = {}) {
6
6
  const connectedTargets = new Map();
7
7
  const playwrightClients = new Map();
8
8
  let extensionWs = null;
@@ -360,17 +360,17 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, logger = con
360
360
  }
361
361
  };
362
362
  }));
363
- const server = serve({ fetch: app.fetch, port });
363
+ const server = serve({ fetch: app.fetch, port, hostname: host });
364
364
  injectWebSocket(server);
365
- const wsHost = `ws://localhost:${port}`;
365
+ const wsHost = `ws://${host}:${port}`;
366
366
  const cdpEndpoint = `${wsHost}/cdp`;
367
367
  const extensionEndpoint = `${wsHost}/extension`;
368
368
  logger.log('CDP relay server started');
369
+ logger.log('Host:', host);
370
+ logger.log('Port:', port);
369
371
  logger.log('Extension endpoint:', extensionEndpoint);
370
372
  logger.log('CDP endpoint:', cdpEndpoint);
371
373
  return {
372
- cdpEndpoint,
373
- extensionEndpoint,
374
374
  close() {
375
375
  for (const client of playwrightClients.values()) {
376
376
  client.ws.close(1000, 'Server stopped');
@@ -1 +1 @@
1
- {"version":3,"file":"cdp-relay.js","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp-relay.js","sourceRoot":"","sources":["../../src/extension/cdp-relay.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './extension/cdp-relay.js';
2
+ export * from './utils.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './extension/cdp-relay.js';
2
+ export * from './utils.js';
2
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,YAAY,CAAA"}
package/dist/mcp.js CHANGED
@@ -7,6 +7,7 @@ import path from 'node:path';
7
7
  import { spawn } from 'node:child_process';
8
8
  import { createRequire } from 'node:module';
9
9
  import vm from 'node:vm';
10
+ import { getCdpUrl } from './utils.js';
10
11
  const require = createRequire(import.meta.url);
11
12
  const state = {
12
13
  isConnected: false,
@@ -46,7 +47,7 @@ async function ensureConnection() {
46
47
  return { browser: state.browser, page: state.page };
47
48
  }
48
49
  await ensureRelayServer();
49
- const cdpEndpoint = `ws://localhost:${RELAY_PORT}/cdp/${Date.now()}`;
50
+ const cdpEndpoint = getCdpUrl({ port: RELAY_PORT });
50
51
  const browser = await chromium.connectOverCDP(cdpEndpoint);
51
52
  const contexts = browser.contexts();
52
53
  const context = contexts.length > 0 ? contexts[0] : await browser.newContext();
@@ -75,16 +76,42 @@ async function getCurrentPage() {
75
76
  }
76
77
  throw new Error('No page available');
77
78
  }
79
+ async function resetConnection() {
80
+ if (state.browser) {
81
+ try {
82
+ await state.browser.close();
83
+ }
84
+ catch (e) {
85
+ console.error('Error closing browser:', e);
86
+ }
87
+ }
88
+ state.browser = null;
89
+ state.page = null;
90
+ state.context = null;
91
+ state.isConnected = false;
92
+ await ensureRelayServer();
93
+ const cdpEndpoint = getCdpUrl({ port: RELAY_PORT });
94
+ const browser = await chromium.connectOverCDP(cdpEndpoint);
95
+ const contexts = browser.contexts();
96
+ const context = contexts.length > 0 ? contexts[0] : await browser.newContext();
97
+ const pages = context.pages();
98
+ const page = pages.length > 0 ? pages[0] : await context.newPage();
99
+ state.browser = browser;
100
+ state.page = page;
101
+ state.context = context;
102
+ state.isConnected = true;
103
+ return { browser, page, context };
104
+ }
78
105
  const server = new McpServer({
79
106
  name: 'playwriter',
80
- title: 'Playwright MCP Server',
107
+ title: 'The better playwright MCP: works as a browser extension. No context bloat. More capable.',
81
108
  version: '1.0.0',
82
109
  });
83
110
  const promptContent = fs.readFileSync(path.join(path.dirname(new URL(import.meta.url).pathname), 'prompt.md'), 'utf-8');
84
111
  server.tool('execute', promptContent, {
85
112
  code: z
86
113
  .string()
87
- .describe('JavaScript code to execute with page and context in scope. Should be one line, using ; to execute multiple statements. To execute complex actions call execute multiple times. '),
114
+ .describe('JavaScript code to execute with page, state, context in scope. Should be one line, using ; to execute multiple statements. To execute complex actions call execute multiple times. '),
88
115
  timeout: z.number().default(3000).describe('Timeout in milliseconds for code execution (default: 3000ms)'),
89
116
  }, async ({ code, timeout }) => {
90
117
  await ensureConnection();
@@ -127,14 +154,31 @@ server.tool('execute', promptContent, {
127
154
  await cdp.send('Playwriter.activateTab', { targetId });
128
155
  await cdp.detach();
129
156
  };
130
- const vmContext = vm.createContext({
157
+ let vmContextObj = {
131
158
  page,
132
159
  context,
133
160
  state,
134
161
  console: customConsole,
135
162
  accessibilitySnapshot,
136
163
  activateTab,
137
- });
164
+ resetPlaywright: async () => {
165
+ const { page: newPage, context: newContext } = await resetConnection();
166
+ Object.keys(state).forEach(key => delete state[key]);
167
+ const resetObj = {
168
+ page: newPage,
169
+ context: newContext,
170
+ state,
171
+ console: customConsole,
172
+ accessibilitySnapshot,
173
+ activateTab,
174
+ resetPlaywright: vmContextObj.resetPlaywright
175
+ };
176
+ Object.keys(vmContextObj).forEach(key => delete vmContextObj[key]);
177
+ Object.assign(vmContextObj, resetObj);
178
+ return { page: newPage, context: newContext };
179
+ }
180
+ };
181
+ const vmContext = vm.createContext(vmContextObj);
138
182
  const wrappedCode = `(async () => { ${code} })()`;
139
183
  const result = await Promise.race([
140
184
  vm.runInContext(wrappedCode, vmContext, {
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAiC,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAS9C,MAAM,KAAK,GAAU;IACnB,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;CACd,CAAA;AAED,MAAM,UAAU,GAAG,KAAK,CAAA;AAExB,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAA;QACzD,OAAO,QAAQ,CAAC,EAAE,CAAA;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAA;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAE7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAEnE,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE;QAC1D,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAA;IAEF,aAAa,CAAC,KAAK,EAAE,CAAA;IAErB,gCAAgC;IAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IAEzD,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAC3C,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IACrD,CAAC;IAED,MAAM,iBAAiB,EAAE,CAAA;IAEzB,MAAM,WAAW,GAAG,kBAAkB,UAAU,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;IACpE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;IAE1D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAA;IAE9E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAA;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;IAElE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;IACjB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;IACvB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;IAExB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC;AAED,KAAK,UAAU,cAAc;IAC3B,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAA;IACnB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;YAEjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;gBACrB,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC9C,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;AAEvH,MAAM,CAAC,IAAI,CACT,SAAS,EACT,aAAa,EACb;IACE,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,iLAAiL,CAClL;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,8DAA8D,CAAC;CAC3G,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC1B,MAAM,gBAAgB,EAAE,CAAA;IAExB,MAAM,IAAI,GAAG,MAAM,cAAc,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IAE/C,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,WAAW,GAA2C,EAAE,CAAA;QAE9D,MAAM,aAAa,GAAG;YACpB,GAAG,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;gBACtB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3C,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;gBACvB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;gBACvB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;gBACxB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;gBACxB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,CAAC;SACF,CAAA;QAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,UAAgB,EAAE,EAAE;YACvD,IAAK,UAAkB,CAAC,cAAc,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,MAAO,UAAkB,CAAC,cAAc,EAAE,CAAA;gBAC3D,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ;oBAC1B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBACvC,OAAO,WAAW,CAAA;YACpB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QACxE,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,KAAK,EAAE,UAAgB,EAAE,EAAE;YAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;YACnD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;YAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;YACpC,MAAM,GAAG,CAAC,IAAI,CAAC,wBAA+B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC7D,MAAM,GAAG,CAAC,MAAM,EAAE,CAAA;QACpB,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC;YACjC,IAAI;YACJ,OAAO;YACP,KAAK;YACL,OAAO,EAAE,aAAa;YACtB,qBAAqB;YACrB,WAAW;SACZ,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,kBAAkB,IAAI,OAAO,CAAA;QAEjD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,EAAE;gBACtC,OAAO;gBACP,aAAa,EAAE,IAAI;aACpB,CAAC;YACF,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACxB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,OAAO,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAC5F;SACF,CAAC,CAAA;QAEF,IAAI,YAAY,GAAG,EAAE,CAAA;QAErB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,YAAY,IAAI,mBAAmB,CAAA;YACnC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;gBACvC,MAAM,aAAa,GAAG,IAAI;qBACvB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACX,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;oBACrC,CAAC;oBACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;gBACpB,CAAC,CAAC;qBACD,IAAI,CAAC,GAAG,CAAC,CAAA;gBACZ,YAAY,IAAI,IAAI,MAAM,KAAK,aAAa,IAAI,CAAA;YAClD,CAAC,CAAC,CAAA;YACF,YAAY,IAAI,IAAI,CAAA;QACtB,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,YAAY,IAAI,iBAAiB,CAAA;YACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,YAAY,IAAI,MAAM,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YACjD,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,YAAY,IAAI,wCAAwC,CAAA;QAC1D,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAA;QACvB,IAAI,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAA;QACnC,IAAI,SAAS,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAClC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,qBAAqB,UAAU,8EAA8E,CAAA;QAC5J,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;iBAChB;aACF;SACF,CAAA;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,yBAAyB,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;iBACrE;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAA;IACH,CAAC;AACH,CAAC,CACF,CAAA;AAED,mBAAmB;AACnB,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;AACzD,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAE5C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;QAC7B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qCAAqC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,6BAA6B;AAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAC9B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;IACtB,2DAA2D;AAC7D,CAAC,CAAC,CAAA;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/dist/prompt.md CHANGED
@@ -18,6 +18,7 @@ you can control the browser in collaboration with the user. the user can help yo
18
18
 
19
19
  - only call `page.close()` if the user asks you so or if you previously created this page yourself with `newPage`. do not close user created pages unless asked
20
20
  - try to never sleep or run `page.waitForTimeout` unless you have to. there are better ways to wait for an element
21
+ - never close browser or context. NEVER call `browser.close()`
21
22
 
22
23
  ## event listeners
23
24
 
@@ -29,6 +30,7 @@ you have access to some functions in addition to playwright methods:
29
30
 
30
31
  - `async accessibilitySnapshot(page)`: gets a human readable snapshot of clickable elements on the page. useful to see the overall structure of the page and what elements you can interact with
31
32
  - `async activateTab(page)`: activates (brings to front and focuses) the browser tab for the given page
33
+ - `async resetPlaywright()`: recreates the CDP connection and resets the browser/page/context. Use this when the MCP stops responding, you get connection errors, assertion failures, or timeout issues. After calling this, the page and context variables are automatically updated in the execution environment. IMPORTANT: this completely resets the execution context, removing any custom properties you may have added to the global scope AND clearing all keys from the `state` object. Only `page`, `context`, `state` (empty), `console`, and utility functions will remain
32
34
 
33
35
  example:
34
36
 
@@ -1,8 +1,6 @@
1
1
  export declare function startServer({ port }?: {
2
2
  port?: number;
3
3
  }): Promise<{
4
- cdpEndpoint: string;
5
- extensionEndpoint: string;
6
4
  close(): void;
7
5
  }>;
8
6
  //# sourceMappingURL=start-relay-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-relay-server.d.ts","sourceRoot":"","sources":["../src/start-relay-server.ts"],"names":[],"mappings":"AAsBA,wBAAsB,WAAW,CAAC,EAAE,IAAY,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO;;;;GAmBzE"}
1
+ {"version":3,"file":"start-relay-server.d.ts","sourceRoot":"","sources":["../src/start-relay-server.ts"],"names":[],"mappings":"AAsBA,wBAAsB,WAAW,CAAC,EAAE,IAAY,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO;;GAmBzE"}
@@ -0,0 +1,6 @@
1
+ export declare function getCdpUrl({ port, host, clientId }?: {
2
+ port?: number;
3
+ host?: string;
4
+ clientId?: string;
5
+ }): string;
6
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,EAAE,IAAY,EAAE,IAAkB,EAAE,QAAQ,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,UAGjI"}
package/dist/utils.js ADDED
@@ -0,0 +1,5 @@
1
+ export function getCdpUrl({ port = 19988, host = '127.0.0.1', clientId } = {}) {
2
+ const id = clientId || Date.now().toString();
3
+ return `ws://${host}:${port}/cdp/${id}`;
4
+ }
5
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,WAAW,EAAE,QAAQ,KAA0D,EAAE;IAChI,MAAM,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;IAC5C,OAAO,QAAQ,IAAI,IAAI,IAAI,QAAQ,EAAE,EAAE,CAAA;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,10 @@
1
1
  {
2
2
  "name": "playwriter",
3
3
  "description": "",
4
- "version": "0.0.5",
4
+ "version": "0.0.6",
5
5
  "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
6
8
  "repository": "https://github.com/remorses/playwriter",
7
9
  "scripts": {
8
10
  "build": "rm -rf dist *.tsbuildinfo && mkdir dist && cp src/resource.md src/prompt.md dist/ && tsc",
@@ -20,7 +20,7 @@ type PlaywrightClient = {
20
20
  ws: WSContext
21
21
  }
22
22
 
23
- export async function startPlayWriterCDPRelayServer({ port = 19988, logger = console }: { port?: number; logger?: { log(...args: any[]): void; error(...args: any[]): void } } = {}) {
23
+ export async function startPlayWriterCDPRelayServer({ port = 19988, host = '127.0.0.1', logger = console }: { port?: number; host?: string; logger?: { log(...args: any[]): void; error(...args: any[]): void } } = {}) {
24
24
  const connectedTargets = new Map<string, ConnectedTarget>()
25
25
 
26
26
  const playwrightClients = new Map<string, PlaywrightClient>()
@@ -461,20 +461,20 @@ export async function startPlayWriterCDPRelayServer({ port = 19988, logger = con
461
461
  }
462
462
  }))
463
463
 
464
- const server = serve({ fetch: app.fetch, port })
464
+ const server = serve({ fetch: app.fetch, port, hostname: host })
465
465
  injectWebSocket(server)
466
466
 
467
- const wsHost = `ws://localhost:${port}`
467
+ const wsHost = `ws://${host}:${port}`
468
468
  const cdpEndpoint = `${wsHost}/cdp`
469
469
  const extensionEndpoint = `${wsHost}/extension`
470
470
 
471
471
  logger.log('CDP relay server started')
472
+ logger.log('Host:', host)
473
+ logger.log('Port:', port)
472
474
  logger.log('Extension endpoint:', extensionEndpoint)
473
475
  logger.log('CDP endpoint:', cdpEndpoint)
474
476
 
475
477
  return {
476
- cdpEndpoint,
477
- extensionEndpoint,
478
478
  close() {
479
479
  for (const client of playwrightClients.values()) {
480
480
  client.ws.close(1000, 'Server stopped')
package/src/index.ts CHANGED
@@ -1 +1,2 @@
1
1
  export * from './extension/cdp-relay.js'
2
+ export * from './utils.js'
package/src/mcp.ts CHANGED
@@ -7,6 +7,7 @@ import path from 'node:path'
7
7
  import { spawn } from 'node:child_process'
8
8
  import { createRequire } from 'node:module'
9
9
  import vm from 'node:vm'
10
+ import { getCdpUrl } from './utils.js'
10
11
 
11
12
  const require = createRequire(import.meta.url)
12
13
 
@@ -17,6 +18,22 @@ interface State {
17
18
  context: BrowserContext | null
18
19
  }
19
20
 
21
+ interface VMContext {
22
+ page: Page
23
+ context: BrowserContext
24
+ state: Record<string, any>
25
+ console: {
26
+ log: (...args: any[]) => void
27
+ info: (...args: any[]) => void
28
+ warn: (...args: any[]) => void
29
+ error: (...args: any[]) => void
30
+ debug: (...args: any[]) => void
31
+ }
32
+ accessibilitySnapshot: (page: Page) => Promise<string>
33
+ activateTab: (page: Page) => Promise<void>
34
+ resetPlaywright: () => Promise<{ page: Page; context: BrowserContext }>
35
+ }
36
+
20
37
  const state: State = {
21
38
  isConnected: false,
22
39
  page: null,
@@ -67,7 +84,7 @@ async function ensureConnection(): Promise<{ browser: Browser; page: Page }> {
67
84
 
68
85
  await ensureRelayServer()
69
86
 
70
- const cdpEndpoint = `ws://localhost:${RELAY_PORT}/cdp/${Date.now()}`
87
+ const cdpEndpoint = getCdpUrl({ port: RELAY_PORT })
71
88
  const browser = await chromium.connectOverCDP(cdpEndpoint)
72
89
 
73
90
  const contexts = browser.contexts()
@@ -105,9 +122,42 @@ async function getCurrentPage() {
105
122
  throw new Error('No page available')
106
123
  }
107
124
 
125
+ async function resetConnection(): Promise<{ browser: Browser; page: Page; context: BrowserContext }> {
126
+ if (state.browser) {
127
+ try {
128
+ await state.browser.close()
129
+ } catch (e) {
130
+ console.error('Error closing browser:', e)
131
+ }
132
+ }
133
+
134
+ state.browser = null
135
+ state.page = null
136
+ state.context = null
137
+ state.isConnected = false
138
+
139
+ await ensureRelayServer()
140
+
141
+ const cdpEndpoint = getCdpUrl({ port: RELAY_PORT })
142
+ const browser = await chromium.connectOverCDP(cdpEndpoint)
143
+
144
+ const contexts = browser.contexts()
145
+ const context = contexts.length > 0 ? contexts[0] : await browser.newContext()
146
+
147
+ const pages = context.pages()
148
+ const page = pages.length > 0 ? pages[0] : await context.newPage()
149
+
150
+ state.browser = browser
151
+ state.page = page
152
+ state.context = context
153
+ state.isConnected = true
154
+
155
+ return { browser, page, context }
156
+ }
157
+
108
158
  const server = new McpServer({
109
159
  name: 'playwriter',
110
- title: 'Playwright MCP Server',
160
+ title: 'The better playwright MCP: works as a browser extension. No context bloat. More capable.',
111
161
  version: '1.0.0',
112
162
  })
113
163
 
@@ -120,7 +170,7 @@ server.tool(
120
170
  code: z
121
171
  .string()
122
172
  .describe(
123
- 'JavaScript code to execute with page and context in scope. Should be one line, using ; to execute multiple statements. To execute complex actions call execute multiple times. ',
173
+ 'JavaScript code to execute with page, state, context in scope. Should be one line, using ; to execute multiple statements. To execute complex actions call execute multiple times. ',
124
174
  ),
125
175
  timeout: z.number().default(3000).describe('Timeout in milliseconds for code execution (default: 3000ms)'),
126
176
  },
@@ -172,14 +222,34 @@ server.tool(
172
222
  await cdp.detach()
173
223
  }
174
224
 
175
- const vmContext = vm.createContext({
225
+ let vmContextObj: VMContext = {
176
226
  page,
177
227
  context,
178
228
  state,
179
229
  console: customConsole,
180
230
  accessibilitySnapshot,
181
231
  activateTab,
182
- })
232
+ resetPlaywright: async () => {
233
+ const { page: newPage, context: newContext } = await resetConnection()
234
+
235
+ Object.keys(state).forEach(key => delete state[key])
236
+
237
+ const resetObj: VMContext = {
238
+ page: newPage,
239
+ context: newContext,
240
+ state,
241
+ console: customConsole,
242
+ accessibilitySnapshot,
243
+ activateTab,
244
+ resetPlaywright: vmContextObj.resetPlaywright
245
+ }
246
+ Object.keys(vmContextObj).forEach(key => delete (vmContextObj as any)[key])
247
+ Object.assign(vmContextObj, resetObj)
248
+ return { page: newPage, context: newContext }
249
+ }
250
+ }
251
+
252
+ const vmContext = vm.createContext(vmContextObj)
183
253
 
184
254
  const wrappedCode = `(async () => { ${code} })()`
185
255
 
package/src/prompt.md CHANGED
@@ -18,6 +18,7 @@ you can control the browser in collaboration with the user. the user can help yo
18
18
 
19
19
  - only call `page.close()` if the user asks you so or if you previously created this page yourself with `newPage`. do not close user created pages unless asked
20
20
  - try to never sleep or run `page.waitForTimeout` unless you have to. there are better ways to wait for an element
21
+ - never close browser or context. NEVER call `browser.close()`
21
22
 
22
23
  ## event listeners
23
24
 
@@ -29,6 +30,7 @@ you have access to some functions in addition to playwright methods:
29
30
 
30
31
  - `async accessibilitySnapshot(page)`: gets a human readable snapshot of clickable elements on the page. useful to see the overall structure of the page and what elements you can interact with
31
32
  - `async activateTab(page)`: activates (brings to front and focuses) the browser tab for the given page
33
+ - `async resetPlaywright()`: recreates the CDP connection and resets the browser/page/context. Use this when the MCP stops responding, you get connection errors, assertion failures, or timeout issues. After calling this, the page and context variables are automatically updated in the execution environment. IMPORTANT: this completely resets the execution context, removing any custom properties you may have added to the global scope AND clearing all keys from the `state` object. Only `page`, `context`, `state` (empty), `console`, and utility functions will remain
32
34
 
33
35
  example:
34
36
 
package/src/utils.ts ADDED
@@ -0,0 +1,4 @@
1
+ export function getCdpUrl({ port = 19988, host = '127.0.0.1', clientId }: { port?: number; host?: string; clientId?: string } = {}) {
2
+ const id = clientId || Date.now().toString()
3
+ return `ws://${host}:${port}/cdp/${id}`
4
+ }
package/README.md DELETED
@@ -1,60 +0,0 @@
1
- # PlayWriter MCP
2
-
3
- A powerful browser automation MCP (Model Context Protocol) server that provides persistent browser sessions with advanced automation capabilities through Playwright.
4
-
5
- ## Key Differences from playwright-mcp
6
-
7
- ### ๐Ÿ”’ Persistent Data Directory
8
- PlayWriter MCP maintains a persistent user data directory between runs. This enables:
9
- - Login sessions with Google and other OAuth providers
10
- - Website authentication that persists across sessions
11
- - Test automation without repeated logins
12
- - Preserved cookies, local storage, and browser state
13
-
14
- ### ๐Ÿ›ก๏ธ Anti-Detection Features
15
- Built-in detection prevention mechanisms allow automation on websites with bot protection:
16
- - Works seamlessly with Google and other major platforms
17
- - User-agent rotation
18
- - Automation flag removal
19
- - Realistic browser fingerprinting
20
-
21
- ### ๐ŸŒ Shared Chrome Instance
22
- - Single Chrome instance shared between all agents
23
- - Each agent operates in its own tab
24
- - Can reuse existing pages/tabs via `context.pages()` in the execute tool
25
- - Find and switch between pages by URL or other criteria
26
- - Efficient resource usage
27
- - Better performance for multi-agent workflows
28
-
29
- ### ๐Ÿš€ Single Powerful Execute Tool
30
- Instead of many granular tools, PlayWriter provides one flexible `execute` tool:
31
- - Direct access to Playwright `page` and `context` objects
32
- - Write complex automation logic with loops and conditions
33
- - Full JavaScript execution capabilities
34
- - Custom wait conditions and complex interactions
35
-
36
- Example:
37
- ```javascript
38
- // Complex wait logic with custom conditions
39
- while (!(await page.isVisible('.success-message'))) {
40
- await page.click('.retry-button');
41
- await page.waitForTimeout(1000);
42
- }
43
- ```
44
-
45
- ### ๐Ÿ”ง Additional Tools
46
- - `new_page` - Create a new browser tab/page
47
- - `accessibility_snapshot` - Get page structure as JSON
48
- - `console_logs` - Retrieve browser console messages
49
- - `network_history` - Monitor network requests
50
-
51
- ## Roadmap
52
-
53
- - โ˜๏ธ Cloud service integration for shared persistent state
54
- - ๐Ÿงช Quality assertion tests in CI/CD pipelines
55
- - ๐Ÿค– Multi-agent collaboration features
56
- - ๐Ÿ“Š Advanced debugging and monitoring capabilities
57
-
58
- ## Installation
59
-
60
- See the main project documentation for installation and setup instructions.