Cursorの開発チームが、Firecrawl MCPサーバーの統合を発表した。このアップグレードにより、Cursorのコンポーザー機能は任意のウェブサイトから高精度でデータを抽出し、そのサイト構造やデザイン要素をAIが完全に理解できるようになった。従来のウェブスクレイピングやデータ抽出ツールと異なり、MCPプロトコルを通じてFirecrawlのエンジンと直接連携することで、JavaScript動的レンダリング、複雑なレイアウト、表データなども正確に処理可能。ユーザーは「このサイトをベースに似たサイトを作って」と指示するだけで、AIエージェントが自動でコード生成から実装まで完結させられる革新的なワークフローが実現した。
ウェブ開発の現場では、参考サイトを見ながら新しいプロジェクトを構築する作業が日常的。従来は開発者が手動でHTMLやCSSを模写したり、デザイン要素をキャプチャして手作業で再現していた。Cursor AIエージェントは強力だが、ウェブページのテキストコンテンツ抽出にとどまり、複雑な構造やスタイル情報の理解に限界があった。一方、Firecrawlはウェブクローリング・データ抽出に特化したプラットフォームで、LLMフレンドリーなデータ形式への変換機能が特徴。この両者の統合により、MCPサーバーを経由したシームレスな連携が可能になり、Cursorのコンポーザーが「ウェブページを見る目」を獲得した形だ。
MCP(Model Context Protocol)はAnthropicが開発した標準化通信プロトコル。Cursor内のAIエージェントとFirecrawlサーバー間で構造化されたリクエスト・レスポンスをやり取りする。これにより、単なるAPI呼び出しではなく、エージェントの思考プロセス全体にFirecrawlの機能が統合される。
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "firecrawl/extract",
"arguments": {
"url": "https://example.com",
"extract_format": "markdown",
"include_metadata": true,
"wait_for_selector": ".dynamic-content"
}
}
}
このリクエストをCursorのMCPクライアントが発行すると、Firecrawlサーバーが該当URLを訪問、JavaScriptレンダリング後のDOM状態をキャプチャし、指定フォーマットでのデータを返す。
Firecrawlは訪問したウェブページから以下の情報を自動抽出:
| 抽出要素 | 説明 | 用途 |
|---|---|---|
| 見出し階層(H1-H6) | ページのコンテンツ構造 | AIが情報設計を理解 |
| リンク構造 | ナビゲーション、内部リンク | サイト全体像の把握 |
| 画像・メディア | srcセット、altテキスト | ビジュアル設計の再現 |
| スタイル情報 | CSSクラス、インラインスタイル | デザイン自動再現 |
| メタデータ | og:image、description等 | SEO構造の維持 |
| フォーム要素 | input type、validation | インタラクティブ機能の復元 |
| スクリプト参照 | 外部JS、データ属性 | 動作ロジックの同定 |
flowchart LR
A["Cursorコンポーザー<br/>ユーザー指示"] --> B["MCPクライアント<br/>リクエスト生成"]
B --> C["Firecrawl MCPサーバー<br/>URLクローリング"]
C --> D["ページレンダリング<br/>DOM完全キャプチャ"]
D --> E["データ抽出・整形<br/>Markdown/JSON生成"]
E --> F["MCPレスポンス<br/>構造化データ返却"]
F --> G["AIエージェント分析<br/>設計パターン認識"]
G --> H["コード生成<br/>React/Vue/HTML自動作成"]
H --> I["実装完了<br/>参考サイト同等のサイト構築"]
# 1. Cursor最新版を確認(v0.30.0以上推奨)
cursor --version
# 2. Firecrawl MCPサーバーパッケージをインストール
npm install @firecrawl/mcp-server
# 3. Cursorの設定ファイル(~/.cursor/config.json)を編集
{
"mcp": {
"servers": [
{
"name": "firecrawl",
"command": "node",
"args": ["/path/to/node_modules/@firecrawl/mcp-server/index.js"],
"env": {
"FIRECRAWL_API_KEY": "your-api-key-here"
}
}
]
}
}
# 4. Cursorを再起動
cursor
# Python + Cursor MCP クライアントライブラリで直接操作
from cursor_mcp import MCPClient
import json
client = MCPClient()
# 参考サイトからのデータ抽出
response = client.call_tool(
"firecrawl/extract",
url="https://www.example-ecommerce.com/products",
extract_format="markdown",
include_metadata=True,
timeout=30
)
# 抽出結果をAIプロンプトに渡す
prompt = f"""
以下のサイト構造を参考に、同じレイアウト・機能を持つ商品ページを作成してください:
{response['content']}
技術スタック:React + TypeScript + Tailwind CSS
"""
# Cursorのコンポーザーが自動でコード生成
generated_code = client.compose(prompt)
print(generated_code)
対象ユーザー層:
前提環境:
互換性:
| 機能 | Cursor + Firecrawl MCP | Copilot + Code Interpreter | Claude Web + Artifacts |
|---|---|---|---|
| MCPプロトコル統合 | ✅ 完全統合 | ❌ 別プロセス | ❌ 非対応 |
| ウェブサイトクローン | ✅ 自動化可能 | ⚠️ 手動スクリプト必要 | ⚠️ 部分的 |
| JavaScriptレンダリング | ✅ 完全対応 | ✅ あり | ⚠️ 基本的のみ |
| コード生成との連携 | ✅ シームレス | ⚠️ 別途API呼び出し | ✅ ブラウザ内 |
| オフライン動作 | ❌ API必須 | ✅ ローカル可能 | ❌ Web依存 |
| 複数ページ自動処理 | ✅ スケーラブル | ⚠️ 制限あり | ❌ 単一ページ向け |
# 1. Firecrawlアカウント作成(無料)
# https://www.firecrawl.dev/ にアクセス
# サインアップしてAPIキー取得
# 2. ローカル環境構築
git clone https://github.com/firecrawl/mcp-server.git
cd mcp-server
npm install
# 3. 環境変数設定
export FIRECRAWL_API_KEY="sk-your-key-here"
# 4. MCPサーバー起動
npm run start
# 5. Cursorで新規ウィンドウ開いて、以下と話しかける
# 「https://github.com/firecrawldev をクローンして、同じレイアウトのポートフォリオサイトを作って」
# コマンドラインからFirecrawlを直接叩く場合
curl -X POST https://api.firecrawl.dev/v1/scrape \
-H "Authorization: Bearer $FIRECRAWL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"formats": ["markdown", "html"],
"onlyMainContent": true,
"waitFor": 3000
}' | jq '.data.markdown' > extracted.md
# 抽出結果をCursorに流し込む
cat extracted.md | xclip -selection clipboard
# あとはCursor内でペースト & コンポーザー起動
この記事はAI業界の最新動向を速報でお届けする「AI Heartland ニュース」です。