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

Crawlio Browser MCP

MCP Server

crawlio-browser

Crawlio Agent 是一个通过 Chrome DevTools Protocol (CDP) 控制真实 Chrome 浏览器的 MCP 服务器,提供 96 种工具(92 种浏览器工具 + 3 种会话录制 + 1 种编译器),支持框架感知智能交互,适用于 SPA、认证页面和动态内容处理。

工具数

90

提示词数

0

GitHub Stars

0

资源数

0
浏览器自动化TypeScriptClaudeClaude DesktopClaudeCursorWindsurfClineVS Code

安装说明

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

作者 / 组织

Crawlio-app

提供方

Crawlio-app

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

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

命令预览

npx crawlio-browser init

详细介绍

此存储库已移动。 积极发展继续 Crawlio-app/crawlio-browser-agent. 安装最新版本: npx -y crawlio-browser

克劳利奥特工

MCP服务器,通过CDP让AI完全控制实时Chrome浏览器。96个工具(92个浏览器+3个会话记录+1个编译器)具有框架感知智能,可以捕获静态爬虫无法看到的内容。

](https://www.npmjs.com/package/crawlio-browser) ![License: MIT](LICENSE)

何时使用Crawlio代理

当您的AI需要与…交互时,请使用Crawlio Agent 真实浏览器 --SPA、经过身份验证的页面、动态内容、JS渲染框架。与无头浏览器工具不同,Crawlio Agent连接到 您的实际Chrome 通过轻量级扩展,让人工智能访问您的登录会话、Cookie和完整浏览器状态。

克劳利奥特工vs剧作家MCP: 剧作家MCP推出无头浏览器。Crawlio Agent连接到您现有的Chrome浏览器——没有单独的浏览器进程,没有登录流,可以完全访问您的标签和会话。

快速开始

  1. 安装 Chrome 扩展
  2. 运行init向导:
   npx crawlio-browser init

就是这样。自动检测和配置Claude Code、Cursor、VS Code、Codex、Claude Desktop、ChatGPT Desktop和另外8个MCP客户端。

初始化向导选项

npx crawlio-browser init              # Default: code mode, stdio transport
npx crawlio-browser init --full       # Full mode (96 individual tools)
npx crawlio-browser init --portal     # Portal mode (persistent HTTP server)
npx crawlio-browser init --cloudflare # Add Cloudflare MCP (89 tools, no wrangler)
npx crawlio-browser init --dry-run    # Show what would happen
npx crawlio-browser init --yes        # Skip prompts (CI / scripted installs)
npx crawlio-browser init -a claude    # Target specific MCP client

手动设置(任何客户端)

Per-client manual config

克劳德桌面版 --添加到 claude_desktop_config.json:

{ "mcpServers": { "crawlio-browser": { "command": "npx", "args": ["-y", "crawlio-browser"] } } }

克劳德代码(门户模式) --开始 npx crawlio-browser --portal,然后添加到 .mcp.json:

{ "mcpServers": { "crawlio-browser": { "type": "http", "url": "http://127.0.0.1:3001/mcp" } } }

克劳德代码(stdio):

claude mcp add crawlio-browser -- npx -y crawlio-browser

光标 --添加到 .cursor/mcp.json:

{ "mcpServers": { "crawlio-browser": { "command": "npx", "args": ["-y", "crawlio-browser"] } } }

帆板运动 --添加到Windsurf设置>MCP:

{ "mcpServers": { "crawlio-browser": { "command": "npx", "args": ["-y", "crawlio-browser"] } } }

Cline(VS代码) --添加到 settings.json:

{ "cline.mcpServers": { "crawlio-browser": { "command": "npx", "args": ["-y", "crawlio-browser"] } } }

ChatGPT桌面 --设置>集成>MCP: 网址: http://127.0.0.1:3001/mcp |类型:流式HTTP

运作原理

AI Client (stdio)  -->  MCP Server (Node.js)  -->  Chrome Extension (MV3)
                        crawlio-browser               WebSocket -> CDP

MCP服务器通过WebSocket与Chrome扩展程序通信。该扩展程序通过Chrome DevTools协议控制浏览器,该协议与Chrome DevTools和Playwright使用的协议相同。

体系结构:JIT上下文运行时

执行运行时建立在四个支柱之上,将其与无状态云沙盒分开:

  • 注意稀释治疗 --3工具(search, execute, connect_tab)而不是96。代理通过以下方式按需发现功能 search,保持上下文窗口干净,工具选择准确。
  • 多态语境 --在代码执行之前,运行时会探测浏览器中的框架签名,并注入变形 smart 带有框架原生访问器(React、Vue、Next.js、Shopify等)的对象。--跨4层的17个命名空间)。
  • 确定执行 --每一个 smart.click() 运行具有渐进退避的可操作性检查(可见性、维度、启用状态、覆盖检测),然后强制执行操作后解决延迟(500ms/300ms/1000ms)。
  • 代理REPL --运行时保持与浏览器的持久连接。当脚本失败时,浏览器状态将被保留——代理读取结构化错误并对同一实时会话进行迭代。
