使用说明

项目简介

本项目 'crawl4ai MCP Server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 'crawl4ai' 库提供网页抓取功能,并通过 MCP 协议将此功能暴露给 LLM 客户端。客户端可以调用 'crawl4ai' 工具,输入网址,服务器将抓取该网页并返回其描述信息,为 LLM 提供网页内容理解能力。

主要功能点

  • 网页抓取工具: 提供 'crawl4ai' 工具,允许 LLM 客户端通过发送工具调用请求抓取指定网站的内容。
  • 描述信息提取: 抓取网页后,服务器会提取网页的描述信息 (metadata['description']) 并返回给客户端,方便 LLM 理解网页内容概要。
  • 标准 MCP 服务器: 基于 'fastmcp' 框架构建,遵循 MCP 协议,易于与各种 MCP 客户端集成。
  • Stdio 传输协议: 默认使用 Stdio 作为传输协议,方便本地部署和测试。

安装步骤

  1. 安装依赖: 确保你的Python环境中安装了 'crawl4ai' 和 'fastmcp' 库。如果未安装,请执行以下命令:
    pip install crawl4ai fastmcp

服务器配置

对于 MCP 客户端,你需要配置连接到 'crawl4ai MCP Server' 的信息。以下是一个 JSON 格式的配置示例,你需要将其提供给你的 MCP 客户端:

{
  "server_name": "crawl4ai",  // 服务器名称,与代码中 FastMCP 初始化时定义的名称一致
  "command": "python",       // 启动服务器的命令,这里使用 python 解释器
  "args": [                  // 启动参数
    "-m",                     // -m 参数用于运行模块
    "mcp_central.crawl4ai.mcp" // 指定要运行的 Python 模块,指向 mcp.py 文件
  ]
}

配置参数说明:

  • 'server_name': 服务器名称,必须与 'mcp_central/crawl4ai/mcp.py' 文件中 'FastMCP("crawl4ai")' 初始化的名称 '"crawl4ai"' 完全一致。
  • 'command': 启动服务器进程的命令。通常为 'python' 或 'python3',确保你的环境变量中 'python' 指向的是正确的 Python 解释器。
  • 'args': 启动命令的参数列表。
    • '"-m"': Python 的 '-m' 参数用于将模块作为脚本运行。
    • '"mcp_central.crawl4ai.mcp"': 指定要运行的模块路径。 'mcp_central.crawl4ai.mcp' 对应仓库中的 'mcp_central/crawl4ai/mcp.py' 文件。Python 会自动找到并执行 'mcp.py' 文件中的 'if name == "main":' 代码块,从而启动 MCP 服务器。

注意: 请确保你的 MCP 客户端能够正确解析并使用以上 JSON 配置信息来连接和调用 'crawl4ai MCP Server'。 你需要将仓库 'mcp-central' 下载到本地,并确保 MCP 客户端能够访问到 'mcp_central.crawl4ai.mcp' 模块。

基本使用方法

  1. 启动服务器: 在安装好依赖并配置好 MCP 客户端后,启动 'crawl4ai MCP Server'。由于配置中使用了 'stdio' 传输协议,服务器将在标准输入/输出流上与客户端通信。
  2. 客户端调用工具: 在 MCP 客户端中,你可以调用名为 'crawl4ai' 的工具,并提供 'website' 参数,例如:
    {
      "jsonrpc": "2.0",
      "method": "ToolCall",
      "params": {
        "tool_name": "crawl4ai",
        "tool_arguments": {
          "website": "https://www.example.com"
        }
      },
      "id": 1
    }
  3. 接收响应: 服务器将抓取 'https://www.example.com' 的网页,提取描述信息,并通过 JSON-RPC 响应返回给客户端。客户端可以解析响应,获取网页描述信息,并将其用于后续的 LLM 应用中。

示例响应:

{
  "jsonrpc": "2.0",
  "result": "Example Domain This domain is for use in illustrative examples in documents. You may use this...",
  "id": 1
}

响应的 'result' 字段包含了抓取网页的描述信息。 如果抓取过程中出现错误,'result' 字段将包含错误信息。

信息

分类

网页与API