DrissionPage MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | The logging level for the server (e.g., DEBUG, INFO, WARNING, ERROR). | |
| CHROME_PATH | No | Custom path to the Chrome or Chromium browser executable. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| page_navigateA | Navigate to a specific URL in the browser |
| page_navigate_with_http_authB | Open an isolated Chromium context, answer a bounded HTTP auth challenge, clean Fetch handlers, and retain the isolated authenticated tab until it is closed. |
| page_go_backA | Go back to the previous page in browser history |
| page_go_forwardA | Go forward to the next page in browser history |
| page_refreshA | Refresh the current page |
| tab_listA | List browser tabs tracked by the current DrissionPage MCP session. |
| tab_switchA | Switch the active browser tab by id from tab_list. |
| tab_closeA | Close a browser tab by id from tab_list without closing the whole browser. |
| page_resizeB | Resize the browser window to specified dimensions |
| page_screenshotA | Take an inline screenshot of the current page |
| page_screenshot_saveA | Save a screenshot to a local path under DP_MCP_SCREENSHOT_ROOT |
| page_export_artifactA | Generate one PDF or MHTML file under DP_MCP_ARTIFACT_ROOT and return checksum, safe relative path, and exact-once receipt evidence. |
| page_snapshotA | Return a bounded page outline with text excerpt, headings, links, buttons, inputs, forms, and recommended selectors. |
| page_accessibility_snapshotB | Return a bounded Chromium accessibility tree for the page or a scoped selector/frame/shadow target. |
| page_observeA | Return a compact current-page fingerprint with URL, title, ready state, element counts, visible text samples, active element, and recent console summary. |
| page_evaluateA | Run a bounded JavaScript function body in the current page and return a JSON-safe result. This can mutate the page. |
| page_pointer_moveA | Move the viewport pointer to exact CSS pixel coordinates without pressing a button, using either one direct move or a bounded natural trajectory. |
| page_pointer_dragA | 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. |
| page_pointer_drag_elementA | 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. |
| page_click_xyA | 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. |
| page_closeC | Close the current page/browser |
| page_get_urlA | Get the current URL of the page |
| browser_headers_setA | Replace extra HTTP request headers for the current tab. Successful results echo header values for MCP callbacks; an empty object clears them. |
| browser_user_agent_setA | Override the current tab user agent and optional platform, returning the previous user agent so callers can restore it. |
| browser_cache_clearA | Clear HTTP cache without clearing cookies or Web Storage. |
| browser_permission_getA | Query one browser permission state for the current document origin without opening an operating-system prompt. |
| browser_permission_setA | Set one permission to granted, denied, or prompt for one bounded origin in the current Chromium context. |
| browser_permissions_resetA | Reset all Chromium permission overrides in the current browser context. |
| page_dialog_observeA | Observe a pending native alert, confirm, or prompt and return its bounded message without handling it. |
| page_dialog_respondA | Accept or dismiss one pending alert, confirm, or prompt through a capability-probed native DrissionPage dialog path. |
| element_click_and_downloadA | Perform one selector, coordinate, or keyboard trigger, await one completed download, and return an integrity-checked safe artifact receipt. |
| page_console_logsA | Read bounded browser console messages from the current tab. Supports level filtering, cursor pagination, and a maximum result limit. |
| element_findA | Find an element on the page using CSS selector or XPath. Bare selectors are treated as CSS; use text:... for text matching. |
| element_find_allA | Find multiple matching elements with bounded text/attribute summaries and recommended selectors for repeated lists, cards, and tables. |
| element_clickA | Click an element found by CSS selector or XPath. Bare selectors are treated as CSS; use text:... for text matching. |
| element_typeC | Type text into an input element |
| element_get_textA | Get text from an element or the whole page |
| element_get_attributeA | Get an attribute value from an element |
| element_get_propertyA | Get a live DOM property value from an element, such as an input's current value |
| element_get_htmlA | Get HTML from an element or the whole page |
| element_state_getA | Return DrissionPage element state and page/viewport geometry for a selector or accessibility target. |
| element_upload_fileA | Set files on an input[type=file]. Paths must exist under DP_MCP_UPLOAD_ROOT and response data only returns safe file names. |
| element_click_and_uploadA | Arm Chromium's file chooser, click one trigger, inject approved files, and always remove interception without opening a native operating-system picker. |
| page_scrollA | Scroll the current page by direction or to a position. |
| element_scroll_into_viewA | Scroll an element into the viewport before a later action. |
| element_hoverB | Move the mouse over an element. |
| keyboard_pressB | Send keyboard text/keys to the active page element without echoing the input in the result. |
| element_selectA | Select an option from a select element by value, text, or index. |
| element_checkA | Set a checkbox or radio element to checked/unchecked. |
| frame_listA | List iframe/frame contexts on the current page without changing global state. |
| frame_snapshotA | Return a bounded page outline from a selected iframe/frame. |
| frame_findA | Find an element inside a selected iframe/frame without global frame state. |
| shadow_findA | Find one element inside a shadow root exposed by the supported DrissionPage runtime. |
| shadow_find_allA | Find repeated elements inside a shadow root exposed by the supported DrissionPage runtime. |
| browser_cookies_getA | Read normalized cookies with values redacted by default. |
| browser_cookies_setB | Set a bounded batch of browser cookies. The successful result echoes cookie values by default for MCP callbacks and verification. |
| browser_cookies_deleteA | Delete one named browser cookie with optional URL/domain/path scope. |
| browser_cookies_clearA | Clear all cookies from the active browser context. |
| storage_getA | Read localStorage or sessionStorage by key or as a bounded map, with values redacted unless explicitly requested. |
| storage_setA | Set one localStorage/sessionStorage item. The value is not echoed. |
| storage_clearA | Clear one key or all items from localStorage/sessionStorage. |
| wait_for_elementA | Wait for an element to appear on the page. Bare selectors are treated as CSS; use text:... for text matching. |
| wait_for_urlA | Wait for the current URL to contain a substring |
| wait_timeB | Wait for a specific amount of time |
| wait_untilA | Wait for observable page state: element present/visible/hidden/detached/clickable/stable, text contains/matches, or URL contains/matches. |
| network_listen_startA | Start beta HTTP/XHR/Fetch network observation for the active tab. This observes packets only; it does not intercept or modify requests. |
| network_listen_waitA | Wait for observed HTTP/XHR/Fetch packets and return bounded metadata. Bodies and headers are opt-in and sensitive headers are redacted. |
| network_listen_stopB | Stop beta network observation for the active tab and optionally clear it. |
| network_blocked_urls_setA | Replace URL patterns blocked for the current tab. Successful results echo patterns; an empty list clears them. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| skills_catalog | Discovery metadata for optional Skills published separately from the standalone MCP server. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jumodada/Drissionpage-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server