execute call lifecycle:
  search -> discover capabilities
  detect -> probe DOM for active frameworks
  inject -> build polymorphic smart object
  run    -> execute with actionability checks + settle delays
  return -> result or structured error (browser state preserved)

阅读完整的架构指南→

两种模式

代码模式(3个工具)--默认

将96个工具拆分为3个高级工具,模式标记减少约95%:

工具说明
search按关键字查找可用命令
execute使用以下命令运行异步JS bridge, crawlio, smart, sleep,以及 compileRecording 在范围内
connect_tab连接到浏览器选项卡
// Navigate and screenshot
await bridge.send({ type: 'browser_navigate', url: 'https://example.com' }, 30000);
await sleep(2000);
const screenshot = await bridge.send({ type: 'take_screenshot' }, 10000);
return screenshot;

全模式(96工具)

所有直接接触LLM的工具。启用 --full:

npx crawlio-browser init --full

智能对象

在代码模式下 smart 对象为框架感知助手提供了自动等待和可操作性检查。

核心方法

方法说明
smart.evaluate(expression)通过CDP在页面中执行JS
smart.click(selector, opts?)自动等待点击,500毫秒结束
smart.type(selector, text, opts?)自动等待型,300ms稳定
smart.navigate(url, opts?)以1000ms的稳定时间导航
smart.waitFor(selector, timeout?)轮询,直到元素可操作
smart.snapshot()可访问性树快照

高阶方法

方法说明
smart.scrollCapture()滚动到底部,沿途捕获内容
smart.waitForIdle()等待网络+DOM稳定
smart.extractPage(opts?)结构化页面证据提取(返回 PageEvidence)
smart.comparePages(a, b)在10个维度上区分两个页面快照(返回 ComparisonEvidence)

类型化证据

结构化分析结果的方法:

方法说明
smart.finding(data)创建已验证的 Finding 有信心得分
smart.findings()获取所有会话累积结果
smart.clearFindings()重置会话查找状态

研究结果支持置信度传播——数据收集中的差距会自动限制置信度并增加 confidenceCapped / cappedBy 领域。

框架命名空间

当检测到框架时,智能对象会公开特定于框架的助手:

React — smart.react

方法返回
getVersion()版本字符串和捆绑包类型
getRootCount()React根组件的数量
hasProfiler()分析器是否可用
isHookInstalled()是否安装了DevTools挂钩

Vue.js — smart.vue

方法返回
getVersion()Vue版本字符串
getAppCount()Vue应用程序实例数
getConfig()应用程序配置对象
isDevMode()是否启用了DevTools

Angular — smart.angular

方法返回
getVersion()ng版本属性值
isDebugMode()调试API是否可用
isIvy()Ivy编译器是否处于活动状态
getRootCount()角根元素的数量
getState()完整状态对象

Svelte — smart.svelte

方法返回
getVersion()Svelte版本字符串
getMeta()Svelte元数据对象
isDetected()是否检测到Svelte

Redux — smart.redux

方法返回
isInstalled()是否安装了Redux DevTools
getStoreState()满店状态

Alpine.js — smart.alpine

方法返回
getVersion()Alpine版本字符串
getStoreKeys()存储对象密钥
getComponentCount()计数 [x-data] 组件

Next.js — smart.nextjs

方法返回
getData()__NEXT_DATA__ 对象
getRouter()路由器状态(路径名、查询、asPath)
getSSRMode()SSR模式(混合、应用路由器、静态)
getRouteManifest()当前页面数据

