Crawl4AI MCP Server について
Crawl4AI MCP Server は、ローカル開発者向けに AI アシスタントへインターネット検索と Web コンテンツ取得の機能を提供する MCP サーバーです。DuckDuckGo と Google による検索に対応し、LLM が扱いやすい形式にページを変換します。FastMCP で実装され、MIT ライセンスで公開されています。
主な機能
- 01DuckDuckGo と Google による複数エンジン検索
- 02LLM 向けに最適化された Web コンテンツ抽出
- 03ナビゲーションや広告などのノイズ除去
- 04引用情報付き Markdown 出力
- 05FastMCP ベースの非同期設計
活用シーン
- 01ローカルの AI アシスタントへのリアルタイム Web 検索の追加
- 02記事ページの LLM 向け Markdown 変換
- 03出典 URL の保持が必要な回答生成
MCP 対応
MCP サーバーとして、search と read_url の二つのツールをクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
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:Smithery経由でClaudeデスクトップクライアントにインストール
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)を使用して、無効な断片をフィルタリングします
- 形式の最適化:LLMによる理解と引用を容易にするため、デフォルトでmarkdown_with_citations形式を出力します
開発に関する説明
プロジェクト構成:
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:コンテンツフィルター設定を最適化し、URLの完全性を保ちながらトークン効率を向上
ライセンス
MIT License
貢献
IssueとPull Requestの投稿を歓迎します!
作者
- Owner:weidwonder
- Coder:Claude Sonnet 3.5
- コードの100%をClaudeが作成しました。費用:$9(コード作成に$2、デバッグに$7😭)
- 所要時間は3時間です。コード作成に0.5時間、環境準備に0.5時間、デバッグに2時間かかりました。😭
謝辞
プロジェクトに貢献してくださった開発者の皆様に感謝します!
特に感謝します:
- Crawl4ai プロジェクトが提供する優れたウェブコンテンツ抽出技術
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
