article
README
🚀 浏览器代理服务与MCP服务器
本项目可让你在桌面上运行 Playwright 浏览器和 MCP 服务器。你既能启动一个有头浏览器用于人类交互,又能配套运行一个 MCP 服务器,该服务器可通过 HTTP API 或自身来控制浏览器。此项目提供了两个相辅相成的服务,用于浏览器自动化和协同浏览,为相关操作带来极大便利。
✨ 主要特性
- 多浏览器支持:支持 Chromium(默认)或 Firefox,满足不同用户的浏览器使用需求。
- 持久浏览器会话:一个浏览器实例在其服务生命周期内持续运行,无需频繁重启,提升使用效率。
- 页面管理:可列出所有活跃的浏览器页面,并能关闭特定页面,方便用户管理浏览器页面。
- 内容操作:支持填写表单字段、点击元素、获取页面 HTML 内容以及执行浏览器上下文中的 fetch 请求,实现多样化的页面操作。
📚 详细文档
此项目通过一系列文档描述了增量规划步骤:
- 初始设计决策(注意:项目结构描述可能已过时)
- 浏览器代理服务概述(多会话 - 历史)
- 单会话架构重构
- 类型安全计划(Zod)
- 页面弹性计划
- 使用的库
- 测试策略
- 配置
- 安全考虑
- Deno 最佳实践
- MCP 服务器实现计划
- FastMCP 重构
其中部分步骤可能已过时或不再相关,但作为参考和了解项目构建过程而被保留。
更多关于我们的本地沙迪(Sandy)犹他州振动编码小组的信息,请访问 vibe-coders.org。
📦 安装指南
开发步骤
- 运行浏览器代理:
deno task browser - 运行MCP服务器:
deno task mcp - 格式化代码:
deno fmt - 检查依赖项:
deno check --all browser.ts mcp.ts types.ts
🔧 技术细节
架构
+----------------+ +--------------+ +------------------+
| | | | | |
| Cline/LLM | ---- | MCP Server | ---- | Browser Service |
| (MCP 客户端) | | (mcp.ts) | HTTP | (browser.ts) |
| | | | | |
+----------------+ +--------------+ +------------------+
| |
FastMCP API Playwright API
| |
标准输入/输出流 Chromium 浏览器
系统工作原理如下:
- 浏览器服务(
browser.ts)使用 Playwright 管理一个持久的 Chromium 浏览器实例。 - MCP 服务器(
mcp.ts)提供标准 MCP 接口,使用 FastMCP。 - MCP 服务器通过 HTTP 将命令转发到浏览器服务。
- MCP 客户端 如 Claude Desktop 可以通过简单的工具调用来使用所有浏览器功能。
Scan to join WeChat group