---
title: Playwright Extension
description: Add Playwright MCP Server as a Goose Extension for Modern Web Testing
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import YouTubeShortEmbed from '@site/src/components/YouTubeShortEmbed';
This tutorial covers how to add the Playwright MCP Server as a Goose extension, to enable cross-browser testing and web automation across Chromium and Webkit.
:::tip TLDR
[Launch the installer](goose://extension?cmd=npx&arg=-y&arg=@playwright/mcp@latest&id=playwright&name=Playwright&description=Modern%20web%20testing%20and%20automation)
**Command**
```sh
npx -y @playwright/mcp@latest
```
:::
## Configuration
:::info
Note that you'll need [Node.js](https://nodejs.org/) installed on your system to run this command, as it uses `npx`.
:::
1. [Launch the installer](goose://extension?cmd=npx&arg=-y&arg=@playwright/mcp@latest&id=playwright&name=Playwright&description=Modern%20web%20testing%20and%20automation)
2. Press `Yes` to confirm the installation
3. Scroll to the top and click `Exit` from the upper left corner
1. Run the `configure` command:
```sh
goose configure
```
2. Choose to add a `Command-line Extension`
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
// highlight-start
│ ● Command-line Extension (Run a local command or script)
// highlight-end
│ ○ Remote Extension (SSE)
│ ○ Remote Extension (Streaming HTTP)
└
```
3. Give your extension a name
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◆ What would you like to call this extension?
│ Playwright
└
```
4. Enter the command
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ Playwright
│
◆ What command should be run?
│ npx -y @playwright/mcp@latest
└
```
5. Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ Playwright
│
◇ What command should be run?
│ npx -y @playwright/mcp@latest
│
◆ Please set the timeout for this tool (in secs):
│ 300
└
```
6. Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ Playwright
│
◇ What command should be run?
│ npx -y @playwright/mcp@latest
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◆ Would you like to add a description?
│ No
└
```
7. Choose No when asked to add environment variables
```sh
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension (Connect to a new extension)
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ Playwright
│
◇ What command should be run?
│ npx -y @playwright/mcp@latest
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◇ Would you like to add a description?
│ No
│
◆ Would you like to add environment variables?
│ No
│
└ Added Playwright extension
```
## Example Usage
Let's use Goose with the Playwright extension to create a cross-browser testing suite. In this example, we'll demonstrate how Goose can help you:
1. Test a web application across multiple browsers
2. Generate maintainable test code
3. Capture screenshots for visual comparison
:::info LLM
Anthropic's Claude 3.5 Sonnet was used for this task.
:::
### Goose Prompt
```
Test the random redesign generator app (https://blackgirlbytes.github.io/random-redesign-picker/)
in Chromium and WebKit. For each browser:
1. Navigate to the page
2. Click the "Pick My Combo" button
3. Verify the text changes
4. Take a screenshot
Then generate a Playwright test that works across all browsers.
```
### Goose Output
```
Let's start with Chromium:
─── browser_navigate | playwright ──────────────────────────
url: https://blackgirlbytes.github....
Now let's wait for and click the button:
─── browser_click | playwright ──────────────────────────
element: button with text "Pick My Combo"
ref: