首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mcp-browser-use2025-05-300分享
github
启用AI代理通过自然语言与网络浏览器交互,功能包括自动浏览、表单填写、基于视觉的元素检测以及用于系统浏览器控制的结构化JSON响应。
By JovaniPink
2025-05-300
github
详情内容

支持浏览器使用的MCP服务器

smithery 徽章

browser-use开发的MCP服务器。

浏览器使用服务器 MCP 服务器

概述

本仓库包含为browser-use库开发的服务器,该库提供了一个强大的浏览器自动化系统,使AI代理能够通过自然语言与网页浏览器进行交互。该服务器基于Anthropic的模型上下文协议 (MCP)构建,并与browser-use库无缝集成。

功能

  1. 浏览器控制
  • 通过自然语言实现自动化浏览器交互
  • 导航、表单填写、点击和滚动功能
  • 标签页管理和截图功能
  • Cookie和状态管理
  1. 代理系统
  • custom_agent.py中实现自定义代理
  • 基于视觉的元素检测
  • 为操作提供结构化的JSON响应
  • 消息历史记录管理和摘要生成
  1. 配置
  • 基于环境的API密钥和设置配置
  • Chrome浏览器设置(调试端口、持久化)
  • 模型提供商选择和参数设置

依赖项

本项目依赖以下Python包:

包名 版本 描述
Pillow >=10.1.0 Python Imaging Library (PIL) 的分支,为Python解释器添加图像处理功能。
browser-use ==0.1.19 一个强大的浏览器自动化系统,使AI代理能够通过自然语言与网页浏览器进行交互。本项目的浏览器自动化功能的核心库。
fastapi >=0.115.6 现代、快速(高性能)的Web框架,用于基于Python 3.7+的标准Python类型提示构建API。用于创建暴露代理功能的服务器。
fastmcp >=0.4.1 一个包装FastAPI的框架,用于构建MCP(模型上下文协议)服务器。
instructor >=1.7.2 用于结构化输出提示和验证的库,支持OpenAI模型。能够从模型响应中提取结构化数据。
langchain >=0.3.14 用于开发大型语言模型(LLM)应用程序的框架。提供了将不同语言模型组件链接在一起并与各种API和数据源交互的工具。
langchain-google-genai >=2.1.1 LangChain与Google GenAI模型的集成,使Google的生成式AI功能能够在LangChain框架内使用。
langchain-openai >=0.2.14 LangChain与OpenAI模型的集成。使OpenAI模型(如GPT-4)能够在LangChain框架内使用。在本项目中用于与OpenAI的语言和视觉模型交互。
langchain-ollama >=0.2.2 LangChain与Ollama的集成,支持本地执行LLM。
openai >=1.59.5 OpenAI API的官方Python客户端库。用于直接与OpenAI的模型交互(如果需要,与LangChain一起使用)。
python-dotenv >=1.0.1 .env文件中读取键值对并将其设置为环境变量。简化本地开发和配置管理。
pydantic >=2.10.5 使用Python类型注释进行数据验证和设置管理。提供运行时类型强制和自动模型创建。对于定义代理中的结构化数据模型至关重要。
pyperclip >=1.9.0 跨平台的Python模块,用于复制和粘贴剪贴板功能。
uvicorn >=0.22.0 Python的ASGI Web服务器实现。用于服务FastAPI应用程序。

组件

资源

服务器实现了一个浏览器自动化系统,包含:

  • 与browser-use库的集成,提供高级浏览器控制
  • 自定义浏览器自动化功能
  • 基于代理的交互系统,具备视觉功能
  • 持久化状态管理
  • 可定制的模型设置

要求

  • 操作系统(Linux、macOS、Windows;我们尚未测试Docker或Microsoft WSL)
  • Python 3.11或更高版本
  • uv(快速的Python包安装工具)
  • Chrome/Chromium浏览器
  • Claude Desktop

快速开始

Claude Desktop

在MacOS上:~/Library/Application\ Support/Claude/claude_desktop_config.json
在Windows上:%APPDATA%/Claude/claude_desktop_config.json

通过Smithery安装

要通过Smithery自动为Claude Desktop安装Browser Use:

