mcpField
C
crawl4ai-mcp

crawl4ai-mcp

ローカル
mcp-crawl4ai.vercel.appブラウザ自動化026 週間前に更新

crawl4ai-mcp について

crawl4ai-mcpはCrawl4AIを使い、AIシステムにウェブのスクレイピングとクロール機能を提供します。4つのツール、2つのリソース、3つのプロンプトを備え、stdioとStreamable HTTPに対応し、ライフサイクル管理されたヘッドレスChromiumを利用します。

主な機能

  1. 01ページのスクレイピングとコンテンツ抽出
  2. 02リスト型と深層クロールへの対応
  3. 03セッション終了とアーティファクト取得
  4. 04設定・バージョンリソースの公開
  5. 05ページ要約などのプロンプト
  6. 06stdioとStreamable HTTPへの対応

活用シーン

  1. 01ページをMarkdownやテキストに変換して取得
  2. 02サイト内のページを再帰的に巡回
  3. 03ページ内容の要約・抽出・比較

MCP 対応

ウェブ取得・クロール用ツール、設定・バージョンリソース、ページ要約・抽出・比較用プロンプトをMCPクライアントに公開します。stdioとStreamable HTTPのトランスポートに対応しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"crawl4ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP-Crawl4AI

MCP-Crawl4AI のロゴ

Crawl4AI を活用したウェブクローリング用の Model Context Protocol サーバー

CI Codecov PyPI

Ruff Pre-commit Dependabot

Python 3.13+ License: MIT

MCP Compatible FastMCP v3 Crawl4AI Docker Documentation

GitHub stars GitHub last commit


概要

MCP-Crawl4AI は、AI システムがライブウェブにアクセスできるようにする Model Context Protocol サーバーです。FastMCP v3 と Crawl4AI を基盤としており、ライフスパン管理されたヘッドレス Chromium ブラウザーを利用し、標準化された MCP インターフェースを通じて 4 つのツール、2 つのリソース、3 つのプロンプトを提供します。

実行時の依存関係は 2 つだけです — fastmcp と crawl4ai。

ヒント

ドキュメントサイト全文 →

主な機能
  • FastMCP v3 による完全な MCP 準拠と、ツールのアノテーション(readOnlyHint、destructiveHint など)
  • 4 つの目的に特化したツール。標準的なスクレイピング/クロールと、セッションのライフサイクル/成果物を中心に構成
  • 3 つのプロンプト。一般的な LLM ワークフロー(要約、スキーマ抽出、ページ比較)向け
  • 2 つのリソース。サーバー設定とバージョン情報を公開
  • ヘッドレス Chromiumをライフスパンのシングルトンとして管理(一度起動すれば、すべての処理で再利用)
  • 複数のトランスポート — stdio(デフォルト)と Streamable HTTP
  • LLM 向けに最適化された出力 — マークダウン、クリーニング済み HTML、生 HTML、またはプレーンテキスト
  • 標準的なオプショングループ。抽出、ランタイム、診断、セッション、レンダリング、巡回向け
  • 1 つの crawl コントラクトで、リスト巡回と詳細巡回に対応
  • セッション対応ワークフロー。明示的なセッション終了と成果物取得のツールを提供
  • ブラウザーを自動セットアップ — Playwright ブラウザーがない場合に検出し、自動でインストール

インストール

pip
pip install mcp-crawl4ai
mcp-crawl4ai --setup       # one-time: installs Playwright browsers
uv(推奨)
uv add mcp-crawl4ai
mcp-crawl4ai --setup       # one-time: installs Playwright browsers
Docker
docker build -t mcp-crawl4ai .
docker run -p 8000:8000 mcp-crawl4ai

Docker イメージには Playwright ブラウザーが含まれているため、別途セットアップする必要はありません。

開発
git clone https://github.com/wyattowalsh/mcp-crawl4ai.git
cd mcp-crawl4ai
uv sync --group dev
mcp-crawl4ai --setup

メモ

サーバーは初回起動時に Playwright ブラウザーがないか自動検出し、自動インストールを試みます。mcp-crawl4ai --setup または crawl4ai-setup をいつでも手動で実行できます。


クイックスタート

stdio(デフォルト — Claude Desktop、Cursor など向け)
mcp-crawl4ai
HTTP トランスポート
mcp-crawl4ai --transport http --port 8000

メモ

HTTP はデフォルトで 127.0.0.1 にバインドされます(プライベート/ローカルのみ)。外部に公開する場合は、--host を明示的に設定し、TLS/認証にはリバースプロキシを使用してください。

Claude Desktop の設定

Claude Desktop の MCP 設定(claude_desktop_config.json)に追加します:

{
  "mcpServers": {
    "crawl4ai": {
      "command": "mcp-crawl4ai",
      "args": ["--transport", "stdio"]
    }
  }
}
Claude Code の設定
claude mcp add crawl4ai -- mcp-crawl4ai --transport stdio
MCP Inspector
npx @modelcontextprotocol/inspector uv --directory . run mcp-crawl4ai

ツール

標準のインターフェースで公開されるツールは4 つです:

scrape

