
DrissionPage MCP
Local browser automation for MCP clients powered by DrissionPage.
- GitHub stars
- 480
- tools
- 69
- transport
- STDIO
- last updated
- Aug 21, 2026
Tools
69 toolsPublic tool metadata for what this MCP can expose to an agent.
page_navigateNavigate to any URL; target an existing `tab_id`, or combine `new_tab=true` with optional `background`, `new_window`, or `new_context`; `observe` returns a change summary
Navigate to any URL; target an existing `tab_id`, or combine `new_tab=true` with optional `background`, `new_window`, or `new_context`; `observe` returns a change summary
No parameter schema in public metadata yet.
page_navigate_with_http_authNavigate through a scoped HTTP auth challenge in a dedicated disposable Chromium context without returning credentials
Navigate through a scoped HTTP auth challenge in a dedicated disposable Chromium context without returning credentials
No parameter schema in public metadata yet.
page_go_backNavigate backward in browser history
Navigate backward in browser history
No parameter schema in public metadata yet.
page_go_forwardNavigate forward in browser history
Navigate forward in browser history
No parameter schema in public metadata yet.
page_refreshReload current page
Reload current page
No parameter schema in public metadata yet.
tab_listList open browser tabs with stable MCP tab IDs
List open browser tabs with stable MCP tab IDs
No parameter schema in public metadata yet.
tab_switchSwitch to a tab returned by `tab_list`
Switch to a tab returned by `tab_list`
No parameter schema in public metadata yet.
tab_closeReject new work, drain in-flight actions, then close one tab without closing the whole browser
Reject new work, drain in-flight actions, then close one tab without closing the whole browser
No parameter schema in public metadata yet.
element_findFind one element by CSS selector or XPath; bare selectors like `h1` are treated as CSS
Find one element by CSS selector or XPath; bare selectors like `h1` are treated as CSS
No parameter schema in public metadata yet.
element_find_allExtract bounded repeated elements with text, attributes, and recommended selectors
Extract bounded repeated elements with text, attributes, and recommended selectors
No parameter schema in public metadata yet.
element_clickClick any element with additive left/right/middle and single/double-click semantics
Click any element with additive left/right/middle and single/double-click semantics
No parameter schema in public metadata yet.
element_click_and_downloadCorrelate one selector, coordinate, or keyboard trigger with one integrity-checked artifact under `DP_MCP_DOWNLOAD_ROOT`
Correlate one selector, coordinate, or keyboard trigger with one integrity-checked artifact under `DP_MCP_DOWNLOAD_ROOT`
No parameter schema in public metadata yet.
element_typeInput text into elements
Input text into elements
No parameter schema in public metadata yet.
element_upload_fileUse `element_upload_file(paths=[...])` to upload files from `DP_MCP_UPLOAD_ROOT` to `input[type=file]`
Use `element_upload_file(paths=[...])` to upload files from `DP_MCP_UPLOAD_ROOT` to `input[type=file]`
No parameter schema in public metadata yet.
element_click_and_uploadArm Chromium's file chooser, click its trigger, inject approved files, and clean interception without an operating-system picker
Arm Chromium's file chooser, click its trigger, inject approved files, and clean interception without an operating-system picker
No parameter schema in public metadata yet.
element_scroll_into_viewBring an element into the viewport before acting
Bring an element into the viewport before acting
No parameter schema in public metadata yet.
element_hoverHover an element to trigger menu/tooltip states
Hover an element to trigger menu/tooltip states
No parameter schema in public metadata yet.
element_selectSelect an option by value, text, or index
Select an option by value, text, or index
No parameter schema in public metadata yet.
element_checkCheck or uncheck checkbox/radio controls
Check or uncheck checkbox/radio controls
No parameter schema in public metadata yet.
element_get_textGet element or page text
Get element or page text
No parameter schema in public metadata yet.
element_get_attributeGet an HTML attribute
Get an HTML attribute
No parameter schema in public metadata yet.
element_get_propertyGet a live DOM property such as an input value
Get a live DOM property such as an input value
No parameter schema in public metadata yet.
element_get_htmlGet element or page HTML
Get element or page HTML
No parameter schema in public metadata yet.
element_state_getRead live DrissionPage state flags and document/viewport geometry for one element
Read live DrissionPage state flags and document/viewport geometry for one element
No parameter schema in public metadata yet.
page_screenshotCapture an inline full-page or viewport screenshot
Capture an inline full-page or viewport screenshot
No parameter schema in public metadata yet.
page_screenshot_saveSave a screenshot under `DP_MCP_SCREENSHOT_ROOT`
Save a screenshot under `DP_MCP_SCREENSHOT_ROOT`
No parameter schema in public metadata yet.
page_export_artifactGenerate a managed PDF or MHTML artifact under `DP_MCP_ARTIFACT_ROOT` with SHA-256 and receipt evidence
Generate a managed PDF or MHTML artifact under `DP_MCP_ARTIFACT_ROOT` with SHA-256 and receipt evidence
No parameter schema in public metadata yet.
page_snapshotReturn a bounded page outline with headings, links, buttons, inputs, forms, and selector recommendations
Return a bounded page outline with headings, links, buttons, inputs, forms, and selector recommendations
No parameter schema in public metadata yet.
page_accessibility_snapshotReturn a bounded Chromium accessibility tree for the page or a scoped element, with field values redacted unless explicitly requested
Return a bounded Chromium accessibility tree for the page or a scoped element, with field values redacted unless explicitly requested
No parameter schema in public metadata yet.
page_observeReturn a compact page fingerprint with URL, title, counts, visible text samples, active element, and recent console summary
Return a compact page fingerprint with URL, title, counts, visible text samples, active element, and recent console summary
No parameter schema in public metadata yet.
page_evaluateRun bounded JavaScript in the current page and return a JSON-safe result
Run bounded JavaScript in the current page and return a JSON-safe result
No parameter schema in public metadata yet.
page_scrollUse `page_scroll(pixels=...)` for relative scrolling, or pass `x`/`y` for an absolute position
Use `page_scroll(pixels=...)` for relative scrolling, or pass `x`/`y` for an absolute position
No parameter schema in public metadata yet.
keyboard_pressSend keys to the active element/page without echoing the input in results
Send keys to the active element/page without echoing the input in results
No parameter schema in public metadata yet.
page_resizeAdjust browser window
Adjust browser window
No parameter schema in public metadata yet.
page_pointer_moveMove to exact viewport CSS coordinates with `direct` or bounded deterministic `natural` motion
Move to exact viewport CSS coordinates with `direct` or bounded deterministic `natural` motion
No parameter schema in public metadata yet.
page_pointer_dragPerform one failure-safe coordinate drag through up to six optional ordered waypoints with the selected profile
Perform one failure-safe coordinate drag through up to six optional ordered waypoints with the selected profile
No parameter schema in public metadata yet.
page_pointer_drag_elementResolve source and destination geometry immediately before dragging; supports CSS/XPath in the top document or one same-origin iframe, plus CSS paths through nested open Shadow DOM hosts
Resolve source and destination geometry immediately before dragging; supports CSS/XPath in the top document or one same-origin iframe, plus CSS paths through nested open Shadow DOM hosts
No parameter schema in public metadata yet.
page_click_xyMove with `direct` or `natural` motion, optionally wait for an explicit delay, then press and release at the exact target
Move with `direct` or `natural` motion, optionally wait for an explicit delay, then press and release at the exact target
No parameter schema in public metadata yet.
page_closeClose browser
Close browser
No parameter schema in public metadata yet.
page_get_urlGet current URL
Get current URL
No parameter schema in public metadata yet.
page_dialog_observeWait for and inspect a pending native alert, confirm, or prompt without handling it
Wait for and inspect a pending native alert, confirm, or prompt without handling it
No parameter schema in public metadata yet.
page_dialog_respondUse `page_dialog_respond(action="accept")` (or `"dismiss"`) for one pending alert, confirm, or prompt
Use `page_dialog_respond(action="accept")` (or `"dismiss"`) for one pending alert, confirm, or prompt
No parameter schema in public metadata yet.
frame_listList iframe/frame contexts without changing global frame state
List iframe/frame contexts without changing global frame state
No parameter schema in public metadata yet.
frame_snapshotUse `frame_snapshot(frame_selector="...")` or `frame_index` to inspect one iframe with bounded outline data
Use `frame_snapshot(frame_selector="...")` or `frame_index` to inspect one iframe with bounded outline data
No parameter schema in public metadata yet.
frame_findFind an element inside a selected iframe
Find an element inside a selected iframe
No parameter schema in public metadata yet.
shadow_findFind one element inside a shadow root exposed by the current supported DrissionPage runtime, including tested closed roots
Find one element inside a shadow root exposed by the current supported DrissionPage runtime, including tested closed roots
No parameter schema in public metadata yet.
shadow_find_allExtract repeated elements from a DrissionPage-exposed shadow root
Extract repeated elements from a DrissionPage-exposed shadow root
No parameter schema in public metadata yet.
browser_headers_setReplace extra request headers and return names with redacted values; an empty object clears them
Replace extra request headers and return names with redacted values; an empty object clears them
No parameter schema in public metadata yet.
browser_user_agent_setOverride the user agent and optional platform, returning both the accepted and previous user agents
Override the user agent and optional platform, returning both the accepted and previous user agents
No parameter schema in public metadata yet.
browser_cache_clearClear HTTP cache while preserving Cookies, localStorage, and sessionStorage
Clear HTTP cache while preserving Cookies, localStorage, and sessionStorage
No parameter schema in public metadata yet.
browser_permission_getQuery one browser permission for the current document origin without opening an OS prompt
Query one browser permission for the current document origin without opening an OS prompt
No parameter schema in public metadata yet.
browser_permission_setUse `browser_permission_set(setting="granted")` (or `"denied"`/`"prompt"`) for an exact origin/current Chromium context
Use `browser_permission_set(setting="granted")` (or `"denied"`/`"prompt"`) for an exact origin/current Chromium context
No parameter schema in public metadata yet.
browser_permissions_resetReset permission overrides for the current Chromium context
Reset permission overrides for the current Chromium context
No parameter schema in public metadata yet.
browser_cookies_getRead normalized cookies with values redacted by default
Read normalized cookies with values redacted by default
No parameter schema in public metadata yet.
browser_cookies_setSet up to 100 cookies in one call and return accepted metadata with redacted values
Set up to 100 cookies in one call and return accepted metadata with redacted values
No parameter schema in public metadata yet.
browser_cookies_deleteDelete one named cookie with optional URL/domain/path scope
Delete one named cookie with optional URL/domain/path scope
No parameter schema in public metadata yet.
browser_cookies_clearClear all browser cookies
Clear all browser cookies
No parameter schema in public metadata yet.
storage_getRead localStorage/sessionStorage by key or as a map, with values redacted unless `include_values=true`
Read localStorage/sessionStorage by key or as a map, with values redacted unless `include_values=true`
No parameter schema in public metadata yet.
storage_setSet one localStorage/sessionStorage item without echoing the value
Set one localStorage/sessionStorage item without echoing the value
No parameter schema in public metadata yet.
storage_clearClear one storage key or an entire storage area
Clear one storage key or an entire storage area
No parameter schema in public metadata yet.
page_console_logsRead bounded browser console messages with level filtering, cursor pagination, and limits
Read bounded browser console messages with level filtering, cursor pagination, and limits
No parameter schema in public metadata yet.
wait_for_elementWait for element to appear (with timeout)
Wait for element to appear (with timeout)
No parameter schema in public metadata yet.
wait_for_urlUse `wait_for_url(url_pattern="...")` until the current URL contains the supplied text
Use `wait_for_url(url_pattern="...")` until the current URL contains the supplied text
No parameter schema in public metadata yet.
wait_untilUse `wait_until(condition="text_contains", value="...")` or another documented condition/value pair
Use `wait_until(condition="text_contains", value="...")` or another documented condition/value pair
No parameter schema in public metadata yet.
wait_timeDelay execution
Delay execution
No parameter schema in public metadata yet.
network_listen_startStart bounded HTTP/XHR/Fetch observation through DrissionPage
Start bounded HTTP/XHR/Fetch observation through DrissionPage
No parameter schema in public metadata yet.
network_listen_waitWait for bounded packet metadata with optional redacted headers or body excerpts
Wait for bounded packet metadata with optional redacted headers or body excerpts
No parameter schema in public metadata yet.
network_listen_stopStop observation and optionally clear queued packets
Stop observation and optionally clear queued packets
No parameter schema in public metadata yet.
network_blocked_urls_setUse `network_blocked_urls_set(urls=[...])` to replace blocked URL patterns; an empty list clears them
Use `network_blocked_urls_set(urls=[...])` to replace blocked URL patterns; an empty list clears them
No parameter schema in public metadata yet.
Sponsors
Readme
DrissionPage MCP Server
Professional browser automation for Codex, Claude Code, and MCP clients, powered by DrissionPage.
DrissionPage is a Python web automation library built around direct Chromium/CDP control with requests-style HTTP session support. This server exposes its browser-facing capabilities as typed, atomic MCP tools.
Details
- Repository
- github.com/jumodada/drissionpage-mcp-server
- Website
- github.com/jumodada/Drissionpage-MCP-Server
- Categories
- Web & Browser Automation, Automation & Workflows
- Package
drissionpage-mcp- Transport
- STDIO
- Registry
- MCP registry, active