Token导航 LogoToken导航TokenDH.com
Drission Page Better MCP logo
浏览器工具stdio官方级别未说明来源级核验

Drission Page Better MCP

MCP Server

BetterMCP是一个增强版的DrissionPage MCP服务器,提供浏览器自动化、元素交互和页面管理功能,适用于AI工具集成和自动化测试。

工具数

55

提示词数

0

GitHub Stars

2

资源数

0
浏览器自动化PythonClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

crmmc

提供方

crmmc

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run pytest tests/unit -v

详细介绍

Drission页面优化MCP

更好的DrissionPage MCP服务器——涵盖了原始库的大部分功能、255个单元测试、100%的服务覆盖率、AI优化的工具调用和描述。

英语| 中文

______________________________________________________________________

为什么选择BetterMCP

更好的MCP注意
55工具涵盖浏览器、标签、导航、元素、表单、屏幕截图、网络、Cookie、存储、iframe、文件等原始库的大部分功能,开箱即用
255个单元测试17个测试模块+6个集成测试套件100%的服务覆盖率,每次提交都可验证
AI友好清晰的工具描述、明确的参数语义、统一的响应结构LLM在第一次调用时就能理解——更少的重试,更少的令牌浪费
元素缓存element_find 返回a element_id 用于后续调用中的直接重用无重复查找,更高效的交互
本机定位器语法#id .class @attr text: css: xpath: @@AND `@\OR`完整的DrissionPage语法支持
双重运输stdio + streamable-http适用于所有主要的AI编码工具

快速开始

先决条件

  • Python>=3.10
  • 紫外线
  • Chrome/Chromium浏览器

安装

git clone https://github.com/pureTrue/DrissionPage-BetterMCP.git
cd DrissionPage-BetterMCP
uv sync

配置您的AI工具

克劳德代码

项目根目录 .mcp.json:

{
  "mcpServers": {
    "drissionpage": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/DrissionPage-BetterMCP", "dp-mcp"]
    }
  }
}

或者通过CLI:

claude mcp add drissionpage -- uv run --directory /path/to/DrissionPage-BetterMCP dp-mcp

光标

.cursor/mcp.json (项目层面)或 ~/.cursor/mcp.json (全球):

{
  "mcpServers": {
    "drissionpage": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/DrissionPage-BetterMCP", "dp-mcp"]
    }
  }
}

VS代码(副本)

.vscode/mcp.json:

{
  "servers": {
    "drissionpage": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/DrissionPage-BetterMCP", "dp-mcp"]
    }
  }
}
注:VS代码使用 servers 作为顶级密钥,不是 mcpServers.

法典

.codex/config.toml (项目层面)或 ~/.codex/config.toml (全球):

[mcp_servers.drissionpage]
command = "uv"
args = ["run", "--directory", "/path/to/DrissionPage-BetterMCP", "dp-mcp"]

或者通过CLI:

codex mcp add drissionpage -- uv run --directory /path/to/DrissionPage-BetterMCP dp-mcp

替换 /path/to/DrissionPage-BetterMCP 与实际项目路径。

环境变量

可选,前缀为 DP_MCP_:

变量默认值描述
DP_MCP_DEFAULT_TIMEOUT15.0默认工具超时(秒)
DP_MCP_LOG_LEVELINFO日志记录级别
DP_MCP_NETWORK_CAPTURE_SIZE200要捕获的最大网络数据包数

复制 .env.example.env 并根据需要进行定制。

刀具清单

浏览器管理

工具说明
browser_connect连接到现有的Chrome或启动新实例;支持无头、代理、user_agent
browser_info获取浏览器状态:地址、标签计数、进程ID
browser_quit关闭浏览器并释放所有资源

选项卡管理

工具说明
tab_new打开一个新选项卡,可选择导航到URL
tab_close关闭选项卡;默认为当前选项卡
tab_switch切换到特定选项卡
tab_list列出所有打开的选项卡
tab_find按标题和/或URL搜索选项卡
tab_info获取选项卡详细信息

页面导航

工具说明
page_navigate导航到URL;返回最终URL和页面标题
page_back / page_forward在历史中前进或后退
page_refresh刷新页面;可选择忽略缓存
page_stop停止页面加载

元素交互

