README
🚀 浏览器MCP服务器
这是一个模型上下文协议(MCP)服务器,借助 Playwright 并使用 Anchor浏览器 的远程浏览器服务,提供浏览器自动化功能。该服务器使大语言模型(LLMs)能够通过Anchor基于云的浏览器与网页进行交互,这些浏览器内置了代理、隐身功能和高级特性。
✨ 主要特性
- 远程浏览器执行:使用Anchor浏览器的云基础设施,而非本地浏览器。
- 内置代理:自动轮换住宅代理并支持地理定位。
- 隐身与反检测:具备先进的浏览器指纹识别和反机器人检测功能。
- 快速轻量:使用Playwright的可访问性树,而非基于像素的输入。
- 对大语言模型友好:无需视觉模型,仅对结构化数据进行操作。
- 确定性工具应用:避免了基于截图方法常见的歧义问题。
📦 安装指南
要求
- Node.js 18 或更高版本
- Anchor浏览器API密钥(在此获取)
- VS Code、Cursor、Windsurf、Claude Desktop、Goose或任何其他MCP客户端
开始使用
1. 克隆并构建
由于这是一个自定义的浏览器MCP服务器,你需要在本地进行构建:
# 克隆仓库
git clone https://github.com/anchorbrowser/anchor-mcp.git
cd anchor-mcp
# 安装依赖并构建
npm install
npm run build
2. 获取你的Anchor API密钥
- 在 anchorbrowser.io 上注册。
- 从仪表盘获取你的API密钥。
- 复制你的API密钥(以
sk-开头)。
3. 配置MCP客户端
Cursor
添加到你的 ~/.cursor/mcp.json 文件中:
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js"
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
VS Code
添加到你的MCP配置中:
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js"
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
Claude Desktop
添加到你的 claude_desktop_config.json 文件中:
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js"
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
4. 重启你的MCP客户端
更新配置后,重启你的MCP客户端(如Cursor、VS Code等)以加载新的服务器。
配置选项
浏览器MCP服务器仅支持必要的配置选项:
node cli.js --help
可用选项
--host <host>- 将服务器绑定到的主机(默认:localhost,使用 0.0.0.0 表示所有接口)--port <port>- 用于HTTP传输的监听端口(Docker/服务器模式)
带选项的示例
{
"mcpServers": {
"anchor-browser": {
"command": "node",
"args": [
"/path/to/anchor-mcp/cli.js",
],
"env": {
"ANCHOR_API_KEY": "sk-your-api-key-here"
}
}
}
}
HTTP服务器模式(Docker)
对于Docker或无头服务器环境:
# 作为HTTP服务器运行
ANCHOR_API_KEY="sk-your-key" node cli.js --port 8931 --host 0.0.0.0
然后配置你的MCP客户端使用HTTP端点:
{
"mcpServers": {
"anchor-browser": {
"url": "http://localhost:8931/mcp"
}
}
}
为何选项如此之少?
由于Anchor浏览器在远程处理所有复杂的浏览器管理,大多数传统的浏览器选项都不再必要:
- 无需选择浏览器 - Anchor使用优化的远程浏览器。
- 无需配置代理 - Anchor提供内置的代理轮换。
- 无需管理浏览器配置文件 - 由Anchor的基础设施处理。
- 无需进行网络过滤 - 使用Anchor的仪表盘进行高级控制。
- 无需设置视口/设备选项 - 通过Anchor浏览器API进行配置。 这使得MCP服务器保持简单,并专注于关键任务:连接到Anchor的远程浏览器服务。
🔧 技术细节
工作原理
- 浏览器会话创建:当你使用浏览器工具时,MCP服务器调用Anchor的API创建一个远程浏览器会话。
- 远程连接:使用Chrome DevTools协议(CDP)通过WebSocket连接到远程浏览器。
- 工具执行:所有浏览器自动化操作都在Anchor的云基础设施中进行。
- 代理与隐身:自动轮换住宅代理并具备先进的反检测功能。
- 会话管理:每个会话都是隔离的,并且可以通过Anchor的仪表盘实时查看。
与本地浏览器相比的优势
🌐 全球代理网络
- 自动轮换住宅代理
- 针对不同地区进行地理定位
- 无需配置代理
🛡️ 高级隐身功能
- 保护浏览器指纹
- 绕过反机器人检测
- 真实的浏览器环境
☁️ 云基础设施
- 无需本地浏览器依赖
- 一致的浏览器版本
- 可扩展的执行
📊 监控与调试
- 实时查看浏览器会话
- 会话记录和跟踪
- 网络请求日志
💻 使用示例
可用工具
浏览器MCP服务器提供所有标准的浏览器自动化工具:
核心自动化
anchor_navigate- 导航到URLanchor_click- 点击元素browser_type- 在输入框中输入文本browser_snapshot- 获取页面可访问性树browser_take_screenshot- 截图browser_evaluate- 执行JavaScriptbrowser_wait_for- 等待条件满足
标签管理
browser_tab_new- 打开新标签页browser_tab_list- 列出打开的标签页browser_tab_select- 在标签页之间切换browser_tab_close- 关闭标签页
高级功能
browser_file_upload- 上传文件browser_handle_dialog- 处理警报/确认框browser_network_requests- 查看网络流量browser_pdf_save- 生成PDF(使用--caps=pdf)
常见问题解决
API密钥无效
Error: Missing ANCHOR_API_KEY environment variable
解决方案:确保你的API密钥已正确设置在MCP配置中。
构建错误
npm run build
解决方案:确保你安装了Node.js 18+ 并先运行 npm install。
连接问题
检查MCP日志中的Anchor API响应和WebSocket连接状态。
会话限制
每个Anchor API密钥都有会话限制。在 anchorbrowser.io 的仪表盘上查看使用情况。
开发
要修改或扩展浏览器MCP服务器:
# 对src/目录下的TypeScript文件进行更改
# 然后重新构建
npm run build
# 测试你的更改
node cli.js --help
服务器将自动使用Anchor的远程浏览器进行所有操作,提供基于云的浏览器自动化的优势,以及先进的代理和隐身功能。
📄 许可证
本项目采用Apache License 2.0许可 - 详情请参阅 LICENSE 文件。
支持
- Anchor浏览器:anchorbrowser.io
- 文档:Anchor浏览器文档
- MCP协议:模型上下文协议
Scan to join WeChat group