想象一下,你只需要用自然语言告诉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 |
| 开源状态 | 公开状态 |
| Languages | Python 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 | 浏览器自动化目标 | 官方下载 |
| uv | Python包管理器和项目管理工具(推荐) | 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_KEY或OPENAI_API_KEY),并填入你的API密钥。 设置
MCP_MODEL_PROVIDER和MCP_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绝对是一个值得尝试和研究的优秀工具。 不妨花上半小时,跟着本教程配置一下,体验用自然语言驱动浏览器的乐趣。
能不能支持同时运行多个浏览器实例?我想并发做几个任务。
感谢作者,这个项目帮我解决了内部系统自动化的大难题,老板很满意。
我用它来监控商品价格变化,设置了一个定时任务,非常稳定。
教程里的示例4代码块很有用,我复制过去稍微改改就能用了。
唯一的小遗憾是文档里没有列出所有支持的环境变量,不过去看CONFIGURATION.md就好了。