未检测到ChromeDriver MCP服务器
 
一种模型上下文协议(MCP)服务器,提供浏览器自动化功能,使用 未检测到的镀铬层 与标准Puppeteer实现相比,具有增强的抗检测能力。
🚀 特性
- 🕵️ 增强型反检测:使用未被检测到的chromedriver绕过现代反bot保护
- 🔄 简易替代者:100%API与服务器-服务器兼容
- ⚡ 高性能:优化了会话管理和资源清理
- 🛡️ 生产就绪:全面的错误处理和记录
- 🎯 14强大的工具:完整的浏览器自动化和网络监控工具包
- 🌐 网络流量监控:捕获并分析所有网络请求/响应
🛠️ 可用工具
核心浏览器自动化
| 工具 | 说明 |
|---|---|
chrome_navigate | 导航到具有反检测功能的URL |
chrome_screenshot | 捕获页面或元素截图 |
chrome_click | 点击页面元素 |
chrome_fill | 填写输入字段 |
chrome_select | 选择下拉选项 |
chrome_hover | 将鼠标悬停在元素上 |
chrome_evaluate | 执行JavaScript代码 |
网络流量监控
| 工具 | 说明 |
|---|---|
start_network_monitoring | 开始捕获网络请求和响应 |
stop_network_monitoring | 停止网络流量捕获 |
get_network_requests | 通过过滤检索捕获的请求 |
get_network_responses | 获取响应数据和标头 |
get_response_body | 提取具体响应内容 |
get_network_summary | 获取网络活动统计信息 |
clear_network_data | 清除捕获的网络数据 |
📦 安装
先决条件
- Python 3.8+
- Chrome/Chromium浏览器
- Git
选项1:从PyPI安装(推荐)
pip install undetected-chrome-mcp-server选项2:使用uvx安装(隔离环境)
# Install with uvx for isolated execution
uvx --from undetected-chrome-mcp-server undetected-chrome-mcp-server
# Or run directly without installation
uvx undetected-chrome-mcp-server选项3:从源代码安装
# Clone the repository
git clone https://github.com/andrewlwn77/undetected-chrome-mcp-server.git
cd undetected-chrome-mcp-server
# Create virtual environment (recommended for Docker)
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install the package
pip install -e .依赖项
- mcp>=1.0.0 -模型上下文协议
- 未检测到的铬含量>=3.5.0 -反检测Chrome自动化
- 硒>=4.15.0 -WebDriver框架
- 枕头>=10.0.0 -屏幕截图的图像处理
⚙️ 配置
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
CHROME_EXECUTABLE_PATH | Chrome可执行文件的路径 | /opt/google/chrome/google-chrome |
CHROME_DRIVER_LOG_LEVEL | 日志记录级别 | INFO |
CHROME_SESSION_TIMEOUT | 会话超时(秒) | 300 |
CHROME_MAX_SESSIONS | 最大并发会话数 | 5 |
CHROME_MAX_NETWORK_ENTRIES | 存储的最大网络请求/响应数 | 1000 |
MCP配置
添加到您的 .mcp.json:
选项1:使用PyPI安装
{
"mcpServers": {
"undetected-chrome": {
"command": "python",
"args": ["-m", "undetected_chrome_mcp.server"],
"env": {
"CHROME_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome",
"CHROME_DRIVER_LOG_LEVEL": "INFO",
"CHROME_MAX_NETWORK_ENTRIES": "1000"
}
}
}
}选项2:使用uvx
{
"mcpServers": {
"undetected-chrome": {
"command": "uvx",
"args": ["undetected-chrome-mcp-server"],
"env": {
"CHROME_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome",
"CHROME_DRIVER_LOG_LEVEL": "INFO",
"CHROME_MAX_NETWORK_ENTRIES": "1000"
}
}
}
}选项3:使用虚拟环境(Docker/开发)
{
"mcpServers": {
"undetected-chrome": {
"command": "/path/to/project/venv/bin/python",
"args": ["/path/to/project/run_mcp_server.py"],
"cwd": "/path/to/project",
"env": {
"CHROME_EXECUTABLE_PATH": "/opt/google/chrome/google-chrome",
"CHROME_DRIVER_LOG_LEVEL": "INFO",
"CHROME_SESSION_TIMEOUT": "300",
"CHROME_MAX_SESSIONS": "5",
"CHROME_MAX_NETWORK_ENTRIES": "1000"
}
}
}
}🚀 用法
命令行
# Run the MCP server
python -m undetected_chrome_mcp.server
# Or use the installed command
undetected-chrome-mcp-server工具调用示例
导航到网页:
{
"tool": "chrome_navigate",
"arguments": {
"url": "https://example.com",
"timeout": 30000
}
}截图:
{
"tool": "chrome_screenshot",
"arguments": {
"name": "example_page",
"encoded": true,
"fullPage": true
}
}执行JavaScript:
{
"tool": "chrome_evaluate",
"arguments": {
"script": "return document.title;"
}
}🌐 网络流量监控
未被检测的chrome mcp服务器v1.1.0+包括使用chrome DevTools协议(CDP)的强大网络流量监控功能:
基本网络监控工作流程
// 1. Start monitoring
{
"tool": "start_network_monitoring"
}
// 2. Navigate and interact with pages
{
"tool": "chrome_navigate",
"arguments": {"url": "https://example.com"}
}
// 3. Get captured requests
{
"tool": "get_network_requests",
"arguments": {"url_filter": "api"}
}
// 4. Get response data
{
"tool": "get_network_responses",
"arguments": {"url_filter": "example.com"}
}
// 5. Extract specific response content
{
"tool": "get_response_body",
"arguments": {"request_id": "123.456"}
}主要特点
- 全流量捕获:捕获所有HTTP/HTTPS请求和响应
- 内存保护:可配置的循环缓冲区(默认值:1000个条目)
- 线程安全:具有适当锁定的并发访问
- 过滤:请求/响应的URL模式筛选
- 完整数据:标头、POST数据、时间戳、状态代码、响应体
- 演出:针对大容量流量捕获进行了优化
用例
- API数据提取:捕获通过AJAX/fetch加载的动态内容
- 身份验证令牌获取:提取JWT令牌、会话Cookie
- 性能分析:监控请求时间和响应大小
- 调试:检查网络呼叫以排除故障
- 数据挖掘:从API终结点收集结构化数据
🧪 测试
该项目包括验证功能的测试脚本:
# Available test scripts in root directory:
python test_functions.py # Basic function validation
python test_reddit_automation.py # Reddit anti-detection tests
python test_undetected_chrome.py # Core driver tests测试结果
- ✅ 导航:已成功加载受保护的页面
- ✅ JavaScript执行:完全DOM访问和数据提取
- ✅ 截图:高质量图像捕捉
- ✅ 反检测:绕过现代机器人保护(在Reddit上测试)
🏗️ 建筑
服务器遵循分层架构:
- MCP协议层 -处理MCP通信
- 浏览器管理层 -管理Chrome会话
- 防检测层 -实现隐形功能
- 操作执行层 -执行浏览器操作
🛡️ 防检测功能
- 未检测到的ChromeDriver:先进的隐形自动化
- 用户代理轮换:随机浏览器指纹
- 视口随机化:仿人窗户尺寸
- 类人延迟:自然互动时间
- JavaScript隐藏:删除自动化指示器
- 会话隔离:操作之间的清洁状态
🎯 与服务器操纵器的比较
| 功能 | 服务器操纵器 | 未检测到的chrome mcp |
|---|---|---|
| 反检测 | 基本 | 高级 |
| 机器人保护旁路 | 有限 | 优秀 |
| API兼容性 | 不适用 | 100%兼容 |
| 性能 | 良好 | 优化 |
| 资源管理 | 基础 | 高级 |
🤝 贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature-name - 提交更改:
git commit -am 'Add feature' - 推送到分支:
git push origin feature-name - 创建拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
这个项目建立在优秀的开源工作之上:
- 服务器操纵器 -启发此实现的原始MCP Puppeter服务器
- 未检测到的镀铬层 -为该服务器提供动力的核心反检测技术
- 模型上下文协议(MCP) -实现AI工具集成的基础协议
特别感谢开源社区创建了这些基础工具,使每个人都可以访问高级浏览器自动化。
📞 支持
- GitHub问题: 报告错误或请求功能
- 例子:检查根目录中的测试脚本以获取使用示例
🔗 相关项目
- reddit mcp -Reddit研究MCP服务器
- 模型上下文协议 -MCP官方文件
______________________________________________________________________
内置于❤️ 靠近 安德鲁77
