关于 Stealth Browser Mcp
Stealth Browser MCP 是供兼容 MCP 的 AI Agent 使用的浏览器自动化服务,基于 Chrome 系浏览器和 Chrome DevTools Protocol。它提供可配置的页面控制、内容提取和网络调试工具;反机器人挑战处理效果可能因网站和环境而异。
主要功能
- 01自动化操作 Chrome、Chromium 和 Edge
- 02配置完整、精简或自定义工具集
- 03检查网络请求和响应
- 04提取含结构与样式的页面元素
- 05运行 JavaScript 和 CDP 命令
适用场景
- 01浏览网页并操作页面元素
- 02调试网站时检查捕获的请求
- 03提取页面元素及其视觉细节
- 04自动执行需要登录或处理挑战的浏览器任务
MCP 相关
该服务通过 stdio 或 HTTP 传输向 MCP 客户端提供浏览器自动化和调试工具。它支持标准 MCP 客户端配置,无需自定义代理。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Stealth Browser MCP
为兼容 MCP 的 AI Agent 提供隐身浏览器自动化。
借助由 nodriver、Chrome DevTools Protocol 和 FastMCP 驱动的真实 Chrome 系浏览器实例,应对 Cloudflare 验证、反机器人检查和登录墙。
赞助商
NodeMaven — 为网页抓取和自动化提供最高效的代理服务商,拥有市场上质量最高的 IP。
为什么选择 NodeMaven?
- ZIP 码定位
- 99.9% 正常运行时间
- IP 筛选:所有代理的欺诈评分均 <97%
- 无需 KYC
- 独特的免费工具:代理带宽检查器、Meta Tag Checker、IP Lookup 等!
Stealth-browser-mcp 用户专享优惠码
STEALTHMCP35— 移动和住宅代理优惠 35%STEALTHMCP40— ISP(静态)代理优惠 40%
赞助商展示位。NodeMaven 是本项目的付费赞助商。
目录
演示
Stealth Browser MCP 通过 AI 聊天指令通过 Cloudflare 验证、克隆 UI 元素并检查网络流量。
功能
- 抗机器人检测 - 测试中已通过 Cloudflare 和 Queue-It 风格的挑战;实际效果因网站、地区、浏览器版本和检测器版本而异。
- 11 个分类,共 101 个工具 - 涵盖基础导航到高级 CDP 函数执行。
- 模块化加载 - 可运行完整的 101 个工具,或精简的 21 个核心工具;禁用不需要的分类。
- 像素级精准的元素克隆 - 通过 CDP 提取包含 CSS、DOM 结构、事件、动画和资源的完整元素。
- 网络检查 - 通过 AI Agent 检查请求、响应、标头、负载和捕获的正文。
- 动态钩子系统 - 受限的 Python 钩子可拦截、阻止、重定向、处理或修改请求/响应流。
- CDP 执行 - 通过受信任的本地 MCP 客户端运行 JavaScript、直接 CDP 命令和文档加载前脚本。
- 即时文本输入 - 通过 CDP 粘贴大量内容、模拟真人按键输入,或使用受信任的 CDP 按键事件按下真实按键。
- 跨平台 - 支持 Windows、macOS、Linux、Docker 和 CI 环境,并可自动检测浏览器和平台。
- 浏览器支持 - 支持 Chrome、Chromium 和 Microsoft Edge,并可自动查找可执行文件。
- 简洁的 MCP 集成 - 通过标准 MCP 客户端运行,无需自定义代理。
快速开始
1. 安装
需要 Python 3.10+,以及 Chrome、Chromium 或 Microsoft Edge。
使用 pipx(推荐):
pipx install browserstealthmcp
这会在你的 PATH 中添加 stealth-browser-mcp 命令。使用 pipx upgrade browserstealthmcp 升级。uvx browserstealthmcp 无需安装即可运行。若要运行最新提交而不是正式版本,请使用 pipx install git+https://github.com/vibheksoni/stealth-browser-mcp.git。
该 PyPI 软件包名为 browserstealthmcp,因为 PyPI 上的 stealth-browser-mcp 属于另一个无关项目。运行 pipx install stealth-browser-mcp 安装的是那个项目,而不是本项目。
从克隆的仓库安装(用于开发):
git clone https://github.com/vibheksoni/stealth-browser-mcp.git
cd stealth-browser-mcp
python -m venv venv
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate
pip install -r requirements.txt
2. 添加到 MCP 客户端
使用 pipx 安装:
claude mcp add stealth-browser-mcp -- stealth-browser-mcp
或者,在任何客户端的 JSON 配置中添加:
{
"mcpServers": {
"stealth-browser-mcp": {
"command": "stealth-browser-mcp",
"args": [],
"env": {}
}
}
}
如果客户端找不到该命令,请使用 pipx list 显示的完整路径。使用 uv 时,可以跳过安装并使用 "command": "uvx", "args": ["browserstealthmcp"]。
从克隆的仓库安装,并使用 Claude Code CLI:
Windows:
claude mcp add-json stealth-browser-mcp "{\"type\":\"stdio\",\"command\":\"C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe\",\"args\":[\"C:\\path\\to\\stealth-browser-mcp\\src\\server.py\"]}"
macOS / Linux:
claude mcp add-json stealth-browser-mcp '{
"type": "stdio",
"command": "/path/to/stealth-browser-mcp/venv/bin/python",
"args": ["/path/to/stealth-browser-mcp/src/server.py"]
}'
将示例路径替换为你实际克隆仓库的路径。
手动配置 JSON(Claude Desktop、Cursor 等)
Windows(%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"stealth-browser-mcp": {
"command": "C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\stealth-browser-mcp\\src\\server.py"],
"env": {}
}
}
}
macOS / Linux(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"stealth-browser-mcp": {
"command": "/path/to/stealth-browser-mcp/venv/bin/python",
"args": ["/path/to/stealth-browser-mcp/src/server.py"],
"env": {}
}
}
}
实验性 FastMCP CLI 安装
这些命令适用于偏好使用 FastMCP 安装程序的用户。建议使用上述 stdio JSON 配置方式。
pip install fastmcp
fastmcp install claude-desktop src/server.py --with-requirements requirements.txt
fastmcp install claude-code src/server.py --with-requirements requirements.txt
fastmcp install cursor src/server.py --with-requirements requirements.txt
3. 测试
重启 MCP 客户端,并向 Agent 提出请求:
使用 stealth-browser 导航到 https://example.com 并截取屏幕截图。
Agent 技能
此仓库包含一个 Agent 技能,位于 skills/stealth-browser-mcp,适用于支持 Codex 风格技能的客户端。它会指导 Agent 按照推荐顺序使用工具、检查状态、使用文档加载前 CDP 脚本、排查网络问题,并遵循浏览器清理规则。
如果大模型难以选择合适的 MCP 工具,或在执行操作后忘记验证浏览器状态,请使用此技能。如果客户端不会自动加载仓库本地的技能,请将 skills/stealth-browser-mcp 添加到客户端技能目录,或在该目录中创建指向它的符号链接。
信任模型
此服务提供强大的本地浏览器控制原语:CDP 执行、页面 JavaScript 执行、Cookie/存储访问、网络拦截、动态钩子、标头修改、导航,以及从允许列表中的本地路径上传文件。
请将 MCP 客户端或 Agent 视为安全主体。推荐的部署方式是使用可信的桌面 MCP 客户端,通过本地 stdio 传输运行。如果使用 HTTP 传输,请设置 STEALTH_BROWSER_MCP_AUTH_TOKEN,并且不要在受信任的本地网络或专用网络之外暴露未经身份验证的 HTTP 服务。
模块化架构
按需选择所需功能。运行完整的 101 工具套件,或精简为包含 21 个工具的核心版本。
| 模式 | 工具数 | 用途 |
|---|---|---|
| 完整(默认) | 101 | 完整的浏览器自动化与调试 |
最小(--minimal) | 21 | 核心浏览器自动化与交互 |
自定义(--disable-*) | 自选 | 禁用特定功能分区 |
Xpool 安全模式(--xpool-safe) | 84 | 禁用会触发 Runtime.enable 的 CDP 函数工具 |
stealth-browser-mcp --minimal
stealth-browser-mcp --disable-cdp-functions --disable-dynamic-hooks
stealth-browser-mcp --list-sections
stealth-browser-mcp --debug
stealth-browser-mcp --transport http --host 127.0.0.1 --port 8000
从克隆的项目运行时,python src/server.py 接受相同的标志。
使用 --debug 或设置 STEALTH_BROWSER_DEBUG=1,即可在 stderr 上启用详细的服务诊断信息。默认情况下,正常的 MCP stdio 运行保持静默,以避免破坏 JSON-RPC 传输输出。
可用功能分区:
| 分区 | 工具数 | 说明 |
|---|---|---|
browser-management | 8 | 核心浏览器操作 |
element-interaction | 13 | 页面交互与操作 |
element-extraction | 9 | 元素克隆与提取 |
file-extraction | 9 | 基于文件的提取工具 |
network-debugging | 10 | 网络监控与捕获 |
cdp-functions | 17 | Chrome DevTools Protocol 执行 |
progressive-cloning | 10 | 高级元素克隆 |
cookies-storage | 3 | Cookie 管理 |
tabs | 5 | 标签页管理 |
debugging | 7 | 调试与系统工具 |
dynamic-hooks | 10 | AI 辅助网络钩子 |
服务端配置
以下是 MCP 服务进程的环境变量。可在 shell、服务管理器、Docker 环境或 MCP 客户端的 env 块中设置。
| 变量 | 默认值 | 含义 |
|---|---|---|
STEALTH_BROWSER_MCP_AUTH_TOKEN | 未设置 | HTTP 传输的可选 bearer token。设置后,HTTP 客户端必须发送 Authorization: Bearer <token>。 |
MCP_AUTH_TOKEN | 未设置 | STEALTH_BROWSER_MCP_AUTH_TOKEN 的向后兼容别名。 |
BROWSER_IDLE_TIMEOUT | 600 | 浏览器实例闲置后自动关闭前的全局超时时间,单位为秒。设为 0 可全局禁用闲置回收。 |
BROWSER_IDLE_REAPER_INTERVAL | 60 | 后台回收器的检查间隔,单位为秒。 |
BROWSER_TAB_RECYCLE_NAVIGATIONS | 0 | 达到指定导航次数后,用新标签页替换主标签页。0 表示保留同一标签页,从而保留历史记录和会话存储。 |
BROWSER_ORPHAN_PROFILE_MAX_AGE | 21600 | 启动时清理过期 uc_* 临时配置文件的阈值,单位为秒。设为 0 可禁用此启动清理。 |
STEALTH_BROWSER_EXECUTABLE | 自动检测 | 用于启动的 Chrome、Chromium 或 Edge 可执行文件路径,取代自动检测的路径。 |
BROWSER_FILE_UPLOAD_ALLOWED_DIRS | 仓库根目录或数据目录 | file_upload() 可读取的目录。多个根目录之间用 ;(Windows)或 :(macOS/Linux)分隔。克隆项目时默认为仓库根目录;安装软件包时默认为数据目录中的 uploads 文件夹。 |
STEALTH_BROWSER_MCP_DATA_DIR | 仓库根目录或用户数据目录 | 元素克隆和大型响应的写入位置。克隆项目时默认为仓库根目录;安装软件包时,Windows 默认为 %LOCALAPPDATA%\stealth-browser-mcp,macOS 默认为 ~/Library/Application Support/stealth-browser-mcp,Linux 默认为 $XDG_DATA_HOME/stealth-browser-mcp(~/.local/share/stealth-browser-mcp)。 |
STEALTH_BROWSER_DEBUG | 0 | 设为 1 时,将详细调试日志输出到 stderr。 |
DEBUG | 0 | STEALTH_BROWSER_DEBUG 的旧版别名。 |
XPOOL_SAFE_MODE | 0 | 启动时禁用 cdp-functions 部分。 |
PORT | 8000 | 未提供 --port 时使用的默认 HTTP 端口。 |
PowerShell 示例:
$env:STEALTH_BROWSER_MCP_AUTH_TOKEN='replace-with-a-long-random-token'
$env:BROWSER_IDLE_TIMEOUT='900'
$env:BROWSER_IDLE_REAPER_INTERVAL='30'
$env:BROWSER_ORPHAN_PROFILE_MAX_AGE='43200'
$env:BROWSER_FILE_UPLOAD_ALLOWED_DIRS='C:\Users\me\uploads;C:\Users\me\Documents'
python src/server.py
MCP 客户端的 env 块:
{
"mcpServers": {
"stealth-browser-mcp": {
"command": "C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\stealth-browser-mcp\\src\\server.py"],
"env": {
"STEALTH_BROWSER_MCP_AUTH_TOKEN": "replace-with-a-long-random-token",
"BROWSER_IDLE_TIMEOUT": "900",
"BROWSER_FILE_UPLOAD_ALLOWED_DIRS": "C:\\Users\\me\\uploads;C:\\Users\\me\\Documents"
}
}
}
}
HTTP 客户端示例:
from fastmcp import Client
from fastmcp.client.auth import BearerAuth
client = Client(
"http://127.0.0.1:8000/mcp/",
auth=BearerAuth("replace-with-a-long-random-token"),
)
单实例闲置超时覆盖:
spawn_browser(idle_timeout_seconds=1800)会让该实例在闲置 30 分钟后关闭。spawn_browser(idle_timeout_seconds=0)会为该实例禁用闲置回收。
工具箱
浏览器管理(8)
| 工具 | 描述 |
|---|---|
spawn_browser() | 创建隐身浏览器实例 |
list_instances() | 列出活动的浏览器会话 |
close_instance() | 正常关闭浏览器 |
get_instance_state() | 获取完整的浏览器状态信息 |
navigate() | 导航到 URL |
go_back() | 在历史记录中后退 |
go_forward() | 在历史记录中前进 |
reload_page() | 重新加载当前页面 |
元素交互(13)
| 工具 | 描述 |
|---|---|
query_elements() | 按 CSS 选择器或 XPath 查找元素 |
click_element() | 点击元素 |
type_text() | 模拟真人输入,支持换行 |
paste_text() | 通过 CDP 即时粘贴文本 |
press_key() | 通过可信的 CDP 按键事件按下真实按键(Enter、Tab、方向键、修饰键) |
file_upload() | 将允许列表中的本地文件上传到文件输入框 |
select_option() | 选择下拉选项 |
get_element_state() | 检查元素状态 |
wait_for_element() | 等待元素 |
scroll_page() | 自然滚动页面 |
execute_script() | 运行页面 JavaScript |
get_page_content() | 读取页面 HTML 和文本 |
take_screenshot() | 截取屏幕截图 |
网络调试(10)
| 工具 | 描述 |
|---|---|
list_network_requests() | 列出捕获的网络请求 |
get_request_details() | 检查请求标头和负载 |
get_response_details() | 检查响应元数据 |
get_response_content() | 读取捕获的响应内容 |
search_network_requests() | 搜索捕获的请求 |
export_network_data() | 导出捕获的网络数据 |
import_network_data() | 导入捕获的网络数据 |
set_network_capture_filters() | 配置捕获筛选条件 |
get_network_capture_filters() | 读取当前启用的捕获筛选条件 |
modify_headers() | 添加或替换请求标头 |
Cookie 和存储(3)
| 工具 | 描述 |
|---|---|
get_cookies() | 读取 Cookie |
set_cookie() | 设置 Cookie |
clear_cookies() | 清除 Cookie |
调试(7)
| 工具 | 描述 |
|---|---|
get_debug_view() | 分页查看调试日志和统计数据 |
clear_debug_view() | 清除调试日志 |
export_debug_logs() | 将日志导出为 JSON、pickle 或 gzip 格式 |
get_debug_lock_status() | 检查调试日志记录器的锁定状态 |
hot_reload() | 无需重启服务即可重新加载模块 |
reload_status() | 检查模块重新加载状态 |
validate_browser_environment_tool() | 诊断浏览器与平台的兼容性 |
标签页(5)
| 工具 | 描述 |
|---|---|
list_tabs() | 列出已打开的标签页 |
switch_tab() | 切换当前活动标签页 |
close_tab() | 关闭标签页 |
get_active_tab() | 获取当前活动标签页 |
new_tab() | 创建新标签页 |
元素提取(9)
| 工具 | 描述 |
|---|---|
extract_element_styles() | 提取计算后的 CSS 属性 |
extract_element_structure() | 提取 DOM 结构 |
extract_element_events() | 提取事件监听器 |
extract_element_animations() | 提取动画和过渡效果 |
extract_element_assets() | 提取图像、字体、视频和资源 |
extract_element_styles_cdp() | 纯 CDP 样式提取 |
extract_related_files() | 查找相关的 CSS/JS 文件 |
clone_element_complete() | 完整克隆元素 |
extract_complete_element_cdp() | 基于 CDP 完整克隆元素 |
渐进式克隆(10)
| 工具 | 描述 |
|---|---|
clone_element_progressive() | 初始轻量级元素克隆 |
expand_styles() | 按需展开样式 |
expand_events() | 按需展开事件 |
expand_children() | 按需展开子节点 |
expand_css_rules() | 展开 CSS 规则数据 |
expand_pseudo_elements() | 展开伪元素 |
expand_animations() | 展开动画数据 |
list_stored_elements() | 列出已存储的渐进式克隆 |
clear_stored_element() | 清除一个已存储的元素 |
clear_all_elements() | 清除所有已存储的元素 |
基于文件的提取(9)
| 工具 | 描述 | |------|-------------| | `clone_element_to_file()` | 将完整克隆保存到文件 | | `extract_complete_element_to_file()` | 将完整提取结果保存到文件 | | `extract_element_styles_to_file()` | 将样式保存到文件 | | `extract_element_structure_to_file()` | 将结构保存到文件 | | `extract_element_events_to_file()` | 将事件保存到文件 | | `extract_element_animations_to_file()` | 将动画保存到文件 | | `extract_element_assets_to_file()` | 将资源保存到文件 | | `list_clone_files()` | 列出已保存的克隆文件 | | `cleanup_clone_files()` | 清理旧的克隆文件 |CDP 函数执行(14)
| 工具 | 描述 |
|---|---|
list_cdp_commands() | 列出可用的 CDP 命令 |
execute_cdp_command() | 直接运行 CDP 命令 |
add_script_to_evaluate_on_new_document() | 在页面 JavaScript 运行前安装脚本 |
get_execution_contexts() | 列出 JavaScript 执行上下文 |
discover_global_functions() | 查找全局 JavaScript 函数 |
discover_object_methods() | 查找 JavaScript 对象上的方法 |
call_javascript_function() | 执行已发现的 JavaScript 函数 |
inspect_function_signature() | 检查函数详情 |
inject_and_execute_script() | 注入并运行自定义 JavaScript |
create_persistent_function() | 创建重新加载后仍可使用的函数 |
create_page_binding() | 暴露 window.<name>(),以便页面 JavaScript 回调 Agent |
get_page_binding_calls() | 读取排队的页面绑定调用,可选择等待调用 |
resolve_page_binding_call() | 使用值或错误响应页面绑定调用 |
remove_page_binding() | 移除页面绑定并拒绝其待处理调用 |
execute_function_sequence() | 按顺序执行函数调用 |
execute_python_in_browser() | 使用 py2js 将 Python 转换为 JavaScript 并运行 |
get_function_executor_info() | 检查执行器状态 |
动态钩子(10)
| 工具 | 描述 |
|---|---|
create_dynamic_hook() | 创建受限的 Python 网络钩子 |
create_simple_dynamic_hook() | 使用常见预设创建钩子 |
list_dynamic_hooks() | 列出活动钩子 |
get_dynamic_hook_details() | 检查钩子源码和元数据 |
remove_dynamic_hook() | 移除钩子 |
get_hook_documentation() | 阅读请求对象和操作文档 |
get_hook_examples() | 查看钩子示例 |
get_hook_requirements_documentation() | 阅读匹配和最佳实践文档 |
get_hook_common_patterns() | 查看常见钩子模式 |
validate_hook_function() | 使用前验证钩子代码 |
Stealth 与 Playwright MCP
检测结果反映特定时点的情况,并取决于网站策略、地区、浏览器版本、IP 信誉度和检测器版本。请参阅 STEALTH_TESTS.md,了解 benchmarks/stealth/ 基准测试的每周自动化结果。该测试通过 GitHub Actions 在 Linux、Windows 和 macOS 上运行,并提供较早的手动测试快照。
| 特性 | Stealth Browser MCP | Playwright MCP |
|---|---|---|
| Cloudflare / Queue-It 样式的检测 | 测试中可通过常见的 JS 挑战 | 通常会被拦截 |
| 加固型网站 | 通过 nodriver 使用真实的 Chrome 系浏览器实例 | 经常被标记为自动化程序 |
| 登录限制页面 | 可通过 CDP 检查已加载内容和浮层 | 通常需要手动编写脚本 |
| UI 元素克隆 | 精确提取 CDP 信息 | 有限 |
| 网络调试 | 通过 AI 工具完整检查请求/响应 | 基础 |
| API 逆向工程 | 通过聊天检查负载 | 仅限手动工具 |
| 动态钩子系统 | 用于实时拦截的受限 Python 钩子 | 不可用 |
| 模块化架构 | 11 个部分,21-101 个工具 | 固定的工具集 |
| 工具总数 | 101 个可自定义工具 | 约 20 个 |
故障排查
找不到兼容的浏览器
安装 Chrome、Chromium 或 Microsoft Edge。服务会自动检测第一个可用的浏览器。运行 validate_browser_environment_tool() 进行诊断。
工具挂起或返回格式错误的 JSON
在 MCP stdio 传输期间,调试输出不得打印到 stdout。拉取最新的 master 分支;除非正在诊断问题,否则请关闭调试日志。
需要详细诊断信息,但不想让常规运行产生过多输出
使用 python src/server.py --debug 或设置 STEALTH_BROWSER_DEBUG=1。调试日志会输出到 stderr;默认情况下,常规 MCP stdio 运行不会产生输出。
浏览器在 Linux、Docker 或 CI 上崩溃
仅当环境有此要求时,才使用 --sandbox=false;或者确保环境支持 Chromium 沙盒。服务会自动检测 root/容器环境并调整启动参数。
孤立的 Chromium 进程或 uc_* 临时配置文件不断累积
服务会自动回收空闲的浏览器实例,并在启动时清理已跟踪的孤立浏览器进程和过期的 uc_* 临时配置文件。只有在希望完全手动管理浏览器生命周期时,才设置 BROWSER_IDLE_TIMEOUT=0。
macOS 磁盘被 code_sign_clone 文件夹占满
旧版本会让 Chrome 在每次启动时将其应用程序包复制到 com.google.Chrome.code_sign_clone,而实例崩溃或被终止后,这些副本仍会残留。现在,服务会关闭 MacAppCodeSignClone 并启动 Chrome,因此不会再生成新副本。若要删除旧版本遗留的副本,请退出 Chrome 并运行 rm -rf /private/var/folders/*/*/X/com.google.Chrome.code_sign_clone(Edge 请使用 com.microsoft.edgemac.code_sign_clone)。
工具太多,导致 AI 聊天界面杂乱
使用 --minimal 获取 20 个核心工具,使用 --xpool-safe 以兼容 xpool 的模式运行,或选择性地禁用各个部分:
python src/server.py --disable-cdp-functions --disable-dynamic-hooks --disable-progressive-cloning
出现找不到模块的错误 请确保已激活虚拟环境并安装依赖:
pip install -r requirements.txt
示例
- 市场调研 - 提取竞争对手的定价和功能,然后输出对比表。
- UI 克隆 - 使用完全一致的字体、样式、资源和交互,重建定价版块。
- 库存监控 - 监控产品页面,并在库存发生变化时发送提醒。
- API 逆向工程 - 拦截请求、梳理端点并检查数据流。
- 表单自动化 - 上传来自允许路径的文件,并验证页面的最终状态。
所有操作均由单次 AI Agent 对话驱动。
展示
Augment Code 首页主视觉复刻 - 一位用户请 Claude 复刻 augmentcode.com 的主视觉区域。Agent 启动了一个隐身浏览器,访问该网站,通过 CDP 提取完整元素(样式、结构、素材),并生成了一个像素级精准的 HTML 复刻页面,支持响应式设计和动画。整个过程在不到两分钟的对话中完成。
路线图
请参阅 ROADMAP.md 中的实时计划。欢迎贡献。
贡献
阅读 CONTRIBUTING.md 并提交 PR。欢迎首次贡献者。
如果这个项目为你节省了时间,请为仓库点个星。这比你想象的更有帮助。
支持
如果这个工具为你节省了时间或帮你赚了钱,可以考虑支持项目开发:
许可证
MIT - 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
