你是否曾幻想过,只需对AI说一句“帮我查一下这个网站的最新动态”,它就能自己打开浏览器、完成搜索并把结果交给你?这不再是科幻电影里的场景。今天要介绍的开源项目 mcp-browser-use,正是一个强大的桥梁,它通过模型上下文协议将 AI 助手与浏览器连接起来,让大语言模型能够像真人一样理解并操作网页。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | 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 是一个基于 FastAPI 的 MCP 服务器,它巧妙地将 browser-use 这个强大的浏览器自动化库封装成了标准的 MCP 工具 。其核心理念是让 AI 代理通过自然语言与网页浏览器进行交互,而不是依赖繁琐的代码脚本 。
与传统自动化工具不同,你无需编写复杂的选择器或调试等待逻辑。你只需像交代任务一样告诉 AI 你的意图,例如“登录我的社交媒体账号并下载昨天的评论”,mcp-browser-use 就会在后端驱动真实的 Chrome 浏览器,自动完成导航、点击、表单填写、内容提取等一系列操作。
该项目专为与 Claude Desktop、Cursor 等 MCP 客户端无缝集成而设计 。它还提供了一个显著优势:直接复用 MCP 客户端中已配置好的大语言模型,这意味着你无需为了使用浏览器自动化而额外支付另一套 LLM API 的费用 。
二、核心优势
开源免费
项目代码完全公开,基于 Python 构建,你可以自由地学习、修改和集成到自己的项目中。
自然语言驱动
这是该项目最大的亮点。它基于 browser-use 库,使得 AI 代理能够通过自然语言命令执行复杂的浏览器操作,如导航、表单填写、点击、滚动等 。
无缝 MCP 集成
作为标准的 MCP 服务器,它可以轻松集成到 Claude Desktop、Cursor、VS Code 等支持 MCP 协议的客户端中,扩展 AI 的能力边界 。
配置灵活
支持通过环境变量进行细致配置,包括 Chrome 调试端口、是否保持浏览器持久化会话,以及灵活选择 OpenAI、Anthropic、Google Gemini 等多种 LLM 提供商 。
功能全面
除了基础的点击输入,还支持标签页管理、截图、Cookie 管理以及基于视觉的元素检测,能够处理复杂的现代网页应用 。
三、适用场景
开发者学习和参考
如果你想学习如何将复杂的 Python 库封装成 MCP 服务器,或者研究 AI 代理与浏览器的交互机制,这是一个极佳的范例。
个人项目使用和集成
你可以利用它来构建各种自动化工具,例如:
- 一个能自动抓取竞品价格并进行比价的购物助手
- 一个能自动填写各类繁琐表单的效率工具
- 一个能定期检查网站更新并发送通知的监控脚本
企业级应用开发
在企业环境中,可以用它来构建 GUI 自动化测试框架、数据采集平台,或是对缺乏 API 接口的遗留系统进行自动化操作,从而节省大量人力成本。
日常工作和效率提升
与 Claude Desktop 等客户端结合后,你可以用自然语言指挥 AI 完成日常任务,如“帮我整理这篇在线文章到我的笔记里”或“订阅这个博客的最新更新”。
四、安装教程
系统要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| Python | 运行环境 | [https://python.org/] (版本要求:3.11 或以上) |
| uv | Python 包管理工具 | pip install uv |
| Git | 下载项目代码 | [https://git-scm.com/] |
详细安装步骤
整个安装过程非常简单,最快只需几分钟即可让你的 AI 获得“上网”能力 。
第一步:安装 uv 并准备环境
uv 是一个快速的 Python 包安装工具,推荐使用它来管理项目。
# 安装 uv (如果尚未安装)
pip install uv第二步:克隆项目并安装依赖
# 克隆项目到本地
git clone https://github.com/JovaniPink/mcp-browser-use.git
cd mcp-browser-use
# 同步并安装项目依赖,uv 会自动创建虚拟环境
uv sync第三步:配置环境变量
复制示例文件并填入你的 API 密钥等信息。
cp sample.env .env编辑 .env 文件,至少需要配置:
MCP_MODEL_PROVIDER: 你使用的模型提供商,如openai或anthropicMCP_MODEL_NAME: 具体的模型名称,如gpt-4o- 对应提供商的 API 密钥,如
OPENAI_API_KEY
第四步:启动服务器
# 启动 MCP 服务器
uv run mcp-browser-use第五步:配置 MCP 客户端(以 Claude Desktop 为例)
找到 Claude Desktop 的配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
添加以下配置 :
{
"mcpServers": {
"mcp-browser-use": {
"command": "uvx",
"args": ["mcp-server-browser-use"],
"env": {
"OPENAI_API_KEY": "你的API密钥",
"MCP_MODEL_PROVIDER": "openai",
"MCP_MODEL_NAME": "gpt-4o"
}
}
}
}保存文件后,重启 Claude Desktop,即可在工具列表中看到 mcp-browser-use。
五、使用示例
配置完成后,你就可以在 MCP 客户端中使用自然语言来指挥浏览器了。以下是一些典型的交互示例。
示例1:基础网页导航与信息提取
用户指令:请帮我打开维基百科,搜索“人工智能”,然后返回搜索结果页面的第一个段落的摘要。
AI 会执行的操作:服务器会启动浏览器,导航到 wikipedia.org,在搜索框输入“人工智能”,提交搜索,然后提取页面内容,最后将摘要返回给你。
示例2:数据采集
用户指令:请访问 Hacker News 首页,找出当前排名前 3 的新闻标题和链接,并以列表形式返回。
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 服务器,可以使用 browser-use 库的原生 MCP 集成。这是一个更底层的调用方式 :
import asyncio
from browser_use import Agent, ChatOpenAI
async def main():
agent = Agent(
task="Find the number of stars of the browser-use repo on GitHub",
llm=ChatOpenAI(model="gpt-4.1-mini"),
)
await agent.run()
asyncio.run(main())注意:请确保已安装 browser-use 库 (pip install browser-use) 并配置好 API 密钥。
六、常见问题
问题1:服务器启动失败,提示“ModuleNotFoundError”
解决方案:请确保你已经在项目根目录下运行了 uv sync 命令,并且激活了虚拟环境。如果使用 pip,请尝试 pip install -e . 进行安装。
问题2:浏览器无法启动,提示找不到 Chrome
解决方案:请确保你的系统已经安装了 Google Chrome 或 Chromium。你可以通过环境变量 CHROME_PATH 指定 Chrome 可执行文件的具体路径。
问题3:任务执行缓慢或卡住
解决方案:这可能是网络问题或目标网站加载缓慢。可以尝试调整 .env 文件中的 MCP_MAX_STEPS 参数,增加最大执行步骤数。同时,检查网络连接是否稳定。
问题4:Claude Desktop 无法连接到服务器
解决方案:请仔细检查 claude_desktop_config.json 中的配置,确保 JSON 格式正确(无多余逗号),并且 command 和 args 路径无误。修改配置后,务必完全退出并重启 Claude Desktop 。
问题5:运行报错与 Playwright 相关
解决方案:browser-use 依赖 Playwright。请在终端中运行以下命令来安装所需的浏览器 :
uvx playwright install --with-deps chromium七、总结
mcp-browser-use 是一个非常巧妙的项目,它精准地抓住了 AI 应用开发中的一个关键痛点:如何让 AI 安全、高效地与现实世界的网页进行交互。通过将成熟的 browser-use 库与新兴的 MCP 协议相结合,它为开发者提供了一个开箱即用的解决方案。
这个项目最吸引人的地方在于,它极大地降低了 AI 自动化网页操作的门槛。你不再需要编写脆弱的 XPath 或 CSS 选择器,只需用自然语言描述你的需求,AI 便能理解并执行。无论是抓取数据、自动化测试还是构建个人效率工具,mcp-browser-use 都是一个值得信赖的坚实基座。
如果你希望你的 AI 助手能突破文本交互的限制,真正开始为你“动手”上网办事,那么 mcp-browser-use 绝对是一个不容错过的利器。不妨花上半小时,跟随本教程配置一下,亲身体验用自然语言驱动浏览器的未来感。
我测试了提取股票数据的任务,准确率很高,就是速度有点慢。
建议把 CHROME_PERSISTENT_SESSION 设为 true,这样任务间不用反复开浏览器。
我用的是 Azure OpenAI,配置端点后一次就成功了,兼容性不错。
能不能支持同时跑多个任务?想并发做几个监控脚本。
理论上可以开多个实例,但要注意端口和用户数据目录冲突。