Multi Fetch MCP Server について
Multi Fetch MCP サーバーは Anthropic の Fetch MCP Server を基にし、Firecrawl でウェブページを取得して HTML を Markdown に変換し、LLM で扱えるようにします。複数 URL の並列取得や、長いページの分割読み込みが必要な用途に適しています。
主な機能
- 01ページを取得して Markdown を抽出
- 02複数 URL を並列取得
- 03開始位置を指定して内容を読み込み
- 04ページの生データを返却
- 05Firecrawl で検索して結果を取得
活用シーン
- 01LLM による処理用にウェブ内容を取得
- 02複数のウェブページを並行して収集
- 03長いページを分割して読み込み
- 04ウェブ検索と結果内容の抽出
MCP 対応
MCP クライアントに、ページ取得、複数 URL の並列取得、Firecrawl 検索のツールと、fetch および search のプロンプトを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Multi Fetch MCP Server
このプロジェクトは、Anthropic による Fetch MCP Server をベースにしています。 このフォークでは、直接 HTTP で取得する代わりに Firecrawl Python SDK を使用します。Firecrawl 経由でウェブスクレイピングを行うには、Firecrawl API キーを設定してください。
ウェブコンテンツの取得機能を提供する Model Context Protocol サーバーです。このサーバーにより、LLM はウェブページからコンテンツを取得して処理でき、HTML を Markdown に変換することで、より簡単に利用できます。
fetch ツールはレスポンスを切り詰めますが、start_index 引数を使って、コンテンツの抽出を開始する位置を指定できます。これにより、モデルは必要な情報が見つかるまで、ウェブページを分割して読み取ることができます。
利用可能なツール
-
fetch- インターネット上の URL を取得し、コンテンツを Markdown として抽出します。url(string, required):取得する URLmax_length(integer, optional):返す文字数の上限(デフォルト:50000)start_index(integer, optional):この文字インデックスからコンテンツを開始します(デフォルト:0)raw(boolean, optional):Markdown に変換せず、生のコンテンツを取得します(デフォルト:false)
-
fetch_multi- 複数の URL を並行して取得し、結果の配列を返します。入力はそれぞれ以下を含むオブジェクトの配列です。url(string, required):取得する URLmax_length(integer, optional):返す文字数の上限(デフォルト:50000)start_index(integer, optional):この文字インデックスからコンテンツを開始します(デフォルト:0)raw(boolean, optional):Markdown に変換せず、生のコンテンツを取得します(デフォルト:false)
-
search- Firecrawl search API を使用してウェブを検索し、デフォルトでは Markdown 形式とリンク形式で検索結果をスクレイピングします。query(string, required):検索クエリ文字列limit(integer, optional):返す結果の最大数(デフォルト:10)
プロンプト
-
fetch
- URL を取得し、コンテンツを Markdown として抽出します
- 引数:
url(string, required):取得する URL
-
search
- Firecrawl search API を使用してウェブを検索します
- 引数:
query(string, required):検索クエリ文字列limit(integer, optional):返す結果の最大数(デフォルト:10)
インストール
サーバーを実行する前に、Firecrawl SDK をインストールし、API キーを設定してください。
# Install the MCP server and Firecrawl SDK
pip install mcp-server-multi-fetch firecrawl-py
# Set your Firecrawl API key (required)
export FIRECRAWL_API_KEY="fc-YOUR_API_KEY"
# Optionally, override the Firecrawl API endpoint via env or CLI
export FIRECRAWL_API_URL="https://api.firecrawl.dev"
# or
mcp-server-multi-fetch --api-url https://api.firecrawl.dev
任意:node.js をインストールすると、fetch サーバーでより堅牢な別の HTML 簡略化ツールが使用されます。
uv を使用する(推奨)
uv を使用する場合、特別なインストールは必要ありません。uvx を使って mcp-server-multi-fetch を直接実行します。
設定
Claude.app の設定
Claude の設定に追加してください。
uvx を使用する
"mcpServers": {
"fetch": {
"command": "uvx",
"args": ["mcp-server-multi-fetch"]
}
}
カスタマイズ - robots.txt
デフォルトでは、リクエストがモデルからのもの(ツール経由)の場合、サーバーはウェブサイトの robots.txt ファイルに従いますが、ユーザーが開始したリクエスト(プロンプト経由)の場合は従いません。設定の args リストに --ignore-robots-txt 引数を追加すると、この動作を無効にできます。
カスタマイズ - User-agent
デフォルトでは、リクエストがモデルからのもの(ツール経由)か、ユーザーが開始したもの(プロンプト経由)かによって、サーバーは次のいずれかの user-agent を使用します。
ModelContextProtocol/1.0 (Autonomous; +https://github.com/modelcontextprotocol/servers)
または
ModelContextProtocol/1.0 (User-Specified; +https://github.com/modelcontextprotocol/servers)
設定の args リストに --user-agent=YourUserAgent 引数を追加すると、これをカスタマイズできます。
カスタマイズ - プロキシ
サーバーは --proxy-url 引数を介して HTTP(S) および SOCKS5 プロキシをサポートしています。例:
# HTTP proxy
mcp-server-multi-fetch --proxy-url http://192.168.1.1:8080
# SOCKS5 proxy
mcp-server-multi-fetch --proxy-url socks5://192.168.1.1:8080
プロキシの処理は Firecrawl Python SDK が提供します。この SDK は、--proxy-url フラグで設定する HTTP(S) および SOCKS5 プロキシをサポートしています。
カスタマイズ - Firecrawl API URL
環境変数を使わずに、--api-url で SDK のエンドポイントを上書きできます。
mcp-server-multi-fetch --api-url https://api.firecrawl.dev
デバッグ
MCP inspector を使用してサーバーをデバッグできます。uvx でインストールした場合:
npx @modelcontextprotocol/inspector uvx mcp-server-multi-fetch
特定のディレクトリにパッケージをインストールした場合、または開発中の場合:
cd path/to/servers/src/fetch
npx @modelcontextprotocol/inspector uv run mcp-server-multi-fetch
ライセンス
mcp-server-multi-fetch は MIT License のもとでライセンスされています。MIT License の利用規約に従うことを条件に、ソフトウェアを自由に使用、変更、配布できます。詳細については、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。