Skip to main content
Glama
jumodada

DrissionPage MCP Server

by jumodada

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoThe logging level for the server (e.g., DEBUG, INFO, WARNING, ERROR).
CHROME_PATHNoCustom 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

CapabilityDetails
tools
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
page_navigateC

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_backC

Go back to the previous page in browser history

page_go_forwardB

Go forward to the next page in browser history

page_refreshC

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_resizeC

Resize the browser window to specified dimensions

page_screenshotB

Take an inline screenshot of the current page

page_screenshot_saveB

Save a screenshot to a local path under DP_MCP_SCREENSHOT_ROOT

page_export_artifactC

Generate one PDF or MHTML file under DP_MCP_ARTIFACT_ROOT and return checksum, safe relative path, and exact-once receipt evidence.

page_snapshotB

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_observeB

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_xyB

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 return header names with values redacted; 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_resetB

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_downloadB

Perform one selector, coordinate, or keyboard trigger, await one completed download, and return an integrity-checked safe artifact receipt.

page_console_logsB

Read bounded browser console messages from the current tab. Supports level filtering, cursor pagination, and a maximum result limit.

element_findB

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_clickB

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_textC

Get text from an element or the whole page

element_get_attributeC

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_htmlB

Get HTML from an element or the whole page

element_state_getB

Return DrissionPage element state and page/viewport geometry for a selector or accessibility target.

element_upload_fileB

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_uploadB

Arm Chromium's file chooser, click one trigger, inject approved files, and always remove interception without opening a native operating-system picker.

page_scrollC

Scroll the current page by direction or to a position.

element_scroll_into_viewB

Scroll an element into the viewport before a later action.

element_hoverC

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_selectC

Select an option from a select element by value, text, or index.

element_checkC

Set a checkbox or radio element to checked/unchecked.

frame_listB

List iframe/frame contexts on the current page without changing global state.

frame_snapshotC

Return a bounded page outline from a selected iframe/frame.

frame_findB

Find an element inside a selected iframe/frame without global frame state.

shadow_findB

Find one element inside a shadow root exposed by the supported DrissionPage runtime.

shadow_find_allC

Find repeated elements inside a shadow root exposed by the supported DrissionPage runtime.

browser_cookies_getB

Read normalized cookies with values redacted by default.

browser_cookies_setA

Set a bounded batch of browser cookies. Successful results preserve accepted metadata while redacting cookie values.

browser_cookies_deleteB

Delete one named browser cookie with optional URL/domain/path scope.

browser_cookies_clearB

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_elementB

Wait for an element to appear on the page. Bare selectors are treated as CSS; use text:... for text matching.

wait_for_urlB

Wait for the current URL to contain a substring

wait_timeB

Wait for a specific amount of time

wait_untilB

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_stopA

Stop beta network observation for the active tab and optionally clear it.

network_blocked_urls_setB

Replace URL patterns blocked for the current tab. Successful results echo patterns; an empty list clears them.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
skills_catalogDiscovery metadata for optional Skills published separately from the standalone MCP server.

TDQS

C2.9/5.0

Scored across 69 tools

Disambiguation3/5

Many tools have overlapping purposes, such as page_screenshot/page_screenshot_save/page_export_artifact, multiple snapshot variants (page_snapshot, page_accessibility_snapshot, page_observe, frame_snapshot), click variants (element_click, page_click_xy, element_click_and_download, element_click_and_upload), and wait_for_element vs wait_until. Descriptions are detailed enough to differentiate most cases, but the large number of similar granular tools creates real misselection risk.

Naming Consistency4/5

All names use snake_case with clear prefix-based grouping (page_, element_, browser_, frame_, shadow_, storage_, wait_, network_, tab_). There are minor ordering deviations: some tools put the action immediately after the prefix (page_get_url, element_get_text) while others put the resource first (browser_headers_set, browser_cookies_get), but the pattern remains largely predictable.

Tool Count1/5

With 69 tools, the count is far beyond the typical 3-15 range and crosses the rubric's threshold for extreme mismatch (50+ tools). Many operations could be consolidated (e.g., pointer move/drag/click_xy, multiple snapshot variants), making the surface unnecessarily heavy for agent use.

Completeness4/5

The tool surface is exceptionally comprehensive, covering navigation, interactions, element queries, cookies, storage, network observation, dialogs, frames, shadow DOM, uploads/downloads, permissions, headers, and tab management. Minor gaps remain, such as dedicated double-click/right-click element actions, element-level screenshots, and explicit browser context creation/teardown beyond the HTTP auth path.

Maintenance

ActivityActive
ResponsivenessWithin a week