递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 22|回复: 0
打印 上一主题 下一主题

[AI开发] [开源]火山视窗写MCP服务端,334工具,AI浏览器自动化

[复制链接]

8

主题

84

帖子

778

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
778
跳转到指定楼层
楼主
发表于 10 小时前 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
用火山视窗写了一个 MCP 服务端,让 Cursor / Claude 真正长出"浏览器的手脚"

开源地址:https://github.com/AI-XiaoDao/ai-browser-mcp | MIT 协议 | v3.2.0




实际界面(欢迎页控制台 / 真实 CEF 浏览器窗口 / 启动控制台日志):
01-欢迎页控制台.png (281.56 KB, 下载次数: 0, 售价: 1 金钱)
02-浏览器窗口.png (266.98 KB, 下载次数: 0, 售价: 1 金钱)
03-控制台窗口.png (29.29 KB, 下载次数: 0, 售价: 1 金钱)

一、为什么折腾这个

现在 Cursor、Claude Desktop、Cline、Trae 这些 AI 编程助手都支持 MCP(Model Context Protocol),理论上可以调用外部工具了。但真用起来会发现一个断层:

  • 让 AI 帮我抓个页面数据 —— 它只能给我一段代码,让我自己跑;
  • 让 AI 帮我分析某个网站的 JS 加密 —— 它看不到真实运行环境,只能猜;
  • 让 AI 帮我填个表单、点个按钮 —— 它没有手。


现有的浏览器自动化 MCP 方案(Playwright / Puppeteer 那一套)大多是 Node 驱动,要装环境、装依赖,而且能力基本停在"导航 + 点击 + 取值",网络层、内核层、逆向层都够不着。

所以就用火山视窗 + FBrowser CEF 内核自己写了一个:把一整个真实浏览器内核包成一个本地 MCP 服务端,AI 助手连上来就能直接开浏览器、跑 JS、下断点、抓包、改请求。

二、它能干什么(334 个工具)

类别数量代表工具
系统/元工具9ping、mcp_status、mcp_result、batch(≤200 条批量)
导航 / 页面10navigate、get_url、get_title、reload
JS 执行4evaluate、execute_js、console_eval、inject(持久 V8)
DOM 操作14dom_query、dom_click、snapshot、element_action
填表 RPA10fill_set_value、fill_click、fill_form(批量填表)
网络抓包5network、network_body、collect、network_export(HAR)
资源拦截1intercept(modify / block / redirect / replace_file)
Cookie / 代理8get_cookies、set_cookie、set_proxy、set_s5_proxy
断点调试15debugger_flow、debugger_auto、set_breakpoint、inspect
JS 逆向34reverse_hook、reverse_scan_crypto、reverse_call_fn
指纹伪装45+fingerprint、antidetect_presets、vip_fingerprint_*
内核层15kernel_scheme、kernel_cert、kernel_auth、kernel_reactor
输入交互14mouse_*、key_event、touch_*
窗口 / 系统15window_info、file_dialog、ipc_*
工作流4workflow_list、workflow_run、workflow_stop


v3.2.0 做过一轮全量真机核验:311 个通过 / 23 个受控跳过 / 0 失败,35 秒跑完一轮,全程零冷重启。

三、跑起来只要三步

1. 下载解压(Windows x64 约 160MB,win32 约 140MB)
Releases 页面:https://github.com/AI-XiaoDao/ai-browser-mcp/releases

2. 启动
双击 AI-Fbowser-Mcp.exe,浏览器访问 http://127.0.0.1:9222/health 看到 {"status":"ok"} 就是好了。不用装 Node 环境、不用配依赖。

3. 接到 AI 助手上(以 Cursor 为例)

  1. {
  2.   "mcpServers": {
  3.     "ai-browser": {
  4.       "command": "node",
  5.       "args": ["D:/你的路径/mcp_bridge.js"]
  6.     }
  7.   }
  8. }
复制代码


懒得手写的话,直接开 http://127.0.0.1:9222/ 欢迎页,上面有一键复制配置;也支持 auto_install_agents 自动写入 Cursor / Claude / Codex / Cline / Windsurf。

