MCP Browser Use Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Includes support for Google API integration as evidenced by the GOOGLE_API_KEY environment variable in the configuration.

  • Supports integration with Ollama for local execution of Large Language Models, providing an alternative to cloud-based AI providers.

  • Integrates with OpenAI's models for language and vision capabilities, allowing the browser automation system to leverage OpenAI's AI models for processing and generating content.

MCP 服务器与浏览器一起使用

浏览器使用的MCP 服务器。

概述

此存储库包含浏览器使用库的服务器,该库提供了一个强大的浏览器自动化系统,使AI代理能够通过自然语言与Web浏览器交互。该服务器基于Anthropic的模型上下文协议(MCP)构建,并与浏览器使用库无缝集成。

特征

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

依赖项

该项目依赖于以下 Python 包:

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

成分

资源

该服务器通过以下方式实现浏览器自动化系统:

  • 与浏览器使用库集成以实现高级浏览器控制
  • 自定义浏览器自动化功能
  • 具有视觉功能的基于代理的交互系统
  • 持久状态管理
  • 可定制的模型设置

要求

  • 操作系统(Linux、macOS、Windows;我们尚未测试 Docker 或 Microsoft WSL)
  • Python 3.11 或更高版本
  • uv(快速 Python 包安装程序)
  • Chrome/Chromium浏览器
  • 克劳德桌面

快速入门

克劳德桌面

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

通过 Smithery 安装

要通过Smithery自动安装 Claude Desktop 的浏览器使用:

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": "", // Set to false to disable anonymized telemetry "ANONYMIZED_TELEMETRY": "false", // Chrome settings "CHROME_PATH": "", "CHROME_USER_DATA": "", "CHROME_DEBUGGING_PORT": "9222", "CHROME_DEBUGGING_HOST": "localhost", // Set to true to keep browser open between AI tasks "CHROME_PERSISTENT_SESSION": "false", // Model settings "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 Keys ANTHROPIC_API_KEY=anthropic_key # Chrome Configuration # Optional: Path to Chrome executable CHROME_PATH=/path/to/chrome # Optional: Chrome user data directory CHROME_USER_DATA=/path/to/user/data # Default: 9222 CHROME_DEBUGGING_PORT=9222 # Default: localhost CHROME_DEBUGGING_HOST=localhost # Keep browser open between tasks CHROME_PERSISTENT_SESSION=false # Model Settings # Options: anthropic, openai, azure, deepseek MCP_MODEL_PROVIDER=anthropic # Model name 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 # On 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

检查器将显示调试接口的 URL。

浏览器操作

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

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

安全

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

安全详情: SECURITY.MD

贡献

欢迎大家为本项目贡献力量。请按以下步骤操作:

  1. 分叉此存储库。
  2. 创建你的功能分支: git checkout -b my-new-feature
  3. 提交您的更改: git commit -m 'Add some feature'
  4. 推送到分支: git push origin my-new-feature
  5. 提交拉取请求。

对于重大变更,请先提交问题讨论您想要修改的内容。请根据需要更新测试以反映所做的任何更改。

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

使 AI 代理能够使用自然语言与 Web 浏览器交互,具有自动浏览、表单填写、基于视觉的元素检测和结构化 JSON 响应等功能,可实现系统的浏览器控制。

  1. Overview
    1. Features
      1. Dependencies
        1. Components
          1. Resources
          2. Requirements
          3. Quick Start
          4. Environment Variables
        2. Development
          1. Setup
          2. Debugging
        3. Browser Actions
          1. Security
            1. Contributing
              ID: tjea5rgnbv