1 つの URL、または上限付きの URL リスト(最大 20 件)をスクレイピングし、標準形式の単一エンベロープレスポンスを返します。

  • 入力:targets(str | list[str])と、任意のグループ化された options
  • 抽出(schema、extraction_mode)、ランタイム制御、診断、セッション設定、レンダリング設定、成果物の取得に対応
  • schema_version、tool、ok、data/items、meta、warnings、error を含む標準 JSON エンベロープを返します
crawl

標準の巡回制御でクロールします。

  • options.traversal.mode="list" は、上限付きのリスト巡回に使用します
  • options.traversal.mode="deep" は、単一の起点から再帰的な BFS/DFS 巡回を行います
  • scrape と同じエンベロープ形式を使用し、オプショングループと巡回オプションを共有します
close_session

options.session.session_id で作成したステートフルセッションを終了します。

get_artifact

options.conversion.capture_artifacts が有効な場合に、scrape または crawl 中に取得した成果物のメタデータ/内容を取得します。

コア機能と高度な使い方の選択
  • コアの使い方(推奨): 最小限のオプション(runtime、conversion.output_format、traversal.mode="list")で scrape/crawl を使用します。ほとんどのエージェントワークフローで、動作の予測可能性を保ち、リスクを低減できます。
  • 高度な使い方(明示的なオプトイン): タスクの結果に必要な場合に限り、詳細巡回、カスタムディスパッチャー制御、JS トランスフォーム、抽出スキーマ、成果物の取得を使用します。
  • 安全性の予算とゲート: 高度なオプションを有効にする前に、config://server の settings.defaults、settings.limits、settings.policies、settings.capabilities を確認し、有効な制約と機能ゲートを把握してください。

リソース

URIMIME Type説明
config://serverapplication/json現在のサーバー設定:名前、バージョン、ツール一覧、ブラウザー設定
crawl4ai://versionapplication/jsonサーバーと依存関係のバージョン情報(server、crawl4ai、fastmcp)

プロンプト

プロンプトパラメーター説明
summarize_pageurl、focus(デフォルト:"key points")ページをクロールし、指定した観点で内容を要約します
build_extraction_schemaurl、data_typeページを確認し、scrape 用の CSS 抽出スキーマを作成します
compare_pagesurl1、url22 つのページをクロールし、構造化された比較結果を作成します

アーキテクチャ

graph TD
    A[MCP Client] -->|stdio / HTTP| B[FastMCP v3]
    B --> C[Tool Router]
    C --> D[scrape]
    C --> E[crawl]
    C --> F[close_session]
    C --> G[get_artifact]
    D & E & F & G --> N[AsyncWebCrawler Singleton]
    N --> O[Headless Chromium]
    B --> P[Resources]
    B --> Q[Prompts]

    style B fill:#4B8BBE,color:#fff
    style N fill:#FF6B35,color:#fff
    style O fill:#2496ED,color:#fff

このサーバーは単一モジュールのアーキテクチャを採用しています。

  • FastMCP v3 が、MCP プロトコルのネゴシエーション、トランスポート、ツール/リソース/プロンプトの登録、メッセージのルーティングを処理します
  • ライフスパン管理の AsyncWebCrawler が、サーバー起動時にヘッドレス Chromium ブラウザーを一度だけ起動してすべてのツール呼び出しで共有し、終了時に適切にシャットダウンします
  • 4 つのツール関数を @mcp.tool() でデコレートし、正式なインターフェースを定義します
  • 2 つのリソース関数を @mcp.resource() でデコレートし、JSON を返します
  • 3 つのプロンプト関数を @mcp.prompt でデコレートし、構造化された Message リストを返します

重要

中間マネージャークラスやカスタム HTTP クライアントはありません。サーバーはすべてのクロールを crawl4ai の AsyncWebCrawler に、すべてのプロトコル処理を FastMCP に委任します。実行時の依存関係は 2 つだけです。


設定

CLI フラグ
フラグデフォルト説明
--transportstdioトランスポートプロトコル:stdio または http
--host127.0.0.1バインドするホスト(HTTP トランスポートのみ)
--port8000バインドするポート(HTTP トランスポートのみ)
--setup—Playwright ブラウザーをインストールして終了します
環境変数

環境変数は必要ありません。サーバーはすべての設定に適切なデフォルト値を使用します。設定されている場合は、Crawl4AI 独自の環境変数(例:CRAWL4AI_VERBOSE)も尊重されます。


テスト

# Run all tests
uv run pytest

# Coverage gate (>=90%)
uv run pytest --cov=mcp_crawl4ai --cov-report=term-missing

# Smoke tests only
uv run pytest -m smoke

# Unit tests only
uv run pytest -m unit

# Integration workflow tests
uv run pytest -m integration

# End-to-end workflow tests
uv run pytest -m e2e

# Manual live test (requires browser)
uv run python tests/manual/test_live.py

メモ

自動テストはすべて fastmcp.Client(mcp) を使用してメモリー内で実行されるため、ブラウザーやネットワークは必要ありません。テストスイートでは AsyncWebCrawler をモックし、高速で決定論的な実行を実現します。


コントリビューション

開発環境のセットアップ、コーディング規約、プルリクエストの手順については、コントリビューションガイドを参照してください。

ライセンス

このプロジェクトは MIT ライセンスのもとで公開されています。詳しくは LICENSE ファイルを参照してください。


MCP-Crawl4AI — AI とライブ Web をつなぐ

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。