✨ 核心特性
🌐 浏览器自动化 - 页面导航、元素操作、截图等完整功能
🔧 MCP协议支持 - 与AI助手无缝集成的标准化接口
📸 截图与DOM - 页面分析、元素定位、结构获取
🚀 异步高性能 - 基于FastMCP框架的高效服务
🛠️ 17工具集 - 涵盖浏览器管理到文件处理的全方位功能
🚀 快速开始
安装
# 克隆项目
git clone https://github.com/YourUsername/DrissionPageMCPServer_Modified.git
cd DrissionPageMCPServer_Modified/
# 使用 uv 同步环境
uv sync
启动服务
# 启动MCP服务(STDIO模式)
drissionpage-mcp
在AI助手中配置
在 Trae AI IDE 中添加 MCP 服务配置:
{
"mcpServers": {
"drissionpage-mcp": {
"command": "<YOUR_PATH>\\DrissionPageMCPServer_Modified\\.venv\\Scripts\\python.exe",
"args": ["-m", "drissionpage_mcp.main"],
"env": {
"PYTHONPATH": "<YOUR_PATH>\\DrissionPageMCPServer_Modified\\src"
}
}
}
}
.png)
📱 使用案例
网页自动化操作
复杂页面交互
基本使用示例
# 连接浏览器
result = await connect_browser(port=9222, headless=False)
# 导航并截图
result = await navigate("https://example.com")
result = await take_screenshot("page.png")
# 元素操作
result = await click_element("#submit-button")
result = await input_text("#username", "your_username")
🛠️ MCP 工具列表
| 分类 | 工具 | 功能描述 |
|---|---|---|
| 🌐 浏览器管理 | 1.connect_browser | 连接/启动浏览器 |
2.new_tab | 创建新标签页 | |
3.navigate | 页面导航 | |
| 🎯 元素操作 | 4.click_element | 点击元素 |
5.input_text | 输入文本 | |
6.get_element_text | 获取元素文本内容 | |
7.get_page_text | 获取页面完整文本内容 | |
| 📸 截图功能 | 8.take_screenshot | 页面/元素截图 |
9.get_screenshot_data | 获取截图数据 | |
| 🌳 DOM操作 | 10.get_dom_tree | 获取DOM树结构 |
11.find_elements | 查找页面元素 | |
| 🔍 网络监控 | 12.enable_network_monitoring | 启用网络监控 |
13.get_network_logs | 获取网络日志 | |
| 📁 文件操作 | 14.save_page_source | 保存页面源码 |
15.get_cookies | 获取Cookies | |
| ⚡ 高级功能 | 16.execute_javascript | 执行JavaScript |
17.run_cdp_command | 执行CDP命令 |
🌐 浏览器支持
支持所有 Chromium 内核浏览器:
- Chrome(推荐)- 自动检测系统安装
- Edge - 作为备选自动检测
- 其他 Chromium 浏览器 - 通过环境变量指定路径
项目会自动检测并使用系统中的 Chrome,如果未安装则使用 Edge。
⚙️ 环境配置
# 基本配置
export DRISSIONPAGE_MCP_LOG_LEVEL=INFO
export DRISSIONPAGE_MCP_HEADLESS=false
export DRISSIONPAGE_MCP_TIMEOUT=30
# 指定浏览器路径(可选,支持Chrome/Edge/其他Chromium浏览器)
export DRISSIONPAGE_MCP_BROWSER_PATH=/path/to/chrome
# 其他路径配置(可选)
export DRISSIONPAGE_MCP_DOWNLOAD_PATH=/path/to/downloads
export DRISSIONPAGE_MCP_SCREENSHOT_PATH=/path/to/screenshots
🏗️ 项目架构
DrissionPageMCPServer_Modified/
├── .github/ # GitHub 配置
├── docs/ # VitePress 文档站点
├── src/drissionpage_mcp/ # 源代码
│ ├── config/ # 配置模块
│ ├── core/ # 核心功能(浏览器、元素、网络)
│ ├── services/ # 服务层(CDP、DOM、截图)
│ ├── utils/ # 工具模块
│ └── main.py # MCP 服务入口
├── tests/ # 测试
├── pyproject.toml # 项目配置
├── requirements.txt # 依赖
└── uv.lock # 依赖锁定
📚 文档
- 📖 原项目文档 - 完整的项目文档
🔧 故障排除
| 问题 | 解决方案 |
|---|---|
| 🌐 浏览器连接失败 | 确保Chrome已安装,检查调试端口配置 |
| 🎯 元素找不到 | 检查选择器,等待页面加载,使用更具体选择器 |
| 📸 截图失败 | 检查磁盘空间、文件权限、截图目录 |
| 🔍 网络监控无数据 | 确保已启用监控,检查过滤条件 |
# 启用调试日志
drissionpage-mcp --log-level DEBUG
🤝 贡献
欢迎提交 Issue 和 Pull Request!
- Fork 项目 → 2. 创建分支 → 3. 提交更改 → 4. 推送分支 → 5. 创建 PR
📄 许可证
MIT License - 详见 LICENSE 文件
📖 参考项目
- DrissionPage-MCP-Server - 原项目
- DrissionPage - 底层浏览器自动化库
📧 联系方式
如有问题或建议,请联系:cfx_software@163.com
⭐ 如果这个项目对你有帮助,请给个 Star!
