使用说明
项目简介
该项目 'kimtth_mcp-aoai-web-browsing' 是一个 MCP (Model Context Protocol) 服务器的实现,它利用 FastMCP 框架构建,旨在为 LLM 客户端提供网页浏览和操作的能力。通过集成 Microsoft Playwright 库,该服务器能够执行网页导航、点击、填写表单、截图等操作,并能结合 Azure OpenAI 进行更智能的网页内容理解和交互。
主要功能点
- 网页导航: 支持通过URL导航到指定网页。
- 元素操作: 允许点击网页元素、填写表单、选择下拉选项、悬停鼠标等。
- 信息提取: 可以截取网页或特定元素的屏幕截图。
- JavaScript执行: 支持在浏览器环境中执行 JavaScript 代码。
- 智能CSS选择器: 结合LLM能力,根据页面内容智能生成CSS选择器。
- 基于MCP协议: 完全遵循 MCP 协议,易于与任何兼容 MCP 协议的客户端集成。
安装步骤
-
克隆仓库
git clone https://github.com/MCP-Mirror/kimtth_mcp-aoai-web-browsing cd kimtth_mcp-aoai-web-browsing -
配置环境变量 复制 '.env.template' 文件并重命名为 '.env',然后根据你的 Azure OpenAI 账户信息填写以下环境变量:
AZURE_OPEN_AI_ENDPOINT=你的Azure OpenAI终结点 AZURE_OPEN_AI_API_KEY=你的Azure OpenAI API密钥 AZURE_OPEN_AI_DEPLOYMENT_MODEL=你的Azure OpenAI部署模型名称 AZURE_OPEN_AI_API_VERSION=你的Azure OpenAI API版本 -
安装依赖 推荐使用 'uv' 进行依赖管理 (如果未安装,请先 'pip install uv'),然后在项目根目录下运行:
uv sync或者,你也可以使用 'pip' 安装依赖:
pip install -r requirements.txt
服务器配置
MCP 客户端需要以下配置信息来连接到 'kimtth_mcp-aoai-web-browsing' 服务器。请将以下 JSON 配置添加到你的 MCP 客户端配置中:
{ "serverName": "browser-navigator-server", "command": "fastmcp", "args": [ "dev", "./server/browser_navigator_server.py:app" ], "description": "网页浏览自动化 MCP 服务器" }
配置参数说明:
- 'serverName': 服务器名称,设置为 "browser-navigator-server"。
- 'command': 启动服务器的命令,这里使用 'fastmcp' (确保已安装 FastMCP CLI 工具,通常通过 'pip install fastmcp-cli' 安装)。
- 'args': 传递给 'fastmcp' 命令的参数,用于指定服务器入口点。
- '"dev"': 以开发模式启动 FastMCP 服务器。
- '"./server/browser_navigator_server.py:app"': 指定服务器代码文件路径和服务器对象名称 ('app' 是 'server/browser_navigator_server.py' 中 'BrowserNavigationServer()' 实例的默认变量名)。
- 'description': 服务器的简要描述,方便客户端用户理解服务器用途。
注意: 请确保你的 MCP 客户端能够执行 'fastmcp' 命令,并且 Python 环境配置正确。
基本使用方法
-
启动 MCP 服务器: 按照上述服务器配置,通过 MCP 客户端启动 'browser-navigator-server'。启动成功后,服务器将开始监听 MCP 客户端的请求。
-
MCP 客户端发送请求: 使用兼容 MCP 协议的客户端 (例如 Chat MCP) 向 'browser-navigator-server' 发送请求,调用服务器提供的工具 (Tools)、资源 (Resources) 或 Prompt 模板 (Prompts)。
-
利用工具进行网页操作: 在 LLM 客户端中,你可以指示 LLM 使用 'browser-navigator-server' 提供的工具,例如 'playwright_navigate' (导航到URL), 'playwright_click' (点击元素), 'playwright_screenshot' (网页截图) 等,来实现网页的自动化浏览和操作。
-
示例: 例如,在 Chat MCP 客户端中,你可以向 LLM 提出类似 "请打开 https://www.example.com 网站并截取全屏截图" 的指令,LLM 客户端会解析指令,调用 'browser-navigator-server' 的 'playwright_navigate' 和 'playwright_screenshot' 工具来完成任务,并将结果返回给用户。
通过这种方式,你可以利用该 MCP 服务器为 LLM 应用增加强大的网页浏览和自动化能力。
信息
分类
网页与API