Mastra
FirecrawlをMastraのツールに組み込み、エージェントやワークフローでライブのWebデータを検索・スクレイピングできるようにします。
- Node.js 22.13+
- Firecrawl APIキー — 無料で取得できます
- 対応しているMastraモデルプロバイダーのAPIキー
- 既存のMastraプロジェクト — まだない場合は、Mastraクイックスタートに従ってセットアップしてください
npm install firecrawl.envにAPIキーを追加します:
FIRECRAWL_API_KEY=fc-YOUR-API-KEYsearch と スクレイピング を Mastra ツールとして利用できるようにするため、src/mastra/tools/firecrawl.ts を作成します。
import { Firecrawl } from "firecrawl";
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 },
});開発サーバーを起動し、Mastra Studioを開きます:
mastra devWeb Agent を開き、次のようなプロンプトを試してください。
- “Firecrawl の最新の変更履歴を見つけて、直近のリリースを要約してください。”
- “Firecrawl の料金を検索し、プランの種類を抽出してください。”
Firecrawl をローカルで実行する場合は、FIRECRAWL_API_URL を設定し、apiUrl をクライアントに渡してください:
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY!,
apiUrl: process.env.FIRECRAWL_API_URL,
});Was this page helpful?Suggest editsRaise issue