工具说明
element_find找到一个元素;返回缓存的 element_id
element_find_all查找所有匹配的元素
element_wait等待元素状态(存在/可见/隐藏/删除)
element_click单击一个元素;支持左/右/中/双击
element_input在输入中键入文本;可选择先清除
element_clear清除输入字段
element_hover将鼠标悬停在元素上
element_drag拖动到目标元素或像素偏移处
element_get_text获取可见文本内容
element_get_attr获取HTML属性值
element_get_info获取完整详细信息:标签、文本、rect、attrs、HTML、状态
element_select在中选择一个选项 `` 元素
element_get_options获取a的所有选项 `` 元素
element_scroll_into_view滚动直到元素可见

截图

工具说明
page_screenshot页面截图;支持全页面捕获
element_screenshot特定元素的截图

页面内容

工具说明
page_get_text获取页面的纯文本
page_get_html获取HTML源代码
page_wait_load等待页面加载/URL更改/标题更改
page_scroll沿某个方向滚动页面

内嵌框架

工具说明
frame_list列出所有iframe
frame_switch切换到iframe
frame_parent返回父帧
frame_main返回顶级页面

网络捕获

工具说明
network_listen_start开始监听与URL模式匹配的请求
network_listen_wait等待并检索捕获的网络数据包

Cookie和存储

工具说明
cookie_get_all获取所有Cookie;可选择按域筛选
cookie_set设置cookie
cookie_remove删除cookie或全部清除
storage_get从本地存储/会话存储读取
storage_set写入本地存储/会话存储

键盘和对话框

工具说明
keyboard_press按一个键或组合键(Enter、Ctrl+a等)
keyboard_type连续键入文本
dialog_handle处理警报/确认/提示对话框
dialog_auto启用或禁用自动对话框处理

高级

工具说明
action_chain执行动作序列:移动、单击、拖动、键入、等待
js_execute在页面上执行JavaScript
cdp_execute执行原始Chrome DevTools协议命令

文件操作

工具说明
file_upload上传文件;支持隐藏输入
file_download通过URL下载文件或点击触发器
page_save将页面另存为PDF或MHTML

开发者指南

项目结构

src/dp_mcp/
├── server.py              # MCP server — 55 tool definitions
├── config.py              # Settings (pydantic-settings)
├── models.py              # ToolResult, BrowserInfo, TabInfo, etc.
├── core/                  # Core services
│   ├── browser.py         # Browser lifecycle
│   ├── tab.py             # Multi-tab management
│   ├── navigation.py      # Page navigation
│   └── element.py         # Element finding & interaction
├── services/              # Domain services
│   ├── screenshot.py      # Screenshots
│   ├── frame.py           # Iframes
│   ├── scroll.py          # Scrolling
│   ├── network.py         # Network capture
│   ├── cookie.py          # Cookies
│   ├── action.py          # Action chains
│   ├── dialog.py          # Dialogs
│   ├── cdp.py             # CDP
│   └── file.py            # File operations
└── utils/
    └── locator.py         # Locator parser + element cache

运行测试

# Unit tests (no browser needed)
uv run pytest tests/unit -v

# Integration tests (requires Chrome)
uv run pytest tests/integration -v -m integration

# All tests
uv run pytest -v

定位器语法

支持完整的DrissionPage定位器语法:

语法示例描述
#id#login-btn按ID
.class.submit按类名
@attr=val@name=email按属性
text:strtext:Login按可见文本
tag:nametag:input按标签名称
css:selectorcss:div.card>h2CSS选择器
xpath:exprxpath://div[@id='app']XPath
@@a@@b@@class=btn@@text()=OK和条件
`@\a@\b``@\class=btn@\class=link`OR条件

使用可选 by 要消除歧义的参数: css, xpath, text, id, class, attr.

贡献

欢迎提交请求和问题。

  1. 复刻此仓库
  2. 创建要素分支: git checkout -b feature/my-feature
  3. 提交您的更改: git commit -m "feat: add my feature"
  4. 按下分支: git push origin feature/my-feature
  5. 打开拉取请求

请确保在提交之前通过所有测试:

uv run pytest tests/unit -v

许可证

此项目的代码已获得许可 BSD 3-条款.

备注:该项目取决于 驱动页面,它使用禁止未经授权的商业使用的自定义非商业许可。用户必须独立遵守DrissionPage的许可条款。

目录标签

目录标签

浏览器自动化PythonClaude本地部署元素交互页面管理AI工具集成自动化测试

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

55

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP