在您的桌面上运行一个Playwright浏览器和MCP服务器。您可以启动一个有头浏览器(供人类交互)以及一个可以通过HTTP API或MCP服务器控制浏览器的伴随MCP服务器。
该项目提供了两个互补的服务用于浏览器自动化和协同浏览:
这两个服务都是使用Deno和TypeScript构建的,并且可以无缝协作。
注意:目前支持Mac OS,但只需少量修改即可扩展到其他平台。
不,目前不是。这是一个(有头)网络浏览器,它像普通的人类控制浏览器一样工作,但也允许您通过HTTP API或MCP客户端控制您的会话。虽然您可以获取截图、下载文档等,但这不是一个计算机使用/操作服务。
把它想象成基于MCP的浏览器会话远程控制,以便在编码时拉取文档或其他任务。
浏览器服务:
browser.ts:主要的浏览器代理服务实现types.ts:使用Zod定义命令结构和类型MCP服务器:
mcp.ts:连接到浏览器服务的FastMCP实现安装前置条件:
安装Playwright的浏览器包(假设您已安装npx):
# 安装所有浏览器
npx playwright install
# 或安装特定浏览器
npx playwright install chromium
npx playwright install firefox
安装Deno:
curl -fsSL https://deno.land/install.sh | sh
更多详情请参阅Deno安装。
启动浏览器服务:
deno task browser
这将在http://localhost:8888(或您环境指定的端口)上启动浏览器代理。
配置您的MCP客户端:
{
"mcpServers": {
"browse-together": {
"command": "deno",
"args": ["run", "-A", "/Users/duane/Projects/browse-together-mcp/mcp.ts"]
},
}
}
您也可以直接启动MCP服务器进行测试:
deno task mcp
您可以通过设置BROWSER_TYPE环境变量或使用--browser-type标志来选择要使用的浏览器:
# 通过环境变量使用Firefox
BROWSER_TYPE=firefox deno task browser
# 或通过CLI标志
deno task browser --browser-type firefox
向/api/browser/:pageId发送POST请求,附带描述动作的JSON正文。
示例:导航到URL
curl -X POST http://localhost:8888/api/browser/myTab \
-H "Content-Type: application/json" \
-d '{"action":"goto","url":"https://example.com"}'
示例:点击元素
curl -X POST http://localhost:8888/api/browser/myTab \
-H "Content-Type: application/json" \
-d '{"action":"click","selector":"#submit-button"}'
更多细节请参阅API参考在002-browser.md。
claude_desktop_config.json:{
"mcpServers": {
"browse-together": {
"command": "/path/to/deno",
"args": [
"run",
"--allow-read",
"--allow-net",
"--allow-env",
"--allow-sys",
"/path/to/browse-together-mcp/mcp.ts"
],
"env": {
"PORT": "8888"
}
}
}
}
让我们一起浏览jsr.io。
MCP服务器向客户端暴露了以下工具:
此项目是通过一系列描述增量规划步骤的文档进行“氛围编码”创建的:
这些步骤中的一些可能已经过时或不再相关,但它们被包含进来作为参考并提供关于项目是如何构建的见解。
更多信息,请访问Sandy, UT本地氛围编码小组。
deno task browserdeno task mcpdeno fmtdeno check --all browser.ts mcp.ts types.ts+----------------+ +--------------+ +------------------+
| | | | | |
| Cline/LLM | ---- | MCP Server | ---- | Browser Service |
| (MCP Client) | | (mcp.ts) | HTTP | (browser.ts) |
| | | | | |
+----------------+ +--------------+ +------------------+
| |
FastMCP API Playwright API
| |
STDIO/SSE Chromium Browser
系统的工作方式如下:
browser.ts)使用Playwright管理一个持久性的Chromium浏览器实例。mcp.ts)使用FastMCP提供标准的MCP接口。