{"id":"40ba6e50-6c2d-4028-9fcf-5ad6054d3165","slug":"drissionpage-mcp-server","kind":"mcp","name":"DrissionPage-MCP-Server","summary":"The Model Context Protocol (MCP) service based on DrissionPage provides AI assistants with powerful browser automation capabilities. | 基于 DrissionPage 的模型上下文协议 (MCP) 服务，为 AI 助手提供强大的浏览器自动化能力。","owner":"persist-1","repoUrl":"https://github.com/persist-1/DrissionPage-MCP-Server","license":"MIT","licenseTier":"permissive","trust":"community","stars":26,"match":null,"fewStars":false,"format":"mcp","createdAt":null,"addedAt":"2026-10-14T05:02:47.339Z","logoUrl":"https://avatars.githubusercontent.com/u/206997360?u=a76f64abe857f4fbba1b0ee8791741477e4bcf49&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["browser-web","cloud-infra","memory-knowledge"],"tags":["crawler","cursor","drissionpage","fastmcp","trae"],"runtime":"python","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-14T08:54:18.888Z","sample":false,"url":"https://conduits.dev/tools/drissionpage-mcp-server","language":"Python","transports":["stdio"],"install":{"pypi":"drissionpage-mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<div align=\"center\">\n\n<img src=\"./docs/site_config/public/images/logo.png\" alt=\"DrissionPage-MCP-Server Logo\" width=\"200\">\n\n# DrissionPage-MCP-Server\n\n基于 DrissionPage 的模型上下文协议 (MCP) 服务，为 AI 助手提供强大的浏览器自动化能力。\n\n[![GitHub stars](https://img.shields.io/github/stars/persist-1/DrissionPage-MCP-Server?style=social)](https://github.com/persist-1/DrissionPage-MCP-Server/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/persist-1/DrissionPage-MCP-Server?style=social)](https://github.com/persist-1/DrissionPage-MCP-Server/network/members)\n[![GitHub issues](https://img.shields.io/github/issues/persist-1/DrissionPage-MCP-Server)](https://github.com/persist-1/DrissionPage-MCP-Server/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/persist-1/DrissionPage-MCP-Server)](https://github.com/persist-1/DrissionPage-MCP-Server/pulls)\n[![GitHub license](https://img.shields.io/github/license/persist-1/DrissionPage-MCP-Server)](https://github.com/persist-1/DrissionPage-MCP-Server/blob/main/LICENSE)\n\n</div>\n\n## ✨ 核心特性\n\n🌐 **浏览器自动化** - 页面导航、元素操作、截图等完整功能  \n🔧 **MCP协议支持** - 与AI助手无缝集成的标准化接口  \n📸 **截图与DOM** - 页面分析、元素定位、结构获取  \n🚀 **异步高性能** - 基于FastMCP框架的高效服务  \n🛠️ **17工具集** - 涵盖浏览器管理到文件处理的全方位功能\n\n## 🚀 快速开始\n\n### 安装\n```bash\n# 克隆项目\ngit clone https://github.com/persist-1/DrissionPage-MCP-Server.git\ncd DrissionPage-MCP-Server/\n\n# 使用 uv 同步环境\nuv sync\n```\n\n### 启动服务\n```bash\n# 启动MCP服务（STDIO模式）\ndrissionpage-mcp\n```\n\n### 在AI助手中配置\n在 Trae AI IDE 中添加 MCP 服务配置：\n```json\n   {\n      \"mcpServers\": {\n         \"drissionpage-mcp\": {\n            \"command\": \"Yourpath\\\\DrissionPage-MCP-Server\\\\.venv\\\\Scripts\\\\python.exe\",\n            \"args\": [\n            \"-m\",\n            \"drissionpage_mcp.main\"\n            ],\n            \"env\": {\n            \"PYTHONPATH\": \"Yourpath\\\\DrissionPage-MCP-Server\\\\src\"\n            }\n         }\n      }\n   }\n```\n![MCP配置效果](docs/site_config/public/images/mcp配置效果(Trae%20ide).png)\n\n## 📱 使用案例\n\n### 网页自动化操作\n<div align=\"center\">\n  <img src=\"docs/site_config/public/images/用例测试1.png\" alt=\"用例测试1\" width=\"45%\">\n  <img src=\"docs/site_config/public/images/用例测试2.png\" alt=\"用例测试2\" width=\"45%\">\n</div>\n\n### 复杂页面交互\n<div align=\"center\">\n  <img src=\"docs/site_config/public/images/用例测试3_1.png\" alt=\"用例测试3_1\" width=\"30%\">\n  <img src=\"docs/site_config/public/images/用例测试3_2.png\" alt=\"用例测试3_2\" width=\"30%\">\n  <img src=\"docs/site_config/public/images/用例测试3_3.png\" alt=\"用例测试3_3\" width=\"30%\">\n</div>\n\n### 基本使用示例\n```python\n# 连接浏览器\nresult = await connect_browser(port=9222, headless=False)\n\n# 导航并截图\nresult = await navigate(\"https://example.com\")\nresult = await take_screenshot(\"page.png\")\n\n# 元素操作\nresult = await click_element(\"#submit-button\")\nresult = await input_text(\"#username\", \"your_username\")\n```\n\n## 🛠️ MCP 工具列表\n\n| 分类 | 工具 | 功能描述 |\n|------|------|----------|\n| 🌐 **浏览器管理** | 1.`connect_browser` | 连接/启动浏览器 |\n| | 2.`new_tab` | 创建新标签页 |\n| | 3.`navigate` | 页面导航 |\n| 🎯 **元素操作** | 4.`click_element` | 点击元素 |\n| | 5.`input_text` | 输入文本 |\n| | 6.`get_element_text` | 获取元素文本内容 |\n| | 7.`get_page_text` | 获取页面完整文本内容 |\n| 📸 **截图功能** | 8.`take_screenshot` | 页面/元素截图 |\n| | 9.`get_screenshot_data` | 获取截图数据 |\n| 🌳 **DOM操作** | 10.`get_dom_tree` | 获取DOM树结构 |\n| | 11.`find_elements` | 查找页面元素 |\n| 🔍 **网络监控** | 12.`enable_network_monitoring` | 启用网络监控 |\n| | 13.`get_network_logs` | 获取网络日志 |\n| 📁 **文件操作** | 14.`save_page_source` | 保存页面源码 |\n| | 15.`get_cookies` | 获取Cookies |\n| ⚡ **高级功能** | 16.`execute_javascript` | 执行JavaScript |\n| | 17.`run_cdp_command` | 执行CDP命令 |\n\n## ⚙️ 环境配置\n\n```bash\n# 基本配置\nexport DRISSIONPAGE_MCP_LOG_LEVEL=INFO\nexport DRISSIONPAGE_MCP_HEADLESS=false\nexport DRISSIONPAGE_MCP_TIMEOUT=30\n\n# 路径配置（可选）\nexport DRISSIONPAGE_MCP_BROWSER_PATH=/path/to/chrome\nexport DRISSIONPAGE_MCP_DOWNLOAD_PATH=/path/to/downloads\nexport DRISSIONPAGE_MCP_SCREENSHOT_PATH=/path/to/screenshots\n```\n\n## 🏗️ 项目架构\n\n```\nDrissionPage-MCP-Server/\n├── .github/                    # GitHub 配置\n│   ├── ISSUE_TEMPLATE/         # Issue 模板\n│   └── workflows/              # GitHub Actions 工作流\n│       └── deploy.yml          # 自动部署配置\n├── browsers/                   # 浏览器相关文件\n│   ├── chrome-portable/        # 便携版 Chrome（可选）\n│   └── readme_please.md        # 浏览器使用说明\n├── docs/                       # 文档目录\n│   ├── site_config/            # VitePress 文档站点\n│   │   ├── .vitepress/         # VitePress 配置\n│   │   ├── public/             # 静态资源（图片等）\n│   │   ├── *.md               # 各类文档文件\n│   │   └── index.md           # 文档首页\n│   ├── package.json           # 文档站点依赖\n│   └── ds_run_dev.bat         # 开发脚本\n├── src/                        # 源代码目录\n│   └── drissionpage_mcp/       # 主要代码包\n│       ├── config/             # 配置模块\n│       │   └── settings.py     # 环境配置和设置\n│       ├── core/               # 核心功能模块\n│       │   ├── browser_manager.py    # 浏览器管理\n│       │   ├── element_handler.py    # 元素操作处理\n│       │   ├── file_handler.py       # 文件操作处理\n│       │   └── network_listener.py   # 网络监听\n│       ├── services/           # 服务层\n│       │   ├── cdp_service.py        # Chrome DevTools 协议服务\n│       │   ├── dom_service.py        # DOM 操作服务\n│       │   └── screenshot_service.py # 截图服务\n│       ├── utils/              # 工具模块\n│       │   ├── helpers.py            # 辅助函数\n│       │   └── text_matcher.py      # 文本匹配工具\n│       └── main.py             # MCP 服务入口\n├── tests/                      # 测试目录\n│   ├── integration/            # 集成测试\n│   ├── check_browser.py        # 浏览器检查脚本\n│   └── local_build_test.ps1    # 本地构建测试\n├── pyproject.toml              # Python 项目配置\n├── requirements*.txt           # Python 依赖文件\n├── pytest.ini                 # 测试配置\n└── uv.lock                     # UV 锁定文件\n```\n\n### 核心模块说明\n\n- **core/**: 核心业务逻辑，包含浏览器管理、元素操作、文件处理等\n- **services/**: 服务层，提供 CDP、DOM、截图等专业服务\n- **config/**: 配置管理，处理环境变量和系统设置\n- **utils/**: 通用工具，提供辅助函数和文本处理能力\n\n## 📚 文档\n\n- 📖 **[在线文档](https://persist-1.github.io/DrissionPage-MCP-Server/)** - 完整的项目文档\n- 🚀 **[使用说明](docs/site_config/instruction.md)** - 快速上手指南\n- 🏗️ **[开发指南](docs/site_config/development-guide.md)** - 开发环境配置\n- 🔧 **[项目架构](docs/site_config/architecture.md)** - 架构设计说明\n- 📋 **[API参考](docs/site_config/api-reference.md)** - 详细API文档\n\n## 🔧 故障排除\n\n| 问题 | 解决方案 |\n|------|----------|\n| 🌐 浏览器连接失败 | 确保Chrome已安装，检查调试端口配置 |\n| 🎯 元素找不到 | 检查选择器，等待页面加载，使用更具体选择器 |\n| 📸 截图失败 | 检查磁盘空间、文件权限、截图目录 |\n| 🔍 网络监控无数据 | 确保已启用监控，检查过滤条件 |\n\n```bash\n# 启用调试日志\ndrissionpage-mcp --log-level DEBUG\n```\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n1. Fork 项目 → 2. 创建分支 → 3. 提交更改 → 4. 推送分支 → 5. 创建 PR\n\n## 📄 许可证\n\nMIT License - 详见 [LICENSE](LICENSE) 文件\n\n## 📖 参考项目\n\n本项目基于 [DrissionPage](https://github.com/g1879/DrissionPage) 构建\n\n---\n\n<div align=\"center\">\n  <strong>⭐ 如果这个项目对你有帮助，请给个 Star！</strong>\n</div>"}