使用说明

项目简介

本项目是一个基于 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 交互模式。

安装步骤

  1. 克隆仓库

    git clone https://github.com/kimtth/mcp-aoai-web-browsing
    cd mcp-aoai-web-browsing
  2. 配置环境变量

    • 复制 '.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'。
  3. 安装依赖

    pip install uv
    uv sync
  4. 运行服务器

    • 执行以下命令启动 MCP 服务器:
      fastmcp dev ./server/browser_navigator_server.py:app
    • 看到类似 'MCP Inspector is up and running at http://localhost:5173' 的信息,表示服务器已成功启动。

服务器配置

以下 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 服务器。

基本使用方法

  1. 启动 MCP 服务器后,您可以使用任何兼容 MCP 协议的客户端与之通信。
  2. 仓库中提供了 'chatgui.py' 和 'client_test.py' 作为示例客户端,您可以运行它们来测试服务器的功能。
  3. 在客户端中,您可以向 LLM 发送指令,LLM 可以根据指令调用 MCP 服务器提供的工具来操作网页。例如,您可以指示 LLM "打开 Google 首页并搜索 MCP 协议"。
  4. 服务器会将 Playwright 的网页操作功能通过 MCP 协议暴露给 LLM 客户端,实现 LLM 对网页的控制和信息获取。

信息

分类

网页与API