P
crawl4ai-mcp-server
...
Created 2/7/2025byweidwonder
Language:
Python
Stars:
65
Forks:
10
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": DuckDuckGo搜索(默认)
- "google": 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→Markdown转换references_markdown
: 单独的引用/参考文献部分fit_html
: 生成fit_markdown的过滤后HTMLmarkdown
: 默认Markdown格式
示例:
{
"url": "https://example.com",
"format": "markdown_with_citations"
}
示例:
# DuckDuckGo搜索(默认)
{
"query": "python programming",
"num_results": 5
}
# Google搜索
{
"query": "python programming",
"num_results": 5,
"engine": "google"
}
如需使用Google搜索,需要在config.json中配置API密钥:
{
"google": {
"api_key": "your-api-key",
"cse_id": "your-cse-id"
}
}
LLM内容优化
服务器采用了一系列针对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_key": "your-google-api-key",
"cse_id": "your-google-cse-id"
}
}
更新日志
- 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
- 100% Code wrote by Claude. Cost: $9 ($2 for code writing, $7 cost for Debuging😭)
- 3 hours time cost. 0.5 hours for code writing, 0.5 hours for env preparing, 2 hours for debuging.😭
致谢
感谢所有为项目做出贡献的开发者!
特别感谢:
- Crawl4ai 项目提供的优秀网页内容提取技术支持
Last updated: 3/20/2025
Publisher info
More MCP servers built with Python
apollo-io-mcp-server
MCP server that exposes the Apollo.io API functionalities as tools
By Edward Choh
DeepView MCP
Enables IDEs like Cursor and Windsurf to analyze large codebases using Gemini's extensive context window.
By ai-1st