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 プロバイダーに対応している点も実用的だと感じました。

    今回は基本的なセットアップまでしか触れませんでしたが、実際にツールを統合したり、より複雑なエージェントを作成していく過程も今後試してみたいと思います。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark