メインコンテンツへスキップ

前提条件

SDKをインストール

npm install @mendable/firecrawl-js

APIキーを設定する

.envにAPIキーを追加します:
FIRECRAWL_API_KEY=fc-YOUR-API-KEY

Firecrawl ツールを作成する

search と スクレイピング を Mastra ツールとして利用できるようにするため、src/mastra/tools/firecrawl.ts を作成します。
import Firecrawl from "@mendable/firecrawl-js";
import { createTool } from "@mastra/core/tools";
import { z } from "zod";

const firecrawl = new Firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY! });

export const firecrawlSearch = createTool({
  id: "firecrawl-search",
  description: "Search the web and return top results.",
  inputSchema: z.object({ query: z.string().min(1) }),
  outputSchema: z.object({
    results: z.array(
      z.object({
        title: z.string().nullable(),
        url: z.string(),
      }),
    ),
  }),
  execute: async ({ query }) => {
    const results = await firecrawl.search(query, { limit: 3 });
    return {
      results: (results.web ?? []).map((item) => ({
        title: item.title ?? null,
        url: item.url,
      })),
    };
  },
});

export const firecrawlScrape = createTool({
  id: "firecrawl-scrape",
  description: "Scrape a URL and return markdown content.",
  inputSchema: z.object({ url: z.string().url() }),
  outputSchema: z.object({ markdown: z.string() }),
  execute: async ({ url }) => {
    const result = await firecrawl.scrape(url, {
      formats: ["markdown"],
      onlyMainContent: true,
    });
    return { markdown: result.markdown ?? "" };
  },
});

エージェントを作成

src/mastra/agents/web-agent.ts を作成し、Firecrawl のツールを設定します。
import { Agent } from "@mastra/core/agent";
import { firecrawlSearch, firecrawlScrape } from "../tools/firecrawl";

export const webAgent = new Agent({
  id: "web-agent",
  name: "Web Agent",
  instructions:
    "Use Firecrawl tools to search and scrape web pages, then summarize the results.",
  model: "openai/gpt-5.4",
  tools: { firecrawlSearch, firecrawlScrape },
});

エージェントを登録する

src/mastra/index.ts で、Mastra インスタンスにエージェントを登録します。
import { Mastra } from "@mastra/core";
import { webAgent } from "./agents/web-agent";

export const mastra = new Mastra({
  agents: { webAgent },
});

Studioでテストする

開発サーバーを起動し、Mastra Studioを開きます:
mastra dev
Web Agent を開き、次のようなプロンプトを試してください。
  • “Firecrawl の最新の変更履歴を見つけて、直近のリリースを要約してください。”
  • “Firecrawl の料金を検索し、プランの種類を抽出してください。“

セルフホスト版 Firecrawl

Firecrawl をローカルで実行する場合は、FIRECRAWL_API_URL を設定し、apiUrl をクライアントに渡してください:
const firecrawl = new Firecrawl({
  apiKey: process.env.FIRECRAWL_API_KEY!,
  apiUrl: process.env.FIRECRAWL_API_URL,
});

次のステップ

スクレイピングのドキュメント

フォーマット、アクション、プロキシを含む、すべてのスクレイピングのオプション

検索ドキュメント

ウェブを検索してページ全体のコンテンツを取得

エージェント ドキュメント

エージェント に Firecrawl のエンドツーエンド処理を任せる

Node SDK リファレンス

クロール、map、バッチスクレイプなどを含む SDK の完全なリファレンス