Simon Knott
2ae7800ac1
chore(vscode): add vscode mcp factory ( #868 )
2025-08-21 14:28:35 +02:00
Pavel Feldman
865eac2fee
chore: do not wrap mcp in proxy by default, drive-by deps fix ( #909 )
2025-08-16 19:39:49 -07:00
Yury Semikhatsky
2fc4e88048
chore(extension): add readme file, recommend --extension option ( #894 )
2025-08-14 16:01:14 -07:00
Pavel Feldman
73adb0fdf0
chore: steer towards mcp types a bit ( #880 )
2025-08-13 14:09:37 -07:00
Yury Semikhatsky
8572ab300c
chore: separate proxy client from external ( #877 )
2025-08-12 18:05:45 -07:00
Pavel Feldman
c091a11d76
chore: extract utils folder ( #876 )
2025-08-12 14:33:00 -07:00
Pavel Feldman
dbd44110f1
chore: run test server per context ( #874 )
...
Fixes https://github.com/microsoft/playwright-mcp/issues/869
2025-08-12 13:41:08 -07:00
Yury Semikhatsky
f010164bf1
chore: mcp backend switcher ( #854 )
2025-08-11 14:16:43 -07:00
Yury Semikhatsky
372395666a
chore: allow to switch between browser connection methods ( #815 )
2025-08-01 17:34:28 -07:00
Pavel Feldman
a60d7b8cd1
chore: slice profile dirs by root in vscode ( #814 )
2025-08-01 16:59:59 -07:00
Yury Semikhatsky
7c07cc86eb
chore(extension): bind relay lifetime to browser context ( #804 )
2025-07-31 22:25:40 -07:00
Pavel Feldman
ecfa10448b
chore: extract loop tools into a separate folder ( #755 )
2025-07-24 16:22:03 -07:00
Yury Semikhatsky
e153ac3b7c
chore(extension): exit gracefully when waiting for extension connection ( #754 )
2025-07-24 16:02:02 -07:00
Pavel Feldman
c63b7823e1
chore: extract pure mcp server helpers ( #751 )
2025-07-24 12:57:01 -07:00
Pavel Feldman
da8a244f33
chore: one tool experiment ( #746 )
2025-07-24 10:09:01 -07:00
Pavel Feldman
b1a0f775cf
chore: save session log ( #740 )
2025-07-22 20:06:03 -07:00
Yury Semikhatsky
d3867affed
chore: add mcp chrome extension ( #710 )
2025-07-18 17:12:44 -07:00
Pavel Feldman
fe0c0ffffe
chore: mirror cli options w/ env vars ( #685 )
...
Fixes https://github.com/microsoft/playwright-mcp/issues/639
2025-07-17 10:19:18 -07:00
Pavel Feldman
95454735bf
chore: remove image reply special case in cursor ( #680 )
2025-07-16 18:32:07 -07:00
Pavel Feldman
e9f6433241
chore: remove server experiment ( #681 )
2025-07-16 18:05:47 -07:00
Pavel Feldman
d61aa16fee
chore: turn vision into capability ( #679 )
...
Fixes https://github.com/microsoft/playwright-mcp/issues/420
2025-07-16 16:40:00 -07:00
Pavel Feldman
128474b4aa
chore: remove extension code ( #667 )
2025-07-14 10:52:38 -07:00
Yury Semikhatsky
96e234012d
chore(extension): start relay before creating MCP server ( #548 )
...
* HTTPS server launched and the relay server is created before MCP
server. This way we can pass CDP endpoint to its constructor.
* MCP HTTP transport is added to precreated HTTP server.
* A bunch of renames to fix style issues.
2025-06-13 16:13:40 -07:00
Max Schmitt
6c3f3b6576
feat: add MCP Chrome extension ( #325 )
...
Instructions:
1. `git clone https://github.com/mxschmitt/playwright-mcp && git
checkout extension-drafft`
2. `npm ci && npm run build`
3. `chrome://extensions` in your normal Chrome, "load unpacked" and
select the extension folder.
4. `node cli.js --port=4242 --extension` - The URL it prints at the end
you can put into the extension popup.
5.
Put either this into Claude Desktop (it does not support SSE yet hence
wrapping it or just put the URL into Cursor/VSCode)
```json
{
"mcpServers": {
"playwright": {
"command": "bash",
"args": [
"-c",
"source $HOME/.nvm/nvm.sh && nvm use --silent 22 && npx supergateway --streamableHttp http://127.0.0.1:4242/mcp "
]
}
}
}
```
Things like `Take a snapshot of my browser.` should now work in your
Prompt Chat.
----
- SSE only for now, since we already have a http server with a port
there
- Upstream "page tests" can be executed over this CDP relay via
https://github.com/microsoft/playwright/pull/36286
- Limitations for now are everything what happens outside of the tab its
session is shared with -> `window.open` / `target=_blank`.
---------
Co-authored-by: Yury Semikhatsky <yurys@chromium.org >
2025-06-13 13:15:17 -07:00
Pavel Feldman
0fb9646c4d
chore: experimental agent mode ( #516 )
2025-06-04 09:14:50 -07:00
Pavel Feldman
656779531c
chore: respect server settings from config ( #502 )
2025-05-30 18:17:51 -07:00
Pavel Feldman
54ed7c3200
chore: refactor server, prepare for browser reuse ( #490 )
2025-05-28 16:55:47 -07:00
Pavel Feldman
9e5ffd2ccf
fix(cursor): allow enforcing images for cursor --image-responses=allow ( #478 )
...
Fixes https://github.com/microsoft/playwright-mcp/issues/449
2025-05-27 10:25:09 +02:00
Pavel Feldman
c2b7fb29de
chore: start trace server ( #427 )
2025-05-14 20:15:09 -07:00
Pavel Feldman
aa6ac51f92
feat(trace): allow saving trajectory as trace ( #426 )
2025-05-14 18:08:44 -07:00
Pavel Feldman
fea50e6840
chore: introduce resolved config ( #425 )
2025-05-14 16:01:08 -07:00
Pavel Feldman
c506027aec
chore: run w/ sandbox by default ( #412 )
2025-05-13 15:30:02 -07:00
Pavel Feldman
7be0c8872e
feat(args): allow configuring proxy, UA, viewport, https errors ( #410 )
2025-05-13 14:40:03 -07:00
Pavel Feldman
ce72367208
feat(storage): allow passing storage state for isolated contexts ( #409 )
...
Fixes https://github.com/microsoft/playwright-mcp/issues/403
Ref https://github.com/microsoft/playwright-mcp/issues/367
2025-05-13 13:14:04 -07:00
Pavel Feldman
949f956378
feat(ephemeral): allow for non-persistent context operation ( #405 )
...
Ref: https://github.com/microsoft/playwright-mcp/issues/367
Ref: https://github.com/microsoft/playwright-mcp/issues/393
2025-05-12 18:18:53 -07:00
Pavel Feldman
a1eee8351e
chore: collapse readme ( #404 )
2025-05-12 16:42:47 -07:00
Max Schmitt
91ae93c167
chore: change import assert to readFile ( #368 )
2025-05-07 11:30:01 +02:00
Pavel Feldman
e95b5b1dd6
chore: get rid of connection factory ( #362 )
...
Drive-by User-Agent sniffing and disabling of image type in Cursor.
2025-05-06 14:27:28 -07:00
Ross Wollman
42faa3ccf8
feat: add --(allowed|blocked)-origins ( #319 )
...
Useful to limit the agent when using the playwright-mcp server with an
agent in auto-invocation mode.
Not intended to be a security feature.
2025-05-05 11:28:14 -07:00
おがどら
5df011ad4b
feat(cli): set outputDir via cli options ( #338 )
2025-05-03 20:11:17 -07:00
Pavel Feldman
23ce973377
lint: ban console output ( #317 )
2025-04-30 14:15:32 -07:00
Max Schmitt
685dea9e19
chore: migrate to ESM ( #303 )
...
- [Why do I need `.js`
extension?](https://stackoverflow.com/a/77150985/6512681 )
- [Why setting `rootDir` in the
`tsconfig.json`?](https://stackoverflow.com/a/58941798/6512681 )
- [How to ensure that we add the `.js` extension via
ESLint](https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/extensions.md#importextensions )
Fixes https://github.com/microsoft/playwright-mcp/issues/302
2025-04-30 23:06:56 +02:00
Pavel Feldman
6d6b1a384b
chore: fix merge config ( #311 )
2025-04-30 08:41:19 -07:00
Pavel Feldman
3f72fe53ec
chore: add support for device ( #300 )
...
Fixes https://github.com/microsoft/playwright-mcp/issues/294
2025-04-29 19:51:00 -07:00
Pavel Feldman
80c9b93b72
chore: allow configuring raw Playwright options ( #287 )
...
Fixes: https://github.com/microsoft/playwright-mcp/issues/272
2025-04-28 20:17:16 -07:00
Pavel Feldman
26779ceb20
chore: allow passing config file ( #281 )
2025-04-28 15:04:59 -07:00
Simon Knott
bf7dbabca4
feat: support streamable http transport ( #243 )
...
Adds support for the new StreamableHttp transport. I'm not aware of any
clients that implement it, but somebody's gotta make the start! Once
some clients support it, we can also advertise it in the README.
2025-04-28 11:11:31 +02:00
Zheng Xi Zhou
0ed0bcd914
feat(server): add host option to SSE server configuration ( #261 )
2025-04-23 23:04:00 -07:00
Max Schmitt
b9dc323734
chore: enable @typescript-eslint/no-floating-promises rule ( #260 )
2025-04-23 16:03:30 +02:00
Pavel Feldman
e4331313f9
chore: update exported types ( #192 )
...
Fixes https://github.com/microsoft/playwright-mcp/issues/186
2025-04-15 16:39:52 -07:00