npx -y @smithery/cli install @JovaniPink/mcp-browser-use --client claude
开发配置
"mcpServers": {
  "mcp_server_browser_use": {
    "command": "uvx",
    "args": [
      "mcp-server-browser-use",
    ],
    "env": {
      "OPENAI_ENDPOINT": "https://api.openai.com/v1",
      "OPENAI_API_KEY": "",
      "ANTHROPIC_API_KEY": "",
      "GOOGLE_API_KEY": "",
      "AZURE_OPENAI_ENDPOINT": "",
      "AZURE_OPENAI_API_KEY": "",
      // "DEEPSEEK_ENDPOINT": "https://api.deepseek.com",
      // "DEEPSEEK_API_KEY": "",
      // 设置为false以禁用匿名遥测
      "ANONYMIZED_TELEMETRY": "false",
      // Chrome设置
      "CHROME_PATH": "",
      "CHROME_USER_DATA": "",
      "CHROME_DEBUGGING_PORT": "9222",
      "CHROME_DEBUGGING_HOST": "localhost",
      // 设置为true以在AI任务之间保持浏览器打开
      "CHROME_PERSISTENT_SESSION": "false",
      // 模型设置
      "MCP_MODEL_PROVIDER": "anthropic",
      "MCP_MODEL_NAME": "claude-3-5-sonnet-20241022",
      "MCP_TEMPERATURE": "0.3",
      "MCP_MAX_STEPS": "30",
      "MCP_USE_VISION": "true",
      "MCP_MAX_ACTIONS_PER_STEP": "5",
      "MCP_TOOL_CALL_IN_CONTENT": "true"
    }
  }
}

环境变量

关键环境变量:

# API密钥
ANTHROPIC_API_KEY=anthropic_key

# Chrome配置
# 可选:Chrome可执行文件的路径
CHROME_PATH=/path/to/chrome
# 可选:Chrome用户数据目录
CHROME_USER_DATA=/path/to/user/data
# 默认:9222
CHROME_DEBUGGING_PORT=9222
# 默认:localhost
CHROME_DEBUGGING_HOST=localhost
# 在任务之间保持浏览器打开
CHROME_PERSISTENT_SESSION=false

# 模型设置
# 选项:anthropic, openai, azure, deepseek
MCP_MODEL_PROVIDER=anthropic
# 模型名称
MCP_MODEL_NAME=claude-3-5-sonnet-20241022
MCP_TEMPERATURE=0.3
MCP_MAX_STEPS=30
MCP_USE_VISION=true
MCP_MAX_ACTIONS_PER_STEP=5

开发

设置

  1. 克隆仓库:
git clone https://github.com/JovaniPink/mcp-browser-use.git
cd mcp-browser-use
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # 在Windows上:.venv\Scripts\activate
  1. 安装依赖项:
uv sync
  1. 启动服务器
uv run mcp-browser-use

调试

对于调试,使用MCP Inspector

npx @modelcontextprotocol/inspector uv --directory /path/to/project run mcp-server-browser-use

Inspector将显示调试界面的URL。

浏览器操作

服务器支持通过自然语言进行各种浏览器操作:

  • 导航:访问URL、前进/后退、刷新
  • 交互:点击、输入、滚动、悬停
  • 表单:填写表单、提交、选择选项
  • 状态:获取页面内容、截图
  • 标签页:创建、关闭、切换标签页
  • 视觉:通过外观查找元素
  • Cookie和存储:管理浏览器状态

安全性

需要注意的是,有一些Chrome设置被配置为允许服务器控制浏览器。这是一个安全风险,应谨慎使用。该服务器不适用于生产环境。

安全详情:SECURITY.MD

贡献

我们欢迎对本项目的贡献。请按照以下步骤进行:

  1. Fork本仓库。
  2. 创建您的功能分支:git checkout -b my-new-feature
  3. 提交您的更改:git commit -m '添加一些功能'
  4. 推送到分支:git push origin my-new-feature
  5. 提交拉取请求。

对于重大更改,请先打开一个问题讨论您想要更改的内容。请根据需要更新测试以反映所做的更改。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档