crawl4ai-mcp-server
by: weidwonder
用于提供给本地开发者的 LLM的高效互联网搜索&内容获取的MCP Server, 节省你的token
📌Overview
Purpose: The Crawl4AI MCP Server aims to enhance AI assistant systems by providing advanced searching capabilities and website content understanding tailored for large language models (LLMs).
Overview: This server is based on the Model Context Protocol (MCP) and offers robust features for intelligent information retrieval. It combines multi-engine search and smart content extraction to efficiently fetch and interpret internet data, converting web contents into formats optimal for LLM processing.
Key Features:
-
Multi-Engine Search: Supports both DuckDuckGo and Google, allowing comprehensive result acquisition without the need for API keys for the default option.
-
LLM-Optimized Content Extraction: Smartly filters out non-essential information, retaining critical content for enhanced understanding and application in AI systems.
-
Various Output Formats: Provides multiple output options including Markdown with citations for easy referencing and information traceability.
-
High-Performance Asynchronous Design: Built on FastMCP for efficient, scalable performance in information retrieval tasks.
Crawl4AI MCP Server
这是一个基于MCP (Model Context Protocol)的智能信息获取服务器,为AI助手系统提供强大的搜索能力和面向LLM优化的网页内容理解功能。通过多引擎搜索和智能内容提取,帮助AI系统高效获取和理解互联网信息,将网页内容转换为最适合LLM处理的格式。
特性
- 🔍 强大的多引擎搜索能力,支持 DuckDuckGo 和 Google
- 📚 面向LLM优化的网页内容提取,智能过滤非核心内容
- 🎯 专注信息价值,自动识别和保留关键内容
- 📝 多种输出格式,支持引用溯源
- 🚀 基于 FastMCP 的高性能异步设计
安装
方式1: 大部分安装场景
-
确保系统满足要求:
- Python >= 3.9
- 建议使用虚拟环境
-
克隆仓库:
git clone https://github.com/yourusername/crawl4ai-mcp-server.git cd crawl4ai-mcp-server
-
创建并激活虚拟环境:
python -m venv crawl4ai_env source crawl4ai_env/bin/activate # Linux/Mac # 或 .\crawl4ai_env\Scripts\activate # Windows
-
安装依赖:
pip install -r requirements.txt
-
安装 Playwright 浏览器:
playwright install
方式2: 安装到 Claude 桌面客户端 via Smithery
通过 Smithery 将 Crawl4AI MCP 的 Claude 桌面端服务安装自动配置至本地的 Claude 伸展中心:
npx -y @smithery/cli install @weidwonder/crawl4ai-mcp-server --client claude
使用方法
search
强大的网络搜索工具,支持多个搜索引擎:
- DuckDuckGo 搜索(默认):无需 API 密钥,处理 AbstractText、Results 和 RelatedTopics
- Google 搜索:需要配置 API 密钥,提供精准搜索结果
- 支持多个引擎同时使用获取更全面结果
参数:
query
: 搜索查询字符串num_results
: 返回结果数量(默认10)engine
: 搜索引擎选择- "duckduckgo": 默认
- "google": 需要API密钥
- "all": 同时使用所有可用引擎
示例:
# DuckDuckGo搜索(默认)
{
"query": "python programming",
"num_results": 5
}
# 使用所有可用引擎
{
"query": "python programming",
"num_results": 5,
"engine": "all"
}
read_url
面向LLM优化的网页内容理解工具,提供智能内容提取和格式转换:
markdown_with_citations
: 包含内联引用的Markdown(默认)fit_markdown
: 经过LLM优化的精简内容raw_markdown
: 基础HTML转Markdownreferences_markdown
: 单独的引用/参考文献部分fit_html
: 过滤后HTMLmarkdown
: 默认Markdown格式
示例:
{
"url": "https://example.com",
"format": "markdown_with_citations"
}
Google 搜索 API 配置
在 config.json
中配置 Google API 密钥:
{
"google": {
"api_key": "your-api-key",
"cse_id": "your-cse-id"
}
}
LLM内容优化
- 智能内容识别:自动识别并保留文章主体、关键信息段落
- 噪音过滤:自动过滤导航栏、广告、页脚等无关内容
- 信息完整性:保留URL引用,支持信息溯源
- 长度优化:使用最小词数阈值(10)过滤无效片段
- 格式优化:默认输出 markdown_with_citations,便于LLM理解和引用
开发说明
项目结构:
crawl4ai_mcp_server/
├── src/
│ ├── index.py # 服务器主实现
│ └── search.py # 搜索功能实现
├── config_demo.json # 配置文件示例
├── pyproject.toml # 项目配置
├── requirements.txt # 依赖列表
└── README.md # 项目文档
配置说明
- 复制配置示例文件:
cp config_demo.json config.json
- 如需启用Google搜索,编辑
config.json
配置API密钥(见上Google搜索 API 配置)
更新日志
- 2025.02.08: 添加搜索功能,支持 DuckDuckGo(默认)和 Google 搜索
- 2025.02.07: 重构项目结构,使用 FastMCP,实现优化依赖管理
- 2025.02.07: 优化内容过滤配置,提高 token 效率并保持URL完整性
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
作者
- Owner: weidwonder
- Coder: Claude Sonnet 3.5
致谢
感谢所有为项目做出贡献的开发者!
特别感谢:
- Crawl4ai 项目提供的优秀网页内容提取技术支持