四、几个实际用起来的样子

▸ 一步爬虫
不用先导航再等待再取值,一个工具全干完:

  1. browser_scrape {
  2.   url: "https://example.com/list",
  3.   extract_selector: ".item .title",
  4.   wait_selector: ".item"
  5. }
复制代码


▸ 抓接口而不是扒 HTML
很多时候数据在 XHR 里,扒 DOM 是走弯路:

  1. browser_network { detail_enable: true }   // 开始记录
  2. // ……手动或自动操作页面……
  3. browser_network { list: true }              // 直接拿到请求列表和响应体
复制代码


▸ 批量操作
200 条指令打包一次发,减少来回:

  1. batch {
  2.   commands: [
  3.     { name: "browser_navigate", arguments: { url: "..." } },
  4.     { name: "browser_wait",     arguments: { selector: "#app" } },
  5.     { name: "browser_get_text", arguments: { selector: "h1" } }
  6.   ]
  7. }
复制代码


▸ JS 逆向 / 断点调试
这块是纯 JS 注入方案做不了的:断点 → 看调用栈 → 求值 → 导出加密函数,`debugger_flow` 把这些串成一条命令;`reverse_scan_crypto` 能扫常见加密算法特征,`reverse_hook` 可以挂指定函数看参数进出。混淆代码也能先过一遍 `reverse_detect_obfuscator`。

▸ 同步 / 异步
轻量读操作默认同步返回;重操作返回 task_id,用 mcp_result 轮询。嫌麻烦就加 max_ms 让服务端阻塞等你,或 async_only:true 强制异步。

五、技术架构

  1. Cursor / Claude Desktop  ←→  mcp_bridge.js (stdio 桥接)
  2.             │
  3.             ▼
  4.     127.0.0.1:9222 (HTTP/WS JSON-RPC)
  5.             │
  6.     MCP_Server.wsv (MCP 引擎 / 工具注册 / 路由)
  7.     ├── Core      — 导航 / JS / DOM / CDP / 截图 / 拦截
  8.     ├── Form      — FBrowser 填表框架
  9.     ├── VIP       — 指纹 / 代理 / 高级键鼠 / CDP
  10.     ├── Kernel    — 内核层:自定义协议 / 证书 / 认证 / 下载 / IPC
  11.     ├── Reverse   — JS 逆向:Hook / 断点 / 堆 / 混淆检测
  12.     ├── System    — 系统 / 进程 / 窗口
  13.     ├── Workflow  — JSON 工作流引擎
  14.     ├── HTTP      — HTTP / WebSocket 路由
  15.     └── Events    — 浏览器事件 Hook 系统
  16.             │
  17.     FBrowser CEF (libcef.dll)
复制代码


六、给同样用中文编程的朋友

这项目的意义不只是"又一个 MCP 服务端",而是:它整个是用火山视窗写的

`src/` 下 16 个 `.wsv` 全部开源——MCP 协议解析、JSON-RPC 路由、CEF 内核调用、CDP 协议对接、事件 Hook 系统,都是中文编程写出来的,编译出来运行时零依赖。想学 CEF 开发、想学怎么把 CEF 包成服务端、想看 MCP 协议在中文编程里怎么落地,直接扒源码比看英文文档快得多。

至少我自己翻遍了能找到的资料,火山 + CEF + MCP 这条路上没什么现成范例,所以索性把踩过的坑都留在代码里了。

七、几个说明

  • 隐私:纯本地服务,监听 127.0.0.1:9222,数据不出本机;
  • 协议:MIT,源码和文档全开放,可商用、可二次开发;
  • 平台:目前只有 Windows(x64 / win32);
  • 反馈:有问题直接回帖或者提 Issue,我基本都在。






关于作者
这个项目是我自己写的,发在这儿是因为社区里用中文编程 + CEF 的人不少,应该用得上,也算交个朋友。用得上的话给个 Star 就是最大的支持;用不上或者觉得哪里做得不对,欢迎直接拍砖。

GitHub:https://github.com/AI-XiaoDao/ai-browser-mcp
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-9-14 12:42 , Processed in 0.085721 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表