Nuxt — smart.nuxt

方法返回
getData()__NUXT__ 对象
getConfig()应用程序配置
isSSR()服务器是否渲染

Remix — smart.remix

方法返回
getContext()__remixContext 对象
getRouteData()来自状态的加载器数据

Shopify — smart.shopify

方法返回
getShop()店铺元数据(主题、地区、货币)
getCart()购物车对象

WordPress — smart.wordpress

方法返回
isWP()WordPress是否存在
getRestUrl()REST API终结点
getPlugins()活动插件列表

More frameworks — Gatsby, WooCommerce, Laravel, Django, Drupal, jQuery

命名空间方法
smart.gatsbygetData(), getPageData()
smart.woocommercegetParams()
smart.laravelgetCSRF()
smart.djangogetCSRF()
smart.drupalgetSettings()
smart.jquerygetVersion()

会话录制

将浏览器会话记录为结构化数据,然后将其编译为可重用的自动化技能。

工具说明
start_recording开始记录交互、导航、网络、控制台
stop_recording停止并返回完整会话数据
get_recording_status检查录制是否处于活动状态
compile_recording将录制的会话转换为SKILL.md自动化

录制过程中会自动拦截12个交互工具(点击、键入、导航、滚动等)。每次交互都会捕获参数、结果、时间和页面URL。

// In code mode: record, interact, compile
await bridge.send({ type: 'start_recording' }, 10000);
// ... interact with the page ...
const session = await bridge.send({ type: 'stop_recording' }, 10000);
const skill = compileRecording(session.session, 'my-automation');
return skill;

自动设置

可变工具(browser_click, browser_type, browser_navigate, browser_select_option)使用剧作家启发的可操作性检查:

  1. 飞行前:在操作之前轮询元素可见性、稳定性和启用状态
  2. 行动:分派CDP命令
  3. 后结算:等待DOM突变随着逐步回退而停止 [0, 20, 100, 100, 500]ms

这意味着AI不需要手动添加 sleep()waitFor() 操作之间的调用——这些工具会自动处理SPA渲染延迟。

框架检测

检测 64项技术 使用全局变量、DOM标记、元标记、HTTP标头和脚本URL跨4层:

层级框架信号强度
元框架Next.js、Nuxt、SvelteKit、Remix、Gatsby独特的全局变量+父级检测
核心React、Vue.js、Angular、Svelte、Astro、Qwik、SolidJS、Lit、Preact全局+DOM标记
CMS和平台WordPress、Shopify、Webflow、Squarespace、Wix、Drupal、Magento、Ghost、Bubble元标签+全局变量
库和工具jQuery、Bootstrap、Tailwind CSS、Alpine.js、HTMX、Turbo、模板、Redux、Ember.js、Backbone.jsDOM+全局变量

多框架检测返回 主要的,重要的 框架(元框架优先)加上 subFrameworks 整个堆栈的数组。

工具参考

连接和状态

工具说明
connect_tab通过URL、选项卡ID或活动选项卡连接到浏览器选项卡
disconnect_tab断开与当前选项卡的连接
list_tabs列出所有打开的带有ID和URL的选项卡
get_connection_status检查CDP连接状态
reconnect_tab强制重新连接以修复过时的连接
get_capabilities列出所有工具及其可用性

页面捕获

工具说明
capture_page完整捕获:框架+网络+控制台+DOM
detect_framework检测JS框架和版本
start_network_capture开始录制网络请求
stop_network_capture停止录制并返回捕获的请求
get_console_logs获取控制台日志(错误、警告、信息)
get_cookies获取Cookie(敏感值已编辑)
get_dom_snapshot简化的DOM树,支持shadow DOM和iframe
take_screenshot屏幕截图为base64 PNG
get_response_body获取捕获的网络请求的响应正文

导航与交互

工具说明
browser_navigate导航到URL(自动结算)
browser_click通过CSS选择器点击元素(自动定位、左/右/中、修饰符)
browser_double_click双击元素
browser_type在元素中键入文本(自动结算)
browser_press_key按键盘键(Enter、Tab、Escape、快捷键)
browser_hover将鼠标悬停在元素上
browser_select_option选择 `` 按价值(自动结算)
browser_scroll滚动页面或元素
browser_drag从一个元素拖动到另一个元素
browser_file_upload将文件上传到 ``
browser_wait等待N毫秒
browser_wait_for等待元素状态(可见、隐藏、已连接、已分离)

