Seleniumboot MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| start_browserA | Start a browser session. Optional — any tool will auto-start Chrome if no browser is open. Use this to choose Firefox, enable headless mode, or set a custom window size. |
| navigateC | Navigate the browser to a URL. |
| take_screenshotB | Take a screenshot and return it as base64. |
| get_page_sourceA | Return the current page HTML source. |
| get_page_titleA | Return the current page title. |
| get_current_urlA | Return the current URL. |
| close_browserA | Close and quit the browser session. |
| go_backA | Navigate back in browser history. |
| go_forwardB | Navigate forward in browser history. |
| refreshA | Refresh the current page. |
| execute_scriptD | Execute JavaScript in the browser. |
| switch_to_windowC | Switch to a browser window/tab by index. |
| open_new_tabA | Open a new browser tab, optionally navigating to a URL. |
| close_current_tabA | Close the currently active tab and switch to the previous one. |
| list_windowsA | List all open browser tabs/windows with their index, title, and URL. |
| scroll_to_topA | Scroll the page to the very top. |
| scroll_to_bottomA | Scroll the page to the very bottom. |
| scroll_byA | Scroll the page by a given number of pixels (positive = down/right). |
| emulate_deviceB | Emulate a mobile device using Chrome DevTools Protocol. Adjusts viewport, pixel ratio, and touch. |
| get_console_logsB | Return browser console logs (errors, warnings, info). Chrome only. |
| get_cookiesA | Return all cookies for the current page, or a single cookie by name. |
| set_cookieC | Set a cookie on the current page. |
| delete_cookieB | Delete a specific cookie by name. |
| delete_all_cookiesA | Delete all cookies for the current session. |
| get_local_storageA | Get a value from localStorage, or return all keys if no key is given. |
| set_local_storageC | Set a localStorage key-value pair. |
| get_session_storageC | Get a value from sessionStorage, or return all keys if no key is given. |
| set_session_storageC | Set a sessionStorage key-value pair. |
| inspect_pageA | Discover all interactive elements on the current page — inputs, buttons, selects, checkboxes, textareas, and links — with their best CSS selectors and labels. Use this before writing locators so the AI knows exactly what's on the page. |
| get_network_logsA | Return captured XHR/fetch network requests (method, URL, status, timing). Chrome only. |
| mock_responseA | Intercept fetch/XHR requests matching a URL pattern and return a canned response. Useful for testing without a real backend. Injection survives until the page is reloaded. |
| clear_mock_responsesA | Remove all active mock response rules injected by mock_response. |
| compare_screenshotA | Compare the current page screenshot against a saved baseline. On first run (or with update_baseline=true) saves the baseline. Returns the pixel diff percentage. Install Pillow for accurate pixel comparison. |
| check_accessibilityB | Run a built-in accessibility audit on the current page. Checks for missing alt text, unlabelled inputs, empty buttons/links, missing page title, HTML lang, heading structure, and keyboard accessibility. |
| wait_for_network_idleA | Wait until there are no active XHR/fetch requests for a quiet period. Essential for SPAs and pages that load data asynchronously. Also waits for document.readyState to be 'complete'. |
| find_elementB | Find an element and return its text, tag, and attributes. |
| find_elementsC | Find all matching elements and return their texts. |
| clickC | Click on an element. |
| type_textC | Clear and type text into an input field. |
| get_textB | Get the visible text content of an element. |
| get_attributeB | Get an attribute value from an element. |
| select_optionA | Select an option from a dropdown by visible text, value, or index. |
| hoverC | Hover the mouse over an element. |
| double_clickC | Double-click on an element. |
| right_clickB | Right-click (context menu) on an element. |
| drag_and_dropC | Drag one element and drop it onto another. |
| is_displayedB | Check if an element is visible on the page. |
| is_enabledB | Check if an element is enabled (not disabled). |
| wait_for_elementC | Wait until an element is visible on the page. |
| scroll_to_elementC | Scroll the page to bring an element into view. |
| clear_fieldB | Clear the text in an input field. |
| fill_formA | Fill multiple form fields in a single call. Pass a map of CSS selector → value. Automatically handles text inputs, textareas, checkboxes (true/false), radio buttons, and dropdowns. Optionally clicks a submit button at the end. |
| get_healed_locatorsA | Return all self-healed locator mappings from this session. Shows which selectors were automatically repaired and what they were replaced with. |
| clear_healed_locatorsA | Clear the self-healing locator cache so all selectors are re-evaluated from scratch. |
| accept_alertB | Accept (OK) a JavaScript alert, confirm, or prompt dialog. |
| dismiss_alertC | Dismiss (Cancel) a JavaScript confirm or prompt dialog. |
| get_alert_textA | Return the text message of a currently open JavaScript alert/confirm/prompt. |
| type_in_alertA | Type text into a JavaScript prompt dialog, then accept it. |
| switch_to_frameB | Switch focus into an iframe. Provide index (integer), name/id (string), or a CSS/XPath selector. |
| switch_to_default_contentA | Switch back to the main page content from inside a frame. |
| send_keysA | Send a key or key combination to the focused element (or a specific element if selector is given). Use key names like 'tab', 'enter', 'escape', 'up', 'down', 'f5', or combos like 'ctrl+a', 'shift+tab'. |
| upload_fileA | Upload a file by sending its absolute path to an element. |
| find_shadow_elementA | Find an element inside a shadow DOM. Provide the host element selector and then the selector for the element inside the shadow root. |
| get_table_dataC | Extract data from an HTML table as a formatted text grid. |
| assert_titleC | Assert the page title equals or contains expected text. |
| assert_urlA | Assert the current URL equals or contains expected value. |
| assert_textC | Assert element text equals or contains expected value. |
| assert_element_visibleC | Assert an element is visible on the page. |
| assert_element_not_visibleB | Assert an element is NOT visible (hidden or absent). |
| assert_attributeC | Assert an element attribute has the expected value. |
| assert_page_containsC | Assert the full page source or visible text contains a string. |
| assert_element_countC | Assert number of elements matching selector equals expected count. |
| generate_python_testA | Generate a pytest + Selenium test script from the current browser session. Captures all recorded actions (navigate, click, type, hover, drag, select, etc.) into a runnable test. |
| generate_java_testngB | Generate a Java TestNG test class from the current browser session. Includes @BeforeMethod, @Test, @AfterMethod and WebDriverWait patterns. |
| generate_java_junit5B | Generate a Java JUnit 5 test class from the current browser session. Includes @BeforeEach, @Test, @AfterEach and proper WebDriverWait usage. |
| get_session_logB | Return the raw list of recorded actions in the current session. |
| clear_session_logA | Clear the recorded action log and start fresh. |
| generate_gherkinB | Generate a Cucumber Gherkin .feature file + Java step definitions class from the recorded browser session. Steps are written in plain English and wired to full Selenium WebDriver code. |
| generate_csharp_nunitB | Generate a C# NUnit + Selenium test class from the current browser session. |
| generate_github_actionsC | Generate a GitHub Actions CI workflow YAML for running the recorded test session. |
| generate_jenkins_pipelineA | Generate a declarative Jenkinsfile for running the recorded test session (Maven, Gradle, or pytest). |
| generate_gitlab_ciA | Generate a .gitlab-ci.yml pipeline for running the recorded test session (Maven, Gradle, or pytest). |
| generate_playwright_hintsC | Generate equivalent Playwright (TypeScript) code hints from the recorded browser session. |
| generate_java_page_objectA | Generate a Java Page Object class + matching test class from the recorded session. Produces two files: a Page Object (locators + fluent action methods) and a Test class that uses it. Supports TestNG and JUnit 5. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/seleniumboot/selenium-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server