项目简介

CEO-Agentic-AI-Framework 仓库提供了一个轻量级的 Agentic AI 框架,其中包含了对 Model Context Protocol (MCP) 的支持。'playwright-plus-python-mcp.py' 是该框架提供的 MCP 服务器示例,它基于 Playwright 实现了浏览器自动化工具,可以通过 MCP 协议与 LLM 客户端(如仓库中的 'McpAgent')进行通信,为 LLM 代理提供网页浏览、信息抓取和交互能力。

主要功能点

  • 提供 Playwright 浏览器自动化工具: 包括网页导航、截图、元素点击、表单填写、JavaScript 执行以及文本和 HTML 内容获取等功能。
  • MCP 协议支持: 基于 MCP 标准协议与客户端通信,实现工具注册、调用和结果返回。
  • Stdio 传输协议: 使用 Stdio 作为默认传输协议,易于部署和集成。
  • 工具自描述: 通过 MCP 协议向客户端声明工具的功能和参数,方便 LLM 客户端理解和调用。

安装步骤

  1. 下载或克隆仓库: 从 GitHub 仓库 CEO-Agentic-AI-Framework 下载或克隆代码到本地。

  2. 安装 ceo-py 客户端库 (如果需要使用 Python 客户端):

    pip install ceo-py
  3. 安装 Playwright 依赖: 首次运行 'playwright-plus-python-mcp.py' 服务器脚本时,会自动安装 Playwright 浏览器依赖。

服务器配置

MCP 服务器需要配置启动命令及其参数才能被 MCP 客户端连接和使用。以下是 'playwright-plus-python-mcp.py' 服务器的典型配置信息(JSON 格式),通常在 MCP 客户端中进行配置,例如 'ceo-py' 库的 'StdioMcpConfig':

{
  "server name": "playwright-plus-server",
  "command": "python",
  "args": ["./playwright-plus-python-mcp.py"],
  "cwd": "./mcp_server"
}

参数注释:

  • 'server name': 服务器的名称,可以自定义,用于标识不同的 MCP 服务器。例如 '"playwright-plus-server"'。
  • 'command': 启动服务器的命令。由于 'playwright-plus-python-mcp.py' 是 Python 脚本,所以这里设置为 '"python"'。
  • 'args': 传递给启动命令的参数,以列表形式表示。对于 'playwright-plus-python-mcp.py',参数是 '["./playwright-plus-python-mcp.py"]',表示执行当前目录下的 'playwright-plus-python-mcp.py' 脚本。
  • 'cwd': (可选) 服务器脚本的工作目录。这里设置为 '"./mcp_server"',意味着 MCP 客户端需要确保在相对于客户端运行目录的 './mcp_server' 目录下找到 'playwright-plus-python-mcp.py' 脚本。如果服务器脚本和客户端在同一目录下,可以省略 'cwd' 或设置为 '"./"'。

注意: MCP 客户端只需要配置上述 JSON 格式的服务器启动信息,无需关注代码细节。用户只需根据实际情况修改 'command' 和 'args' 即可。

基本使用方法

  1. 启动 MCP 服务器: 在仓库的 'demo/mcp_server' 目录下,运行 'playwright-plus-python-mcp.py' 脚本以启动 MCP 服务器。

    cd demo/mcp_server
    python playwright-plus-python-mcp.py

    服务器启动后,会输出 'playwright installed.' 表示 Playwright 依赖已安装,并开始监听来自 MCP 客户端的请求。

  2. 配置并运行 MCP 客户端: 使用 'ceo-py' 库或其他 MCP 客户端,配置连接到 'playwright-plus-server'。 例如,在 'ceo-py' 中可以使用 'McpAgent' 和 'StdioMcpConfig' 来创建 MCP 客户端,并调用 Playwright 工具。 具体代码示例可以参考 'demo/mcp_agent.py' 和 'demo/multi_agent.py',这些示例展示了如何使用 'McpAgent' 连接到 'playwright-plus-server' 并执行浏览器自动化任务。

    例如,运行 'demo/mcp_agent.py':

    cd demo
    python mcp_agent.py

    该示例会指示 Agent 使用 Playwright 工具在 Bing 搜索 "reinforcement learning",并将搜索结果保存到本地文件,然后导航到指定的博客地址。

关键步骤总结:

  • 启动 'playwright-plus-python-mcp.py' MCP 服务器。
  • 在 MCP 客户端(如 'ceo-py' 的 'McpAgent')中配置服务器连接信息 ('StdioMcpConfig')。
  • 使用客户端 API (如 'McpAgent') 调用服务器提供的 Playwright 工具,实现浏览器自动化功能。

信息

分类

开发者工具