DrissionPage MCP
PYPI · DRISSIONPAGE-MCP
Local browser automation for MCP clients powered by DrissionPage.
Available components
Last scanned (16 hours ago)
Scores higher than 99% of PyPI servers
Category Browser Automation
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security100
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 43 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to jumodada/Drissionpage-MCP-Server). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 36 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability89
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 4571 tokens (~65/item across 70 items; 69 tools + 1 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management93
- Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 69% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 70 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 15 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Oct 26 +12
- Known CVEs: unverified → pass ▲ security
- Dependency health: unverified → 0.99 ▲ functional
- 12 Oct 26 −12
- Known CVEs: pass → unverified ▼ security
- Dependency health: 0.99 → unverified ▼ functional
- 6 Oct 26 −2
- Stability: pass → 0.83 functional
- 4 Oct 26 0
- Stability: 0.97 → pass security
- 3 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Sept 26 +11
- Provenance: unverified → pass ▲ security
- The attested source repository moved: jumodada/Drissionpage-MCP-Server security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 16 Oct 2026 · Analysed pypi/drissionpage-mcp@0.8.5
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | pypi |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | jumodada/Drissionpage-MCP-Server |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/jumodada/Drissionpage-MCP-Server/.github/workflows/publish-mcp-registry.yml@refs/tags/v0.8.5 |
| Rekor log index | 2546208681 |
| Predicate type | PyPI publish attestation https://docs.pypi.org/attestations/publish/v1 |
| Subject digest | sha256:3468ff41b895b2dc66ef3b26d48f4d17dd9ca4b03a7416f7db8e5a2e381febc1 |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Background: Why install scripts are a supply-chain risk →
Dependencies 43 packages
| Packages resolved | 43 |
|---|---|
| Stale | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
browser_cache_clear Clear Browser Cache ~19
Clear HTTP cache without clearing cookies or Web Storage.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
browser_cookies_clear Clear Browser Cookies ~19
Clear all cookies from the active browser context.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
browser_cookies_delete Delete Browser Cookie ~44
Delete one named browser cookie with optional URL/domain/path scope.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | – | – | – |
| name | string | yes | – |
| path | – | – | – |
| url | – | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
browser_cookies_get Get Browser Cookies ~55
Read normalized cookies with values redacted by default.
| Name | Type | Req | Description |
|---|---|---|---|
| all_domains | boolean | – | – |
| all_info | boolean | – | – |
| include_values | boolean | – | Return cookie values. Defaults to false to avoid leaking secrets. |
Structured output declared, but exposes no named fields.
No examples provided.
browser_cookies_set Set Browser Cookies ~39
Set a bounded batch of browser cookies. The successful result echoes cookie values by default for MCP callbacks and verification.
| Name | Type | Req | Description |
|---|---|---|---|
| cookies | array | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
browser_headers_set Set Browser Headers ~52
Replace extra HTTP request headers for the current tab. Successful results echo header values for MCP callbacks; an empty object clears them.
| Name | Type | Req | Description |
|---|---|---|---|
| headers | object | yes | Extra request headers. An empty object clears all configured values. |
Structured output declared, but exposes no named fields.
No examples provided.
browser_permission_get Get Browser Permission ~33
Query one browser permission state for the current document origin without opening an operating-system prompt.
| Name | Type | Req | Description |
|---|---|---|---|
| permission | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
browser_permission_set Set Browser Permission ~60
Set one permission to granted, denied, or prompt for one bounded origin in the current Chromium context.
| Name | Type | Req | Description |
|---|---|---|---|
| origin | – | – | Exact HTTP(S) origin. Defaults to the current page origin. |
| permission | string | yes | – |
| setting | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
browser_permissions_reset Reset Browser Permissions ~20
Reset all Chromium permission overrides in the current browser context.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
browser_user_agent_set Set Browser User Agent ~44
Override the current tab user agent and optional platform, returning the previous user agent so callers can restore it.
| Name | Type | Req | Description |
|---|---|---|---|
| platform | – | – | – |
| user_agent | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
element_check Check Element ~60
Set a checkbox or radio element to checked/unchecked.
| Name | Type | Req | Description |
|---|---|---|---|
| by_js | boolean | – | Use JavaScript-backed checking. |
| checked | boolean | – | Desired checked state. |
| selector | – | yes | String locator or structured checkbox target. |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
element_click Click Element ~131
Click an element found by CSS selector or XPath. Bare selectors are treated as CSS; use text:... for text matching.
| Name | Type | Req | Description |
|---|---|---|---|
| button | string | – | Native pointer button to use. |
| click_count | integer | – | Native click count; 2 requests double-click semantics. |
| observe | boolean | – | Return a compact before/after page change summary. |
| selector | – | yes | CSS selector or XPath to find the element. Bare selectors are CSS; use text:... for text matching or explicit tag:/css:/xpath:/@attr locators. |
| timeout | number | – | Timeout in seconds to wait for element |
Structured output declared, but exposes no named fields.
No examples provided.
element_click_and_download Click And Download ~130
Perform one selector, coordinate, or keyboard trigger, await one completed download, and return an integrity-checked safe artifact receipt.
| Name | Type | Req | Description |
|---|---|---|---|
| expected_filename | – | – | Optional exact basename constraint for the downloaded artifact. |
| expected_mime_type | – | – | Optional MIME constraint inferred from the completed filename. |
| operation_key | – | – | Optional live-task key. Reusing the same key replays the frozen artifact result without clicking again. |
| selector | – | yes | Selector/accessibility target, viewport coordinate click, or keyboard input that starts one download. |
| timeout | number | – | Shared maximum seconds for target resolution, click, and download completion. |
Structured output declared, but exposes no named fields.
No examples provided.
element_click_and_upload Click And Upload ~64
Arm Chromium's file chooser, click one trigger, inject approved files, and always remove interception without opening a native operating-system picker.
| Name | Type | Req | Description |
|---|---|---|---|
| paths | array | yes | – |
| selector | – | yes | Selector/accessibility target that opens a file chooser. |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
element_find Find Element ~87
Find an element on the page using CSS selector or XPath. Bare selectors are treated as CSS; use text:... for text matching.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | – | yes | CSS selector or XPath to find the element. Bare selectors are CSS; use text:... for text matching or explicit tag:/css:/xpath:/@attr locators. |
| timeout | number | – | Timeout in seconds to wait for element |
Structured output declared, but exposes no named fields.
No examples provided.
element_find_all Find All Elements ~86
Find multiple matching elements with bounded text/attribute summaries and recommended selectors for repeated lists, cards, and tables.
| Name | Type | Req | Description |
|---|---|---|---|
| include_html | boolean | – | Include bounded outerHTML excerpts for each returned element |
| limit | integer | – | Maximum number of matched elements to return |
| selector | – | yes | CSS selector, XPath, or explicit DrissionPage locator for repeated elements. Bare selectors are CSS. |
Structured output declared, but exposes no named fields.
No examples provided.
element_get_attribute Get Attribute ~66
Get an attribute value from an element
| Name | Type | Req | Description |
|---|---|---|---|
| attribute | string | yes | Attribute name to retrieve |
| selector | – | yes | CSS selector or XPath to find the element. Bare selectors are CSS; use text:... for text matching or explicit tag:/css:/xpath:/@attr locators. |
Structured output declared, but exposes no named fields.
No examples provided.
element_get_html Get HTML ~46
Get HTML from an element or the whole page
| Name | Type | Req | Description |
|---|---|---|---|
| selector | – | – | CSS selector or XPath; empty means whole page. Bare selectors are CSS; use text:... for text matching. |
Structured output declared, but exposes no named fields.
No examples provided.
element_get_property Get Property ~81
Get a live DOM property value from an element, such as an input's current value
| Name | Type | Req | Description |
|---|---|---|---|
| property | string | yes | DOM property to retrieve, e.g. value |
| selector | – | yes | CSS selector or XPath to find the element. Bare selectors are CSS; use text:... for text matching or explicit tag:/css:/xpath:/@attr locators. |
Structured output declared, but exposes no named fields.
No examples provided.
element_get_text Get Text ~46
Get text from an element or the whole page
| Name | Type | Req | Description |
|---|---|---|---|
| selector | – | – | CSS selector or XPath; empty means whole page. Bare selectors are CSS; use text:... for text matching. |
Structured output declared, but exposes no named fields.
No examples provided.
element_hover Hover Element ~53
Move the mouse over an element.
| Name | Type | Req | Description |
|---|---|---|---|
| offset_x | – | – | Optional hover X offset. |
| offset_y | – | – | Optional hover Y offset. |
| selector | – | yes | String locator or structured element target. |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
element_scroll_into_view Scroll Element Into View ~52
Scroll an element into the viewport before a later action.
| Name | Type | Req | Description |
|---|---|---|---|
| center | boolean | – | Center the element in the viewport. |
| selector | – | yes | String locator or structured element target. |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
element_select Select Element Option ~71
Select an option from a select element by value, text, or index.
| Name | Type | Req | Description |
|---|---|---|---|
| by | string | – | Select by value, text, or index. |
| selector | – | yes | String locator or structured select target. |
| timeout | number | – | – |
| value | string | yes | Option value, text, or index string. |
Structured output declared, but exposes no named fields.
No examples provided.
element_state_get Get Element State ~52
Return DrissionPage element state and page/viewport geometry for a selector or accessibility target.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | – | yes | String locator or structured selector/accessibility target with frame and shadow scope. |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
element_type Type Text ~110
Type text into an input element
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | – | Clear existing input content before typing |
| observe | boolean | – | Return a compact before/after page change summary. |
| selector | – | yes | CSS selector or XPath to find the input element. Bare selectors are CSS; use text:... for text matching or explicit tag:/css:/xpath:/@attr locators. |
| text | string | yes | Text to type into the element |
| timeout | number | – | Timeout in seconds to wait for element |
Structured output declared, but exposes no named fields.
No examples provided.
element_upload_file Upload File ~100
Set files on an input[type=file]. Paths must exist under DP_MCP_UPLOAD_ROOT and response data only returns safe file names.
| Name | Type | Req | Description |
|---|---|---|---|
| paths | array | yes | One or more local file paths under DP_MCP_UPLOAD_ROOT. Absolute paths are accepted but never echoed back in tool results. |
| selector | – | yes | CSS/XPath/DrissionPage locator for an input[type=file]. |
| timeout | number | – | Timeout in seconds to wait for the file input. |
Structured output declared, but exposes no named fields.
No examples provided.
frame_find Find Element In Frame ~56
Find an element inside a selected iframe/frame without global frame state.
| Name | Type | Req | Description |
|---|---|---|---|
| frame_index | integer | – | – |
| frame_selector | string | – | – |
| selector | string | yes | Selector inside the target frame. |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
frame_list List Frames ~28
List iframe/frame contexts on the current page without changing global state.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
frame_snapshot Frame Snapshot ~83
Return a bounded page outline from a selected iframe/frame.
| Name | Type | Req | Description |
|---|---|---|---|
| frame_index | integer | – | Zero-based frame index. |
| frame_selector | string | – | Optional iframe/frame selector. When empty, frame_index is used. |
| include_html | boolean | – | – |
| max_elements | integer | – | – |
| max_text_chars | integer | – | – |
| timeout | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
keyboard_press Keyboard Press ~57
Send keyboard text/keys to the active page element without echoing the input in the result.
| Name | Type | Req | Description |
|---|---|---|---|
| interval | number | – | Optional interval between key events in seconds. |
| keys | string | yes | Text or DrissionPage key string to send. |
Structured output declared, but exposes no named fields.
No examples provided.
network_blocked_urls_set Set Blocked URLs ~50
Replace URL patterns blocked for the current tab. Successful results echo patterns; an empty list clears them.
| Name | Type | Req | Description |
|---|---|---|---|
| urls | array | yes | URL patterns with optional wildcards. An empty list clears them. |
Structured output declared, but exposes no named fields.
No examples provided.
network_listen_start Start Network Listener ~124
Start beta HTTP/XHR/Fetch network observation for the active tab. This observes packets only; it does not intercept or modify requests.
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | – | Clear any existing listener queue before starting. |
| is_regex | boolean | – | Treat targets as regular expressions when targets are provided. |
| method | string | – | Optional HTTP method filter such as GET or POST. |
| resource_type | string | – | Optional resource type filter such as Fetch, XHR, or Document. |
| targets | array | – | Optional URL substrings or regex patterns passed to DrissionPage. |
Structured output declared, but exposes no named fields.
No examples provided.
network_listen_stop Stop Network Listener ~36
Stop beta network observation for the active tab and optionally clear it.
| Name | Type | Req | Description |
|---|---|---|---|
| clear | boolean | – | Clear the listener queue while stopping. |
Structured output declared, but exposes no named fields.
No examples provided.
network_listen_wait Wait Network Listener ~114
Wait for observed HTTP/XHR/Fetch packets and return bounded metadata. Bodies and headers are opt-in and sensitive headers are redacted.
| Name | Type | Req | Description |
|---|---|---|---|
| include_body | boolean | – | Include bounded request/response body excerpts. |
| include_headers | boolean | – | Include request/response headers with sensitive names redacted. |
| limit | integer | – | Maximum packets to return. |
| max_body_chars | integer | – | Maximum characters for each body excerpt when include_body is true. |
| timeout | number | – | Maximum seconds to wait for packets. |
Structured output declared, but exposes no named fields.
No examples provided.
page_accessibility_snapshot Accessibility Snapshot ~80
Return a bounded Chromium accessibility tree for the page or a scoped selector/frame/shadow target.
| Name | Type | Req | Description |
|---|---|---|---|
| include_ignored | boolean | – | – |
| include_values | boolean | – | Return accessibility field values. Defaults to false to avoid leaking secrets. |
| max_nodes | integer | – | – |
| scope | – | – | Optional selector/accessibility element whose AX subtree is returned. |
Structured output declared, but exposes no named fields.
No examples provided.
page_click_xy Click Coordinates ~176
Move the viewport pointer to exact CSS pixel coordinates using a direct or bounded natural trajectory, optionally wait for an explicit delay, then press and release one mouse button.
| Name | Type | Req | Description |
|---|---|---|---|
| button | string | – | Mouse button to press and release |
| delay_before_press_ms | integer | – | Optional delay after pointer arrival and before mousePressed. This is timing control, not target-stability detection; moving targets require a fresh screenshot or selector-first action. |
| element | string | – | Human-readable element or interaction description |
| profile | string | – | Movement profile: direct emits one exact move; natural emits a deterministic 24-step eased cubic Bezier path with bounded 8-14ms intervals and an exact endpoint |
| x | number | yes | Viewport X coordinate in CSS pixels |
| y | number | yes | Viewport Y coordinate in CSS pixels |
Structured output declared, but exposes no named fields.
No examples provided.
page_close Close Browser ~14
Close the current page/browser
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
page_console_logs Console Logs ~86
Read bounded browser console messages from the current tab. Supports level filtering, cursor pagination, and a maximum result limit.
| Name | Type | Req | Description |
|---|---|---|---|
| level | string | – | Console level filter: all, error, warning, warn, info, or log. |
| limit | integer | – | Maximum number of console entries to return. |
| since | integer | – | Return only log entries with index greater than this cursor. |
Structured output declared, but exposes no named fields.
No examples provided.
page_dialog_observe Observe Page Dialog ~66
Observe a pending native alert, confirm, or prompt and return its bounded message without handling it.
| Name | Type | Req | Description |
|---|---|---|---|
| max_message_chars | integer | – | Maximum dialog message characters returned to the MCP client. |
| timeout | number | – | Seconds to wait for a pending alert, confirm, or prompt. |
Structured output declared, but exposes no named fields.
No examples provided.
page_dialog_respond Respond To Dialog ~89
Accept or dismiss one pending alert, confirm, or prompt through a capability-probed native DrissionPage dialog path.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | – |
| prompt_text | – | – | Text for an accepted prompt. The value is never returned. |
| timeout | number | – | Maximum seconds to wait for a pending dialog. Zero checks immediately; an already-pending dialog still receives a bounded native response budget. |
Structured output declared, but exposes no named fields.
No examples provided.
page_evaluate Evaluate JavaScript ~92
Run a bounded JavaScript function body in the current page and return a JSON-safe result. This can mutate the page.
| Name | Type | Req | Description |
|---|---|---|---|
| args | array | – | JSON arguments passed to the JavaScript function body |
| max_chars | integer | – | Maximum serialized JSON characters returned in result |
| script | string | yes | JavaScript function body to run in the current page. Use return to provide a JSON-serializable result. |
Structured output declared, but exposes no named fields.
No examples provided.
page_export_artifact Export Page Artifact ~142
Generate one PDF or MHTML file under DP_MCP_ARTIFACT_ROOT and return checksum, safe relative path, and exact-once receipt evidence.
| Name | Type | Req | Description |
|---|---|---|---|
| filename | – | – | – |
| format | string | yes | – |
| landscape | boolean | – | – |
| margin_bottom | number | – | – |
| margin_left | number | – | – |
| margin_right | number | – | – |
| margin_top | number | – | – |
| operation_key | – | – | – |
| page_ranges | string | – | – |
| paper_height | – | – | – |
| paper_width | – | – | – |
| prefer_css_page_size | boolean | – | – |
| print_background | boolean | – | – |
| scale | number | – | – |
Structured output declared, but exposes no named fields.
No examples provided.
page_get_url Get Current URL ~17
Get the current URL of the page
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
page_go_back Go Back ~19
Go back to the previous page in browser history
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
page_go_forward Go Forward ~19
Go forward to the next page in browser history
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
page_navigate Navigate to URL ~67
Navigate to a specific URL in the browser
| Name | Type | Req | Description |
|---|---|---|---|
| new_tab | boolean | – | Open the URL in a new browser tab instead of the current tab. |
| observe | boolean | – | Return a compact before/after page change summary. |
| url | string | yes | The URL to navigate to |
Structured output declared, but exposes no named fields.
No examples provided.
page_navigate_with_http_auth Navigate With HTTP Authentication ~79
Open an isolated Chromium context, answer a bounded HTTP auth challenge, clean Fetch handlers, and retain the isolated authenticated tab until it is closed.
| Name | Type | Req | Description |
|---|---|---|---|
| password | string | yes | – |
| realm | – | – | Optional exact HTTP authentication realm constraint. |
| timeout | number | – | – |
| url | string | yes | – |
| username | string | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
page_observe Observe Page ~70
Return a compact current-page fingerprint with URL, title, ready state, element counts, visible text samples, active element, and recent console summary.
| Name | Type | Req | Description |
|---|---|---|---|
| max_text_chars | integer | – | Maximum characters per visible text sample |
| max_texts | integer | – | Maximum number of visible text samples to return |
Structured output declared, but exposes no named fields.
No examples provided.
page_pointer_drag Drag Pointer Between Coordinates ~169
Perform one failure-safe viewport drag through optional ordered waypoints using direct or bounded natural movement while the button remains pressed. Always releases the button.
| Name | Type | Req | Description |
|---|---|---|---|
| button | string | – | Mouse button held during the drag |
| element | string | – | Human-readable draggable element or interaction description |
| end_x | number | yes | Viewport drag end X in CSS pixels |
| end_y | number | yes | Viewport drag end Y in CSS pixels |
| profile | string | – | Movement profile for the approach and every held segment: direct or deterministic bounded natural motion |
| start_x | number | yes | Viewport drag start X in CSS pixels |
| start_y | number | yes | Viewport drag start Y in CSS pixels |
| waypoints | array | – | Optional ordered viewport points visited while the button remains pressed |
Structured output declared, but exposes no named fields.
No examples provided.
page_pointer_drag_element Drag Element to Structured Destination ~87
Resolve a source element and element, offset, or track-ratio destination immediately before one failure-safe drag. Supports CSS/XPath in the top document or one same-origin iframe, plus CSS paths through nested open Shadow DOM hosts; use coordinate drag for visual-only targets.
| Name | Type | Req | Description |
|---|---|---|---|
| button | string | – | – |
| destination | – | yes | – |
| profile | string | – | – |
| source | – | yes | – |
Structured output declared, but exposes no named fields.
No examples provided.
How do I install the DrissionPage MCP server?
DrissionPage MCP runs locally as a PyPI package, launched with uvx drissionpage-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · drissionpage-mcp
claude mcp add jumodada-drissionpage-mcp -- uvx drissionpage-mcp
What is the DrissionPage MCP server?
DrissionPage MCP is listed in the public MCP registry as io.github.jumodada/drissionpage-mcp. Local browser automation for MCP clients powered by DrissionPage. This page covers its PyPI package (drissionpage-mcp).
Is the DrissionPage MCP server safe to use?
DrissionPage MCP scores 96 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 16 October 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the DrissionPage MCP server expose?
DrissionPage MCP exposes 69 tools: page_navigate, page_navigate_with_http_auth, page_go_back, page_go_forward, page_refresh, and 64 more. Their descriptions and schemas cost roughly 4,553 tokens of context every time the server is loaded.
Is the DrissionPage MCP server still maintained?
DrissionPage MCP is still listed as active in the MCP registry. We last reached this channel on 16 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the DrissionPage MCP server under?
DrissionPage MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.