使用说明
Crawl4AI MCP服务器
一个强大的模型上下文协议(MCP)服务器,使用Crawl4AI提供网络抓取和爬行功能。该服务器充当客户端AI的“手和眼睛”,实现智能网络内容分析和提取。
特性
- 🔍 页面结构分析:从任何网页提取干净的HTML或Markdown内容
- 🎯 基于模式的提取:使用CSS选择器和AI生成的模式进行精确的数据提取
- 📸 电脑屏幕截图工具:用于分析的可视化网页表示
- ⚡ 异步操作:具有进度报告的非阻塞网络爬行
- 🛡️ 错误处理:全面的错误处理和验证
- 📊 MCP集成:与日志记录和进度跟踪完全兼容的模型上下文协议
建筑
┌─────────────────┐ ┌───────────────────┐ ┌─────────────────┐
│ Client AI │ │ Crawl4AI MCP │ │ Web Content │
│ ("Brain") │◄──►│ Server │◄──►│ (Websites) │
│ │ │ ("Hands & Eyes") │ │ │
└─────────────────┘ └───────────────────┘ └─────────────────┘
- FastMCP:处理MCP协议和工具注册
- AsyncWebCrawler:提供异步web抓取功能
- 标准运输:MCP兼容通信信道
- 错误安全日志记录:所有日志都指向stderr,以防止协议损坏
安装
先决条件
- Python 3.10或更高版本
- pip包管理器
设置
-
克隆或下载此存储库:
git clone <repository-url> cd crawl4ai-mcp -
创建并激活虚拟环境:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
安装依赖项:
pip install -r requirements.txt -
安装Playwright浏览器 (截图需要):
playwright install
用法
启动服务器
# Activate virtual environment
source venv/bin/activate
# Start the MCP server
python3 crawl4ai_mcp_server.py
MCP检验员测试
对于交互式测试和开发:
# Start MCP Inspector interface
fastmcp dev crawl4ai_mcp_server.py
这将启动一个web界面(通常在http://localhost:6274)在那里,您可以交互式地测试所有工具。
可用工具
1.服务器状态
目的:获取服务器运行状况和功能信息
参数:无
示例响应:
{
"server_name": "Crawl4AI-MCP-Server",
"version": "1.0.0",
"status": "operational",
"capabilities": ["web_crawling", "content_extraction", "screenshot_capture", "schema_based_extraction"]
}
2.get_page_structure
目的:提取网页内容进行分析(“眼睛”功能)
参数:
url(string):要分析的网页URLformat(字符串,可选):输出格式-“html”或“markdown”(默认:“html”)
示例:
{
"url": "https://example.com",
"format": "html"
}
3.crawl_with_schema
目的:使用CSS选择器进行精确数据提取(“hands”功能)
参数:
url(string):从中提取数据的网页URLextraction_schema(string):定义字段名和CSS选择器的JSON字符串
示例架构:
{
"title": "h1",
"description": "p.description",
"price": ".price-value",
"author": ".author-name",
"tags": ".tag"
}
示例用法:
{
"url": "https://example.com/product",
"extraction_schema": "{\"title\": \"h1\", \"price\": \".price\", \"description\": \"p\"}"
}
4.拍摄_屏幕截图
目的:捕捉网页的视觉表现
参数:
url(string):要截图的网页URL
示例:
{
"url": "https://example.com"
}
退货:带元数据的Base64编码PNG图像数据
与Claude Desktop集成
要将此服务器与Claude Desktop一起使用,请将此配置添加到您的Claude Desktop设置中:
{
"mcpServers": {
"crawl4ai": {
"command": "python3",
"args": ["/path/to/crawl4ai-mcp/crawl4ai_mcp_server.py"],
"env": {}
}
}
}
替换 /path/to/crawl4ai-mcp/ 带有安装目录的实际路径。
错误处理
所有工具都包括全面的错误处理和返回结构化JSON响应:
{
"error": "Error description",
"url": "https://example.com",
"success": false
}
常见错误场景:
- URL格式无效
- 网络连接问题
- 提取架构无效
- 屏幕截图失败
发展
项目结构
crawl4ai-mcp/
├── crawl4ai_mcp_server.py # Main server implementation
├── requirements.txt # Python dependencies
├── pyproject.toml # Project configuration
├── USAGE_EXAMPLES.md # Detailed usage examples
└── README.md # This file
依赖项
- fastmcp:用于MCP服务器开发的FastMCP框架
- crawl4ai:核心网络爬行和提取库
- 媒染剂:数据验证和解析
- 剧作家:屏幕截图的浏览器自动化
测试
运行linter以确保代码质量:
ruff check .
测试服务器启动:
python3 crawl4ai_mcp_server.py
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 使用MCP检查员进行彻底测试
- 提交拉取请求
许可证
这个项目是开源的。有关详细信息,请参阅LICENSE文件。
支持
对于问题和疑问:
- 检查USAGE_EXAMPLES.md中的故障排除部分
- 与MCP检查员一起进行测试,以隔离问题
- 验证所有依赖项是否已正确安装
- 确保虚拟环境已激活
致谢
- Crawl4AI:强大的网络爬行和提取功能
- FastMCP:简化了MCP服务器开发框架
- 模型上下文协议:标准化AI工具集成