网络

工具说明
browser_intercept阻止、修改URL模式的标头或模拟响应
emulate_network节流网络(离线、3G、4G、WiFi预设)
set_cache_disabled禁用/启用浏览器缓存
set_extra_headers向所有请求添加自定义标头
get_websocket_connections列出活动的WebSocket连接
get_websocket_messages获取WebSocket消息历史记录

框架和标签

工具说明
get_frame_tree获取框架层次结构(main+iframe)
switch_to_frame将执行上下文切换到iframe
switch_to_main_frame切换回主机
create_tab使用URL创建新选项卡
close_tab按ID关闭选项卡
switch_tab按ID聚焦选项卡

Cookie和存储

工具说明
set_cookie设置cookie(通过CDP支持httpOnly)
delete_cookies按名称/域/路径删除Cookie
get_storage读取本地存储或会话存储
set_storage写入存储项
clear_storage清除所有存储项
get_databases列出IndexedDB数据库
query_object_store查询IndexedDB对象存储
clear_database清除或删除IndexedDB数据库

对话

工具说明
get_dialog获取待处理的JS对话框(警报/确认/提示)
handle_dialog接受或取消对话框

仿真

工具说明
set_viewport设置视口尺寸
set_user_agent覆盖用户代理字符串
emulate_device模拟设备(iPhone、iPad、Pixel、Galaxy、台式机)
set_geolocation覆盖地理位置坐标
set_stealth_mode反检测模式(选择加入,修补Web驱动程序指纹)

安全

工具说明
get_security_stateTLS证书详细信息、协议、密码
ignore_certificate_errors忽略临时环境的证书错误

服务人员

工具说明
list_service_workers列出所有服务人员注册
stop_service_worker停止/注销服务工作者
bypass_service_worker绕过服务工作者处理网络请求

DOM操作

工具说明
set_outer_html替换元素的HTML
set_attribute设置元素属性
remove_attribute删除元素属性
remove_node从DOM中删除元素

CSS和JS覆盖率

工具说明
start_css_coverage / stop_css_coverage跟踪使用了哪些CSS规则
start_js_coverage / stop_js_coverage跟踪执行了哪些JS代码
get_computed_style获取元素的解析CSS属性
force_pseudo_state力:悬停、:聚焦、:活动状态

性能和内存

工具说明
get_performance_metricsChrome指标+网络重要信息(LCP、CLS、FID)
get_dom_counters统计DOM节点、文档、事件侦听器
force_gc强制垃圾收集
take_heap_snapshotV8堆快照摘要

PDF和辅助功能

工具说明
print_to_pdf生成PDF(自定义纸张、边距、方向)
get_accessibility_tree屏幕阅读器审计的可访问性树

目标和背景

工具说明
get_targets列出所有Chrome目标(页面、工作程序、扩展程序)
attach_to_target将CDP会话附加到任何目标
create_browser_context创建孤立的(类似隐身的)上下文

可视化调试

工具说明
highlight_element用彩色覆盖物突出显示元素
show_layout_shifts可视化CLS区域
show_paint_rects可视化油漆/重新油漆区域

会话录制

工具说明
start_recording开始录制浏览器会话
stop_recording停止录制并返回会话数据
get_recording_status检查录制状态
compile_recording将会话编译为SKILL.md自动化

Crawlio应用程序集成

可选--必需 Crawlio.app 在本地运行。
工具说明
extract_site开始对活动选项卡的URL进行爬网
get_crawl_status获取爬网进度和状态
get_enrichment获取浏览器丰富数据
get_crawled_urls获取带有状态和分页的已爬网URL
enrich_url在一次通话中导航+捕获+提交丰富内容

需求

  • Node.js >= 18
  • (或铬)与 Crawlio代理扩展 安装
  • Crawlio.app (可选)--用于网站爬行和丰富

许可证

麻省理工学院

目录标签

目录标签

浏览器自动化TypeScriptClaude本地部署动态内容抓取SPA交互AI浏览器控制会话录制

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS Code

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

crawlio-browser

工具数量(toolCount,工具数)

90

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP