MCP Server

playwright-mcp-server

com.thenextgennexus/playwright-mcp-server
Developer Tools Public & reachable MCP 2026-07-28

What this MCP does

Provides headless browser automation for JavaScript-rendered sites, including navigation, interaction, extraction, screenshots, and PDFs.

click
Click an element matched by CSS selector or visible text.
Open world
Input schema
{'type': 'object', 'properties': {'text': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'button': {'type': 'string', 'default': 'left'}, 'selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'double_click': {'type': 'boolean', 'default': False}}}
close_browser
Close the underlying browser, freeing resources.
Open world
Input schema
{'type': 'object', 'properties': {}}
evaluate
Evaluate JavaScript in the page context. Use `return` for values or an expression.
Open world
Input schema
{'type': 'object', 'required': ['script'], 'properties': {'script': {'type': 'string'}}}
extract_table
Extract a standard HTML table as a list of row objects keyed by header.
Read only Open world
Input schema
{'type': 'object', 'properties': {'selector': {'type': 'string', 'default': 'table'}}}
fill_form
Fill multiple form fields from a list of {selector, value} and optionally submit.
Open world
Input schema
{'type': 'object', 'required': ['fields'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'submit': {'type': 'boolean', 'default': False}}}
get_cookies
Return all cookies for the current browser context.
Read only Open world
Input schema
{'type': 'object', 'properties': {}}
get_html
Return the HTML of the page or a specific element.
Read only Open world
Input schema
{'type': 'object', 'properties': {'outer': {'type': 'boolean', 'default': True}, 'selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}
get_links
Collect all anchor hrefs, optionally filtered by regex.
Read only Open world
Input schema
{'type': 'object', 'properties': {'pattern': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}
get_text
Extract visible text from the page or a specific element.
Read only Open world
Input schema
{'type': 'object', 'properties': {'selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}
navigate
Navigate the browser to a URL. Returns the final URL and page title.
Open world
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}, 'wait_until': {'type': 'string', 'default': 'domcontentloaded'}}}
page_pdf
Render the current page as PDF (headless only). Returns base64 PDF.
Read only Open world
Input schema
{'type': 'object', 'properties': {'format_': {'type': 'string', 'default': 'A4'}, 'landscape': {'type': 'boolean', 'default': False}}}
screenshot
Take a PNG screenshot of the current page (or a specific element). Returns base64 PNG.
Read only Open world
Input schema
{'type': 'object', 'properties': {'selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'full_page': {'type': 'boolean', 'default': False}}}
scroll
Scroll the page (or an element) in the given direction by `amount` pixels.
Open world
Input schema
{'type': 'object', 'properties': {'amount': {'type': 'integer', 'default': 500}, 'selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'direction': {'type': 'string', 'default': 'down'}}}
select_option
Choose an option from a <select> element by value or visible label.
Open world
Input schema
{'type': 'object', 'required': ['selector'], 'properties': {'label': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'value': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'selector': {'type': 'string'}}}
set_cookies
Set cookies for the current browser context.
Open world
Input schema
{'type': 'object', 'required': ['cookies'], 'properties': {'cookies': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}}}
type_text
Type text into an input/textarea. Optionally clear first or press Enter after.
Open world
Input schema
{'type': 'object', 'required': ['selector', 'text'], 'properties': {'text': {'type': 'string'}, 'clear': {'type': 'boolean', 'default': True}, 'selector': {'type': 'string'}, 'press_enter': {'type': 'boolean', 'default': False}}}
wait_for
Wait until a selector reaches a given state (visible|hidden|attached|detached).
Open world
Input schema
{'type': 'object', 'properties': {'state': {'type': 'string', 'default': 'visible'}, 'timeout': {'type': 'integer', 'default': 10000}, 'selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}
Added
close_browser
Sept. 17, 2026, 12:37 p.m.
Added
set_cookies
Sept. 17, 2026, 12:37 p.m.
Added
get_cookies
Sept. 17, 2026, 12:37 p.m.
Added
fill_form
Sept. 17, 2026, 12:37 p.m.
Added
page_pdf
Sept. 17, 2026, 12:37 p.m.
Added
extract_table
Sept. 17, 2026, 12:37 p.m.
Added
get_links
Sept. 17, 2026, 12:37 p.m.
Added
wait_for
Sept. 17, 2026, 12:37 p.m.
Added
scroll
Sept. 17, 2026, 12:37 p.m.
Added
select_option
Sept. 17, 2026, 12:37 p.m.
Added
evaluate
Sept. 17, 2026, 12:37 p.m.
Added
get_html
Sept. 17, 2026, 12:37 p.m.
Added
get_text
Sept. 17, 2026, 12:37 p.m.
Added
type_text
Sept. 17, 2026, 12:37 p.m.
Added
click
Sept. 17, 2026, 12:37 p.m.
Added
screenshot
Sept. 17, 2026, 12:37 p.m.
Added
navigate
Sept. 17, 2026, 12:37 p.m.