想象一下,你只需要用自然语言告诉AI“帮我登录我的社交媒体账号,并下载昨天互动过的所有评论”,AI就能自动打开浏览器、输入账号密码、点击链接、滚动页面,最后把数据整理好交给你。这不再是科幻场景,因为有了mcp-browser-use这个开源项目,它就能让大型语言模型(LLM)像人类一样操作浏览器,完成复杂的网页任务。

项目基本信息

信息项详情
项目名称mcp-browser-use
GitHub地址https://github.com/JovaniPink/mcp-browser-use
项目描述FastAPI server implementing MCP protocol Browser automation via browser-use library.
作者JovaniPink
开源协议Unknown
开源状态公开状态
LanguagesPython 98.9%, Dockerfile 1.1%
支持平台Windows / macOS / Linux
最后更新2026-03-18

一、项目介绍

mcp-browser-use是一个基于Python的MCP(模型上下文协议)服务器。它的核心功能是封装了强大的browser-use库,并通过FastAPI和FastMCP框架,将这个浏览器自动化能力以标准MCP工具的形式暴露出来。简单来说,任何支持MCP协议的客户端(比如Claude Desktop)都可以调用这个服务器,让AI助手执行浏览器自动化任务。

这个项目最吸引人的地方在于,你不需要编写复杂的Puppeteer或Playwright脚本。你只需要给AI一个清晰的任务描述,比如“在谷歌搜索‘MCP协议’,然后点击第一个结果链接”,mcp-browser-use就会在后台驱动真实的Chrome浏览器去完成这些操作,并把最终结果(比如页面标题或截图)返回给AI。

二、核心优势

开源免费

项目代码完全公开,基于Python编写,你可以自由地学习、修改和集成到自己的项目中。没有任何隐藏的费用或闭源组件。

社区支持

项目在GitHub上已经获得了58颗星和13次复刻,有6位贡献者参与。从提交记录看,作者JovaniPink在持续更新,最近一次提交就在2025年9月,社区活跃度良好。

持续更新

项目有113次提交记录,并且通过Renovate自动管理依赖更新,确保使用的browser-use库和MCP SDK都是较新版本。这意味着你会获得持续的改进和安全修复。

功能丰富且集中化配置

与其他浏览器自动化工具不同,mcp-browser-use非常注重配置与逻辑的分离。你可以在一个地方(环境变量或.env文件)配置LLM模型、浏览器参数(无头模式、代理、持久化用户数据目录),而不需要修改核心代码。它支持多种主流LLM提供商,包括Anthropic、OpenAI、DeepSeek、Google Gemini和Azure OpenAI。

三、适用场景

开发者学习和参考

对于想学习如何将复杂的Python库(如browser-use)封装成标准MCP服务器的开发者来说,这是一个完美的范例项目。它的代码结构清晰,分为agent、browser、controller等模块,非常易于阅读。

个人项目使用和集成

如果你正在开发一个需要网页自动化的AI应用,例如:

  • 一个能自动从多个网站抓取价格信息的比价机器人
  • 一个能帮你自动填写各类表单的助手
  • 一个能执行定期网站健康检查的监控工具

那么mcp-browser-use可以作为理想的后端引擎。你只需要在AI提示词中描述任务,它就能完成具体操作。

企业级应用开发

在企业环境中,自动化工作流可以节省大量人力成本。例如,可以构建一个系统,让AI每天定时登录内部管理后台,导出前一天的数据报表,并通过邮件发送给相关人员。整个过程无需人工干预。

日常工作和效率提升

对于普通用户,通过与Claude Desktop等客户端集成,你可以用自然语言完成许多重复性网页操作,例如:

  • “帮我订阅这个博客的最新文章”
  • “自动填写并提交这份在线申请表”
  • “把我购物车里的所有商品信息提取到一个文本文件里”

四、安装教程

系统要求

