MCP 服务器与浏览器一起使用
供浏览器使用的MCP 服务器。
概述
此存储库包含浏览器使用库的服务器,该库提供了一个强大的浏览器自动化系统,使AI代理能够通过自然语言与Web浏览器交互。该服务器基于Anthropic的模型上下文协议(MCP)构建,并与浏览器使用库无缝集成。
特征
- 浏览器控制
- 通过自然语言实现浏览器自动交互
- 导航、表单填写、点击和滚动功能
- 标签管理和屏幕截图功能
- Cookie 和状态管理
- 代理系统
- custom_agent.py 中的自定义代理实现
- 基于视觉的元素检测
- 操作的结构化 JSON 响应
- 消息历史管理和汇总
- 配置
- 基于环境的 API 密钥和设置配置
- Chrome 浏览器设置(调试端口、持久性)
- 模型提供商选择和参数
依赖项
该项目依赖于以下 Python 包:
包裹 | 版本 | 描述 |
---|---|---|
枕头 | >=10.1.0 | Python 图像库 (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.1 | LangChain 与 Google GenAI 模型的集成,使得能够在 LangChain 框架内使用 Google 的生成式 AI 功能。 |
langchain-openai | >=0.2.14 | LangChain 与 OpenAI 模型集成。支持在 LangChain 框架内使用 OpenAI 模型(例如 GPT-4)。在本项目中,它用于与 OpenAI 的语言和视觉模型进行交互。 |
朗查因-奥拉马 | >=0.2.2 | Ollama 的 Langchain 集成,支持 LLM 的本地执行。 |
openai | >=1.59.5 | OpenAI 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 的浏览器使用:
环境变量
关键环境变量:
发展
设置
- 克隆存储库:
- 创建并激活虚拟环境:
- 安装依赖项:
- 启动服务器
调试
如需调试,请使用MCP Inspector :
检查器将显示调试接口的 URL。
浏览器操作
服务器通过自然语言支持各种浏览器操作:
- 导航:转到 URL、后退/前进、刷新
- 交互:点击、输入、滚动、悬停
- 表格:填写表格、提交、选择选项
- 状态:获取页面内容,截取屏幕截图
- 标签:创建、关闭、切换标签
- 视觉:通过视觉外观查找元素
- Cookies 和存储:管理浏览器状态
安全
需要注意的是,Chrome 的一些设置允许服务器控制浏览器。这存在安全风险,应谨慎使用。该服务器不适用于生产环境。
安全详情: SECURITY.MD
贡献
欢迎大家为本项目贡献力量。请按以下步骤操作:
- 分叉此存储库。
- 创建你的功能分支:
git checkout -b my-new-feature
。 - 提交您的更改:
git commit -m 'Add some feature'
。 - 推送到分支:
git push origin my-new-feature
。 - 提交拉取请求。
对于重大变更,请先提交问题讨论您想要修改的内容。请根据需要更新测试以反映所做的任何更改。
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
使 AI 代理能够使用自然语言与 Web 浏览器交互,具有自动浏览、表单填写、基于视觉的元素检测和结构化 JSON 响应等功能,可实现系统的浏览器控制。
Related Resources
Related MCP Servers
- -securityFlicense-qualityEnables AI agents to control web browsers via a standardized interface for operations like launching, interacting with, and closing browsers.Last updated -0JavaScript
- -securityAlicense-qualityAI-driven browser automation server that implements the Model Context Protocol to enable natural language control of web browsers for tasks like navigation, form filling, and visual interaction.Last updated -1PythonMIT License
- -securityAlicense-qualityEmpowers AI agents to perform web browsing, automation, and scraping tasks with minimal supervision using natural language instructions and Selenium.Last updated -1PythonApache 2.0
- -securityAlicense-qualityAllows AI agents to control web browser sessions via Selenium WebDriver, enabling web automation tasks like scraping, testing, and form filling through the Model Context Protocol.Last updated -TypeScriptMIT License