selenium-mcp-server-krishnapollu
v1.1.6
Published
Console-based MCP server for Selenium, compatible with IDEs and AI agents.
Readme
Selenium MCP Server (Console-based)
A console-based Model Context Protocol (MCP) server for Selenium WebDriver, compatible with IDEs and desktop AI agents. Communicates via stdin/stdout (no HTTP server required).
Features
- Multi-session browser management
- All major browser actions (navigation, click, type, clear, screenshot, etc.)
- Element queries (find, get text/attribute/property/tag, isDisplayed, isEnabled)
- Frame and window switching
- Script execution (sync/async)
- File upload
- Browser navigation (back, forward, refresh)
- Element hover and right-click
- Page info (source, title, URL)
- Cookie management (get, set, delete, getAll)
- Alert/dialog handling (accept, dismiss, getText, sendKeys)
- Window resizing and maximizing
- Element screenshot
- Wait for conditions (title, url, element state)
- Custom wait (sleep)
- Logging (for debugging)
Usage
1. Install dependencies
npm install2. Start the server
npm start3. Communicate via stdin/stdout
Send JSON commands (one per line) to stdin. Read JSON responses from stdout.
Example (PowerShell):
node src/server.jsExample command (start browser):
{"action": "start_browser", "browser": "chrome"}Example command (navigate):
{"action": "navigate", "url": "https://example.com"}Example command (find element):
{"action": "find_element", "by": "css", "value": "h1"}Example command (click):
{"action": "click", "by": "css", "value": "#submit"}Example command (get cookies):
{"action": "get_cookies"}Example command (accept alert):
{"action": "accept_alert"}Example command (execute script):
{"action": "execute_script", "script": "return document.title;"}4. Supported Actions
Send { "action": "help" } to get a list of all supported actions.
5. Sessions
- Each browser session gets a unique
sessionId. - Pass
sessionIdin commands to target a specific session. - Use
switch_sessionto change the default session.
6. Error Handling
- All responses have a
statusfield:okorerror. - On error, a
messagefield is included.
Notes
- Requires ChromeDriver/GeckoDriver/etc. in PATH for browser automation.
- For advanced scripting, see Selenium WebDriver JS API.
MIT License
