MastraでAIエージェント開発を始める – セットアップから基本的なエージェント作成まで
Mastraフレームワークを使ったAIエージェント開発の始め方を解説。セットアップから基本的なエージェント作成までの手順を詳しく紹介し、初心者でも簡単に開発環境を整えられる方法を紹介します。
目次
最近、AIエージェントの開発に興味を持っていろいろと調べていたところ、Mastra というフレームワークを見つけました。実際にプロジェクトをセットアップして簡単なエージェントを作成してみたので、その手順をまとめておきます。
Mastraとは
Mastra は AI エージェントの開発を簡単にするフレームワークです。複数の AI プロバイダーに対応しており、メモリ機能やツール統合といったエージェント開発に欠かせない機能を備えています。
プロジェクトセットアップ
Mastra プロジェクトの作成は非常に簡単でした。まず、以下のコマンドでプロジェクトを初期化しましょう。
npm create mastra
プロジェクト名を聞かれるので、適当に入力します。
◇ What do you want to name your project?
│ my-mastra-app
依存関係のインストールが完了すると、Mastra の初期化が始まります。
◇ Project structure created
│
◇ npm dependencies installed
│
◐ Installing mastra.
Mastraの設定
初期化プロセスでは、いくつかの設定を行う必要があります。
まず、Mastra ファイルの配置場所を指定します。デフォルトの src/
で問題ありません。
◆ Where should we create the Mastra files? (default: src/)
│ src/
次に、デフォルトの AI プロバイダーを選択します。OpenAI、Anthropic、Groq、Google、Cerebras から選択できます。Amazon Bedrock は選択肢にないようでした。
◆ Select default provider:
│ ● OpenAI (recommended)
│ ○ Anthropic
│ ○ Groq
│ ○ Google
│ ○ Cerebras
API キーの設定は後回しにできるので、「Skip for now」を選択しても大丈夫です。
◆ Enter your anthropic API key?
│ ● Skip for now (default)
│ ○ Enter API key
最後に、IDE 用の Mastra ドキュメント MCP サーバーのインストールを選択できます。これも後で設定できるので、とりあえずスキップしました。
◆ Make your AI IDE into a Mastra expert? (installs Mastra docs MCP server)
│ ● Skip for now (default)
│ ○ Cursor (project only)
│ ○ Cursor (global, all projects)
│ ○ Windsurf
│ ○ VSCode
セットアップが完了すると、以下のような成功メッセージが表示されます。
◇ ───────────────────────────────────────╮
│ │
│ │
│ Mastra initialized successfully! │
│ │
│ │
├──────────────────────────────────────────╯
│
└
To start your project:
cd my-mastra-app
npm run dev
開発サーバーの起動
プロジェクトディレクトリに移動して、開発サーバーを起動しましょう。
cd my-mastra-app
npm run dev
サーバーが起動すると、以下のような出力が表示されます。
INFO [2025-07-18 09:53:59.605 +0900] (Mastra CLI): Starting watcher...
INFO [2025-07-18 09:54:00.219 +0900] (Mastra CLI): Bundling finished, starting server...
INFO [2025-07-18 09:54:00.253 +0900] (Mastra CLI): [Mastra Dev] - Starting server...
INFO [2025-07-18 09:54:01.167 +0900] (Mastra): Mastra API running on port http://localhost:4111/api
INFO [2025-07-18 09:54:01.168 +0900] (Mastra): 👨💻 Playground available at http://localhost:4111
これで http://localhost:4111
で Playground が利用できるようになります。
エージェントの作成
Mastra でエージェントを作成するには、src/mastra/agents
ディレクトリにファイルを作成します。
例えば、EC サイト用のコマースエージェントを作成する場合は、以下のようなコードになります。
import { anthropic } from '@ai-sdk/anthropic';
import { Agent } from '@mastra/core/agent';
import { Memory } from '@mastra/memory';
import { LibSQLStore } from '@mastra/libsql';
export const commerceAgent = new Agent({
name: 'Commerce Agent',
instructions: `あなたは EC サイトのコマースエージェントです。以下のツールを使用してユーザーのショッピング体験をサポートしてください。
あなたの役割は商品案内、商品情報提供、購入サポート、質問対応の4つに分かれます。ユーザーが探している商品を理解し、適切な商品を提案することから始めてください。商品の詳細、価格、特徴などを分かりやすく説明し、ユーザーが商品を購入したい場合はスムーズにチェックアウトプロセスを進めます。商品や購入プロセスに関する質問には丁寧に回答してください。
行動する際は、常にユーザーのニーズを理解し、適切な商品を提案することを心がけてください。商品情報は正確に伝え、購入意欲がある場合は積極的にチェックアウトプロセスをサポートしましょう。親切で丁寧な対応を常に心がけ、不明な点があればユーザーに確認してください。
まずは商品一覧を確認し、ユーザーの要望に応じて適切なサポートを提供してください。`,
model: anthropic('claude-3-5-sonnet-20241022'),
memory: new Memory({
storage: new LibSQLStore({
url: 'file:../mastra.db', // path is relative to the .mastra/output directory
}),
}),
});
このエージェントは、Anthropic のモデルを使用し、メモリ機能として LibSQL を使用しています。
MCPクライアントの統合
外部の MCP サーバーと連携する場合は、MCP クライアントを設定できます。
import { MCPClient } from '@mastra/mcp';
const commerceMCP = new MCPClient({
servers: {
commerce: {
url: new URL("http://localhost:8787/sse"),
}
},
timeout: 10000,
})
この MCP クライアントをエージェントに統合するには、以下のようにツールを追加します。
export const commerceAgent = new Agent({
tools: await commerceMCP.getTools(),
// ... その他の設定
});
まとめ
Mastra を使った AI エージェント開発の基本的な流れをご紹介しました。セットアップはとても簡単で、数分でエージェントの開発環境を整えることができます。
特に印象的だったのは、設定項目がシンプルで迷うことなく進められる点でした。また、複数の AI プロバイダーに対応している点も実用的だと感じました。
今回は基本的なセットアップまでしか触れませんでしたが、実際にツールを統合したり、より複雑なエージェントを作成していく過程も今後試してみたいと思います。