使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 提供网页浏览和操作能力。它使用 Playwright 库驱动浏览器,并将其功能封装成 MCP 工具,例如网页导航、截图、元素点击、表单填写等。通过 MCP 协议,LLM 客户端可以安全、可控地调用这些工具,从而实现与网页的交互,完成更复杂的任务,例如信息检索、网页内容分析、自动化操作等。本项目使用 FastMCP 框架构建 MCP 服务器,并针对 Azure OpenAI 进行了适配。
主要功能点
- 网页导航: 允许 LLM 控制浏览器访问指定的 URL。
- 网页内容交互: 提供点击链接、填写表单、选择下拉框等常用网页元素操作工具。
- 网页信息提取: 支持获取网页截图、执行 JavaScript 代码等,辅助 LLM 理解网页内容。
- 动态 CSS 选择器: 尝试根据用户自然语言描述,智能生成 CSS 选择器,简化元素定位。
- Azure OpenAI 集成: 默认配置使用 Azure OpenAI 服务,方便用户快速部署和使用。
- 资源管理: 支持截图等资源的管理和访问。
- Prompt 模板: 提供示例 Prompt 模板,方便用户定制 LLM 交互模式。
安装步骤
-
克隆仓库
git clone https://github.com/kimtth/mcp-aoai-web-browsing cd mcp-aoai-web-browsing -
配置环境变量
- 复制 '.env.template' 文件并重命名为 '.env'。
- 根据您的 Azure OpenAI 账号信息,编辑 '.env' 文件,填入 'AZURE_OPEN_AI_ENDPOINT'、'AZURE_OPEN_AI_API_KEY'、'AZURE_OPEN_AI_DEPLOYMENT_MODEL' 和 'AZURE_OPEN_AI_API_VERSION'。
-
安装依赖
pip install uv uv sync -
运行服务器
- 执行以下命令启动 MCP 服务器:
fastmcp dev ./server/browser_navigator_server.py:app - 看到类似 'MCP Inspector is up and running at http://localhost:5173' 的信息,表示服务器已成功启动。
- 执行以下命令启动 MCP 服务器:
服务器配置
以下 JSON 配置信息用于 MCP 客户端连接到此 MCP 服务器。
{ "serverName": "browser-navigator-server", "command": "fastmcp", "args": [ "dev", "./server/browser_navigator_server.py:app" ] }
- 'serverName': 服务器名称,可以自定义,用于客户端识别。
- 'command': 启动服务器的命令,这里使用 'fastmcp' 命令行工具。
- 'args': 传递给 'fastmcp' 命令的参数列表:
- '"dev"': 以开发模式运行服务器,方便调试和开发。
- '"./server/browser_navigator_server.py:app"': 指定服务器入口文件和服务器对象。'./server/browser_navigator_server.py' 是服务器代码文件路径,'app' 是文件中 'BrowserNavigationServer()' 实例的变量名。
注意:MCP 客户端需要根据此配置信息才能正确连接到 MCP 服务器。
基本使用方法
- 启动 MCP 服务器后,您可以使用任何兼容 MCP 协议的客户端与之通信。
- 仓库中提供了 'chatgui.py' 和 'client_test.py' 作为示例客户端,您可以运行它们来测试服务器的功能。
- 在客户端中,您可以向 LLM 发送指令,LLM 可以根据指令调用 MCP 服务器提供的工具来操作网页。例如,您可以指示 LLM "打开 Google 首页并搜索 MCP 协议"。
- 服务器会将 Playwright 的网页操作功能通过 MCP 协议暴露给 LLM 客户端,实现 LLM 对网页的控制和信息获取。
信息
分类
网页与API