使用说明
项目简介
本项目 'crawl4ai MCP Server' 是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 'crawl4ai' 库提供网页抓取功能,并通过 MCP 协议将此功能暴露给 LLM 客户端。客户端可以调用 'crawl4ai' 工具,输入网址,服务器将抓取该网页并返回其描述信息,为 LLM 提供网页内容理解能力。
主要功能点
- 网页抓取工具: 提供 'crawl4ai' 工具,允许 LLM 客户端通过发送工具调用请求抓取指定网站的内容。
- 描述信息提取: 抓取网页后,服务器会提取网页的描述信息 (metadata['description']) 并返回给客户端,方便 LLM 理解网页内容概要。
- 标准 MCP 服务器: 基于 'fastmcp' 框架构建,遵循 MCP 协议,易于与各种 MCP 客户端集成。
- Stdio 传输协议: 默认使用 Stdio 作为传输协议,方便本地部署和测试。
安装步骤
- 安装依赖: 确保你的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' 模块。
基本使用方法
- 启动服务器: 在安装好依赖并配置好 MCP 客户端后,启动 'crawl4ai MCP Server'。由于配置中使用了 'stdio' 传输协议,服务器将在标准输入/输出流上与客户端通信。
- 客户端调用工具: 在 MCP 客户端中,你可以调用名为 'crawl4ai' 的工具,并提供 'website' 参数,例如:
{ "jsonrpc": "2.0", "method": "ToolCall", "params": { "tool_name": "crawl4ai", "tool_arguments": { "website": "https://www.example.com" } }, "id": 1 } - 接收响应: 服务器将抓取 '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