工具用途下载/安装方式
Python运行环境[https://python.org/] (版本要求:3.11 或以上)
Git下载项目代码[https://git-scm.com/]
Google Chrome或Chromium浏览器自动化目标官方下载
uvPython包管理器和项目管理工具(推荐)pip install uv

详细安装步骤

第一步:克隆项目到本地

打开终端(Terminal),执行以下命令:

git clone https://github.com/JovaniPink/mcp-browser-use.git
cd mcp-browser-use

第二步:使用uv同步依赖

uv是一个快速的Python包和项目管理器。执行以下命令会自动创建虚拟环境并安装所有依赖:

uv sync

第三步:配置环境变量

复制示例环境变量文件,并根据你的需要进行编辑:

cp sample.env .env

打开.env文件,至少需要配置以下内容:

  • 选择一个LLM提供商(如ANTHROPIC_API_KEYOPENAI_API_KEY),并填入你的API密钥。
  • 设置MCP_MODEL_PROVIDERMCP_MODEL_NAME,例如:

    MCP_MODEL_PROVIDER=anthropic
    MCP_MODEL_NAME=claude-3-5-sonnet-20241022
  • (可选)配置浏览器行为,如设置BROWSER_USE_HEADLESS=true以无头模式运行。

第四步:启动服务器

在项目根目录下,运行以下命令启动MCP服务器:

uv run mcp-browser-use

如果看到类似“Starting FastMCP server...”的日志,说明服务器已成功启动。

第五步:集成到Claude Desktop(可选)

如果你想在Claude Desktop中使用它,需要编辑Claude Desktop的配置文件(通常位于~/Library/Application Support/Claude/claude_desktop_config.json on macOS或%APPDATA%\Claude\claude_desktop_config.json on Windows),添加以下内容:

{
  "mcpServers": {
    "mcp-browser-use": {
      "command": "uvx",
      "args": ["mcp-browser-use"],
      "env": {
        "ANTHROPIC_API_KEY": "你的API密钥",
        "MCP_MODEL_PROVIDER": "anthropic",
        "MCP_MODEL_NAME": "claude-3-5-sonnet-20241022"
      }
    }
  }
}

保存文件后,重启Claude Desktop即可。

五、使用示例

当你将mcp-browser-use服务器连接到MCP客户端(如Claude Desktop或自定义的Python脚本)后,你会获得一个名为run_browser_agent的工具。你可以向AI助手发送自然语言指令来使用它。

示例1:基本网页导航

用户指令:请帮我打开维基百科,搜索“人工智能”,然后返回搜索结果页面的标题列表。

AI会调用的后台操作:mcp-browser-use会启动浏览器,导航到wikipedia.org,在搜索框输入“人工智能”,提交搜索,然后提取页面内容,最后返回结果。

示例2:数据提取

用户指令:请访问Hacker News首页,找出当前排名前三的新闻标题和链接,并以列表形式返回。

AI调用的工具参数(示意,实际由客户端生成)

{
  "task": "Navigate to https://news.ycombinator.com, extract the titles and URLs of the top 3 posts, and return them as a list."
}

示例3:表单填写与交互

用户指令:帮我登录example.com,用户名是“testuser”,密码是“pass123”,然后截图保存登录后的首页。

AI会执行的操作:服务器会打开登录页面,填写用户名和密码字段,点击登录按钮,等待页面跳转,然后截取整个页面的截图,并将截图路径返回。

示例4:高级配置 - 使用自定义Python客户端

如果你想在自己的Python程序中直接调用这个MCP服务器(而不是通过Claude Desktop),项目提供了一个客户端辅助模块。以下是一个简单的异步调用示例:

import asyncio
from mcp_browser_use.client import run_task

async def main():
    # 直接通过任务描述运行浏览器代理
    result = await run_task(
        task_description="打开百度,搜索'MCP协议',然后返回搜索结果页面的标题。"
    )
    print("任务结果:", result)

if __name__ == "__main__":
    asyncio.run(main())

注意:上述代码假设你已经在环境中配置好了必要的API密钥和模型参数。实际使用时,你需要参考项目源码中的client.py来实现具体的连接逻辑。

六、常见问题

问题1:启动服务器时提示“ModuleNotFoundError: No module named 'mcp_browser_use'”

解决方案:请确保你已经在项目根目录下运行了uv sync命令。如果没有使用uv,可以尝试传统的pip install -e .来以可编辑模式安装项目。另外,检查你的Python版本是否为3.11或更高。

问题2:浏览器无法启动,提示找不到Chrome

解决方案:请确保你的系统已经安装了Google Chrome或Chromium。mcp-browser-use默认会尝试找到系统安装的Chrome。如果需要指定路径,可以在.env文件中设置CHROME_PATH变量,指向Chrome的可执行文件。

问题3:运行任务时LLM API调用失败(如认证错误)

解决方案:请仔细检查你的API密钥是否正确,并且该密钥有权限访问你指定的模型。对于某些提供商(如Azure OpenAI),还需要配置额外的端点URL。查看项目中的documentation/CONFIGURATION.md文件,确认所有必需的环境变量都已设置。

问题4:任务执行很慢或超时

解决方案:可以尝试调整以下几个环境变量:

  • MCP_MAX_STEPS:增加最大执行步骤数,让AI有更多操作空间。
  • MCP_TEMPERATURE:适当调高温度(如0.5),让模型探索更多可能性。
  • 同时,检查网络连接是否稳定。如果任务涉及大量页面加载,考虑启用BROWSER_USE_HEADLESS=false来观察浏览器实际操作过程,以便调试。

七、总结

mcp-browser-use是一个精巧而强大的项目,它巧妙地桥接了AI语言模型和真实世界的网页操作。通过标准化的MCP协议,它让任何兼容的AI客户端都能获得“动手能力”,真正实现了“说句话就能帮你上网办事”的愿景。

虽然这个项目目前还比较年轻,文档和测试覆盖可能不如大型商业产品完善,但它的设计思路非常清晰,配置灵活,而且基于活跃的browser-use库,潜力巨大。对于任何希望让AI助手突破文本限制,进入实际应用领域的开发者来说,mcp-browser-use绝对是一个值得尝试和研究的优秀工具。 不妨花上半小时,跟着本教程配置一下,体验用自然语言驱动浏览器的乐趣。

标签: 浏览器自动化

已有 35 条评论

    1. AlexCoder AlexCoder

      终于有一个把browser-use封装成MCP服务器的项目了,等了好久!

    2. BellaBot BellaBot

      用uv sync安装依赖真的很顺滑,比pipenv快多了。

    3. CarlosChen CarlosChen

      看了教程,成功在Claude Desktop里跑起来了,AI帮我订了披萨,太神奇了。

    4. DaisyDev DaisyDev

      配置说明很详细,尤其是环境变量那块,我之前老是搞错provider名称。

    5. EthanEcho EthanEcho

      我测试了提取股票数据的任务,准确率很高,就是速度有点慢,可能和模型有关。