
ウェブサイトをスクレイピングするAPIサービス Firecrawlを公式MCPサーバーから使ってみる
こんばんは、製造ビジネステクノロジー部の夏目です。
Firecrawlというサービスが公式MCPサーバーを公開していたので試してみます。
Firecrawlとは
(Quickstartですが、どういうサービスなのかの説明が充実しています)
Firecrawlは、URLを取得し、クロールし、きれいなマークダウンに変換するAPIサービスです。アクセス可能なすべてのサブページをクロールし、それぞれのきれいなマークダウンを提供します。サイトマップは必要ありません。
https://docs.firecrawl.dev/introduction#welcome-to-firecrawl
- LLM対応フォーマット: マークダウン、構造化データ、スクリーンショット、HTML、リンク、メタデータ
- 難しいこと:プロキシ、ボット対策、動的コンテンツ(js-rendered)、出力解析、オーケストレーション
- カスタマイズ性:タグの除外、カスタムヘッダによる認証ウォールの後ろへのクロール、最大クロール深度など。
- メディア解析:PDF、docx、画像。
- 信頼性第一:必要なデータを取得するために設計されています-それがどんなに難しいことであっても。
- アクション:データを抽出する前に、クリック、スクロール、入力、待機など。
https://docs.firecrawl.dev/introduction#powerful-capabilities
機能
4つの機能とAlpha版の2つの機能があります。
MCPサーバーでもこれらの機能が使えます。
- Scrape
- ウェブページをスクレイプします
- Crawl
- URLを渡すとサブページも含めてスクレイプします
- Map
- ウェブページからリンクを抽出します
- Extract
- LLMを使用しウェブページからJSON Schemaで指定した構造化データを抽出します
- LLMs.txt
- Alpha版の機能
- URLを渡してクロールしLLMs.txtを作成します
- Deep Research
- Alpha版の機能
- FirecrawlがインターネットをクロールしてDeep Searchを行います
使ってみる
Firecrawlのアカウントを作成してMCPサーバーを使ってみます。
- Firecrawlのアカウントを作成
- MCPサーバーを設定する
- 使ってみる
1. Firecrawlのアカウントを作成
Firecrawlではアカウントを作成すると500クレジットを付与されます。
(このクレジットを使い切ると課金するか有料プランにする必要があります)
(1クレジットで1ページをスクレイピングできます)
Sign Up
をクリックします。
メールアドレスとパスワードを入力し、 Sign up
をクリックします。
登録完了のためのメールが届くので、メールボックスを確認します。
Confirm your mail
をクリックします。
いくつかの質問に答えていきます。
最初はFirecrawlをどこで知ったかです。
選択し、 Next
をクリックします。
製品か会社のURLを質問されます。
回答必須ではないので Next
をクリックします。
Firecrawlを何に使うのか訊かれます。
"もし私たちがあなたのために何かを解決できるとしたら、それは何ですか?"と訊かれます。
解答必須ではないので Next
をクリックします。
利用規約とプライバシーポリシーへの合意を求められます。
中身を確認して、上のチェックボックスにチェックを付け、 Submit
をクリックします。
登録が完了しました。
右上にAPI Keyをコピーするためのボタンがあります。
次のMCPサーバーの設定で使用します。
2. MCPサーバーを設定する
Firecrawlが公式に出しているMCP Server。
FirecrawlのAPI KEYの他に環境変数で色々と設定できます。
README.mdにClaude Desktop用の設定のサンプルがありましたので、見ていきます。
{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE",
"FIRECRAWL_RETRY_MAX_ATTEMPTS": "5",
"FIRECRAWL_RETRY_INITIAL_DELAY": "2000",
"FIRECRAWL_RETRY_MAX_DELAY": "30000",
"FIRECRAWL_RETRY_BACKOFF_FACTOR": "3",
"FIRECRAWL_CREDIT_WARNING_THRESHOLD": "2000",
"FIRECRAWL_CREDIT_CRITICAL_THRESHOLD": "500"
}
}
}
}
FIRECRAWL_API_KEY
: FirecrawlのAPI KeyFIRECRAWL_RETRY_MAX_ATTEMPTS
: 最大のリトライ回数FIRECRAWL_RETRY_INITIAL_DELAY
: 最初のリトライまでの遅延時間 (ミリ秒)FIRECRAWL_RETRY_MAX_DELAY
: リトライの遅延時間の最大値 (ミリ秒)FIRECRAWL_RETRY_BACKOFF_FACTOR
: リトライの遅延時間を延ばすための指数バックオフ乗数FIRECRAWL_CREDIT_WARNING_THRESHOLD
: 残りのクレジット数が下回ったら警告を出す閾値FIRECRAWL_CREDIT_CRITICAL_THRESHOLD
: 残りのクレジット数が下回ったら重度の警告を出す閾値
API Key以外はデフォルト値があるので、必ずしも設定する必要はありません。
3. 使ってみる
IP制限がされているページをスクレイプしてみる。
IP制限がかかっているウェブサイトもスクレイプできるということなので、日本からしかアクセスできないウェブサイトのスクレイピングをしてみます。
今回は小説家になろうの小説ページを対象にします。
日本からしかアクセスできないウェブサイトをスクレイプできました。
Deep Researchを使ってみる
まとめ
FirecrawlでスクレイピングやDeep Researchをしてみました。
いろいろな制限を越えてスクレイピングできるのは便利ですね。