add_cookie
adds a cookie to the current browser session. The browser must be on a page from the cookie's domain before setting it.
Drive a real browser through Selenium — locate elements, type, click, upload, switch frames — and read back element state and console, JS and network diagnostics instead of guessing from a screenshot.
LABSCO SUMMARY
The tool descriptions steer away from screenshots on purpose: get_element_attribute and execute_script are named as the way to verify state, the accessibility://current resource as the way to understand page content, and take_screenshot is reserved for questions about layout and styling. diagnostics then supplies what a screenshot never could — the JavaScript error and the network activity behind the failure — in the same session that produced it. That combination makes it usable for reproducing a bug report, not only for scripted clicking.
A Selenium WebDriver session exposed as 18 tools: browser lifecycle, element interaction by locator, state readback, and browser-level diagnostics captured over WebDriver BiDi.
A browser on the machine for Selenium to drive, chosen at the time you start the session. No credentials and no account. MIT licensed.
One command — npx -y @angiejones/mcp-selenium@latest
USE CASES
Open the browser the reporter used, walk the same path — navigate, click, type — and stop where they stopped. Typing clears the field first, so a rerun does not append to what the last attempt left behind.
Read the values back off the elements rather than looking at a picture of them. One script call can collect several element states at once, which is quicker than an attribute call per field.
Set the session cookie on the current domain and skip the login form entirely, then clear it to check what a signed-out visitor sees on the same page.
Pull the console logs, JavaScript errors or network activity captured over WebDriver BiDi for the moment it broke, and take a screenshot only when the question turns out to be visual after all.
Payment iframes, pop-out windows and confirm dialogs are where scripted runs usually stop. Switching frames, moving between windows and answering a dialog are each a call rather than a workaround.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_cookieadds a cookie to the current browser session. The browser must be on a page from the cookie's domain before setting it.
alerthandles a browser alert, confirm, or prompt dialog
close_sessioncloses the current browser session
delete_cookiedeletes cookies from the current browser session. Can delete a specific cookie by name or all cookies.
diagnosticsretrieves browser diagnostics (console logs, JS errors, or network activity) captured via WebDriver BiDi
execute_scriptexecutes JavaScript in the browser and returns the result. Use for advanced interactions not covered by other tools (e.g., drag and drop, scrolling, reading computed styles, manipulating the DOM directly). Also useful for batch-reading multiple element values/states in a single call instead of multiple get_element_attribute calls.
frameswitches focus to a frame or back to the main page
get_cookiesretrieves cookies from the current browser session. Returns all cookies or a specific cookie by name.
get_element_attributegets the value of an attribute on an element. Use this to verify element state. Prefer this over screenshots for validation.
get_element_textgets the text content of an element
interactperforms a mouse action on an element
navigatenavigates to a URL
press_keysimulates pressing a keyboard key
send_keyssends keys to an element, aka typing. Clears the field first.
start_browserlaunches browser
take_screenshotcaptures a screenshot of the current page. Prefer using the accessibility://current resource for understanding page content. Use get_element_text, get_element_attribute, or execute_script to verify element state. Only use screenshots when visual layout or styling needs to be verified.
upload_fileuploads a file using a file input element
windowmanages browser windows and tabs
BEFORE YOU INSTALL
18 tools when we connected.
npx on PATH
CONTEXT COST
Rated by the size of the 18 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
Add the block to your client, or run the command directly.
{
"mcpServers": {
"mcp-selenium": {
"command": "npx",
"args": [
"-y",
"@angiejones/mcp-selenium@latest"
]
}
}
}npx -y @angiejones/mcp-selenium@latest