docs: update config file section (#1209)

Copy-paste of
7671e2b7f0/packages/playwright/src/mcp/config.d.ts (L21).
This commit is contained in:
Simon Knott
2025-11-19 17:06:43 +01:00
committed by GitHub
parent 86e0020b4a
commit e0cb424dea

165
README.md
View File

@@ -438,72 +438,151 @@ npx @playwright/mcp@latest --config path/to/config.json
```typescript ```typescript
{ {
// Browser configuration /**
* The browser to use.
*/
browser?: { browser?: {
// Browser type to use (chromium, firefox, or webkit) /**
* The type of browser to use.
*/
browserName?: 'chromium' | 'firefox' | 'webkit'; browserName?: 'chromium' | 'firefox' | 'webkit';
// Keep the browser profile in memory, do not save it to disk. /**
* Keep the browser profile in memory, do not save it to disk.
*/
isolated?: boolean; isolated?: boolean;
// Path to user data directory for browser profile persistence /**
* Path to a user data directory for browser profile persistence.
* Temporary directory is created by default.
*/
userDataDir?: string; userDataDir?: string;
// Browser launch options (see Playwright docs) /**
// @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch * Launch options passed to
launchOptions?: { * @see https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context
channel?: string; // Browser channel (e.g. 'chrome') *
headless?: boolean; // Run in headless mode * This is useful for settings options like `channel`, `headless`, `executablePath`, etc.
executablePath?: string; // Path to browser executable */
// ... other Playwright launch options launchOptions?: playwright.LaunchOptions;
};
// Browser context options /**
// @see https://playwright.dev/docs/api/class-browser#browser-new-context * Context options for the browser context.
contextOptions?: { *
viewport?: { width: number, height: number }; * This is useful for settings options like `viewport`.
// ... other Playwright context options */
}; contextOptions?: playwright.BrowserContextOptions;
// CDP endpoint for connecting to existing browser /**
* Chrome DevTools Protocol endpoint to connect to an existing browser instance in case of Chromium family browsers.
*/
cdpEndpoint?: string; cdpEndpoint?: string;
// Remote Playwright server endpoint /**
* CDP headers to send with the connect request.
*/
cdpHeaders?: Record<string, string>;
/**
* Remote endpoint to connect to an existing Playwright server.
*/
remoteEndpoint?: string; remoteEndpoint?: string;
/**
* Paths to TypeScript files to add as initialization scripts for Playwright page.
*/
initPage?: string[];
/**
* Paths to JavaScript files to add as initialization scripts.
* The scripts will be evaluated in every page before any of the page's scripts.
*/
initScript?: string[];
}, },
// Server configuration
server?: { server?: {
port?: number; // Port to listen on /**
host?: string; // Host to bind to (default: localhost) * The port to listen on for SSE or MCP transport.
*/
port?: number;
/**
* The host to bind the server to. Default is localhost. Use 0.0.0.0 to bind to all interfaces.
*/
host?: string;
/**
* The hosts this server is allowed to serve from. Defaults to the host server is bound to.
* This is not for CORS, but rather for the DNS rebinding protection.
*/
allowedHosts?: string[];
}, },
// List of additional capabilities /**
capabilities?: Array< * List of enabled tool capabilities. Possible values:
'tabs' | // Tab management * - 'core': Core browser automation features.
'install' | // Browser installation * - 'pdf': PDF generation and manipulation.
'pdf' | // PDF generation * - 'vision': Coordinate-based interactions.
'vision' | // Coordinate-based interactions */
>; capabilities?: ToolCapability[];
// Directory for output files /**
* Whether to save the Playwright session into the output directory.
*/
saveSession?: boolean;
/**
* Whether to save the Playwright trace of the session into the output directory.
*/
saveTrace?: boolean;
/**
* If specified, saves the Playwright video of the session into the output directory.
*/
saveVideo?: {
width: number;
height: number;
};
/**
* Reuse the same browser context between all connected HTTP clients.
*/
sharedBrowserContext?: boolean;
/**
* Secrets are used to prevent LLM from getting sensitive data while
* automating scenarios such as authentication.
* Prefer the browser.contextOptions.storageState over secrets file as a more secure alternative.
*/
secrets?: Record<string, string>;
/**
* The directory to save output files.
*/
outputDir?: string; outputDir?: string;
// Network configuration
network?: {
// List of origins to allow the browser to request. Default is to allow all. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
allowedOrigins?: string[];
// List of origins to block the browser to request. Origins matching both `allowedOrigins` and `blockedOrigins` will be blocked.
blockedOrigins?: string[];
};
/** /**
* Whether to send image responses to the client. Can be "allow" or "omit". * Specify the attribute to use for test ids, defaults to "data-testid".
* Defaults to "allow". */
testIdAttribute?: string;
timeouts?: {
/*
* Configures default action timeout: https://playwright.dev/docs/api/class-page#page-set-default-timeout. Defaults to 5000ms.
*/
action?: number;
/*
* Configures default navigation timeout: https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout. Defaults to 60000ms.
*/
navigation?: number;
};
/**
* Whether to send image responses to the client. Can be "allow", "omit", or "auto". Defaults to "auto", which sends images if the client can display them.
*/ */
imageResponses?: 'allow' | 'omit'; imageResponses?: 'allow' | 'omit';
} };
``` ```
</details> </details>