FlowTune Media

Mastra — Gatsbyチームが作ったTypeScript AIエージェントフレームワークは本物か

Gatsbyのチームが次に作ったのは、AIエージェントフレームワークだった。

あのReact製静的サイトジェネレーターで一世を風靡したGatsbyの共同創業者Sam Bhagwat氏が、2024年に立ち上げたのがMastraだ。GitHub 22,000スター超、月間180万npmダウンロード、Y Combinator出身で累計1,300万ドルを調達。TypeScript界隈でいま最も勢いのあるAIフレームワークと言っていい。

だが「勢いがある」と「実際に使える」は別の話だ。触ってみた結果を、率直に書く。

なぜGatsbyチームがAIフレームワークを作ったのか

Gatsbyは2015年に登場し、React + GraphQLのスタックでJamstack時代を牽引した。しかしNext.jsの台頭とともに存在感は薄れ、2023年にはNetlifyに買収されてほぼ開発が止まった。

Bhagwat氏がMastraを始めた動機は、自身のインタビューで語られている。「周りのエンジニアがAIアプリを作ろうとして、プロンプトのデバッグ、ツール呼び出しの失敗原因の特定、メモリ管理のカスタム実装に延々と時間を溶かしているのを見た」と。Webフレームワークで培ったDX(開発者体験)のノウハウを、AIエージェント開発に持ち込もうとしたわけだ。

これは説得力がある。Gatsbyが成功した理由の一つは、当時複雑だったReactのセットアップをCLI一発で済ませたことだった。同じアプローチをAIエージェント開発に適用するのは、チームの強みが活きる領域だ。

Mastraとは何か — 30秒で理解する

Mastraは、TypeScriptでAIエージェント・ワークフロー・RAGパイプラインを構築するためのオープンソースフレームワークだ。Apache 2.0ライセンス。

核となるのは5つのプリミティブ。Agent(LLMとツールを使って自律的にタスクを遂行)、Workflow(マルチステップの処理をオーケストレーション)、RAG(ベクトル検索と外部データの取り込み)、Memory(会話履歴の短期・長期記憶)、そしてTool(外部APIやMCPサーバーとの接続)。

コードで見るほうが早い。エージェントの定義はこうだ。

import { Agent } from "@mastra/core";

const agent = new Agent({
  model: "anthropic/claude-3-5-sonnet",
  instructions: "あなたは天気予報のアシスタントです",
  tools: [weatherTool],
});

モデルの指定が文字列一つで済む。これがMastraの「統合モデルルーター」で、個別のプロバイダーパッケージをインストールする必要がない。openai/gpt-4oanthropic/claude-3-5-sonnetgoogle/gemini-2.5-pro——文字列を変えるだけでプロバイダーを切り替えられる。

統合モデルルーター — 600+モデルをゼロインストールで

モデルルーターはMastraの最も光る機能かもしれない。40以上のプロバイダーから600以上のモデルに、パッケージ追加なしでアクセスできる。レジストリはmodels.devやOpenRouterから動的に取得され、新モデルがリリースされるとIDEのオートコンプリートに自動追加される。技術的には、可能な場合はプロバイダーに直接ルーティングし、それ以外はOpenAI互換エンドポイントを経由する設計だ。

実行時の動的切り替えにも対応しており、A/Bテスト、ユーザーごとのモデル選択、コスト最適化がフレームワークレベルでサポートされている。LangChain.jsで同じことをやろうとすると、プロバイダーごとのパッケージインストールと初期化コードが必要になる。

LangChain.js・Vercel AI SDKとどう違うのか

TypeScriptでAIアプリを作るとき、選択肢は主に3つある。

Vercel AI SDKは、Next.jsとの統合に優れたストリーミングファーストのUIライブラリだ。React Server Componentsとの相性が抜群で、チャットUIを作るなら最も洗練されている。ただし、エージェントのオーケストレーションやRAG、メモリ管理の仕組みは持っていない。車で言えば「エンジン」だ。

LangChain.jsは、Python版LangChainのJS移植。モジュラーなアーキテクチャでチェーン、エージェント、ツール、メモリを組み合わせる。機能は豊富だが、「Pythonから翻訳された感」が拭えない。ボイラープレートが多く、TypeScriptの型推論が活きにくい場面がある。そしてエッジランタイムでは動作しない。

Mastraは、この2つの間を埋める存在だ。Vercel AI SDKのようなDXの良さと、LangChain.jsのようなフルスタックの機能を両立しようとしている。車で言えば「エンジンだけでなく、シートもダッシュボードもついた完成車」。

メモリ管理の違いが象徴的だ。LangChainではメモリクラスを自分で選んで設定する必要がある。Mastraは30,000トークンで自動圧縮され、設定不要で動く。これは開発初期のプロトタイピングでは明確な利点になる。

デプロイも、MastraはVercel、Cloudflare Workers、Netlifyに加え、Express/Hono/Fastifyでのセルフホストにも対応。サーバーレスファーストの設計で、エッジへのデプロイも可能だ。

MCP対応 — ツールのエコシステムに乗る

MastraはModel Context Protocol(MCP)にネイティブ対応している。MCPサーバーをツールとして接続すれば、エージェントが外部サービスのAPIを構造化された形で呼び出せる。

MCPは2025年後半から急速に普及が進んだプロトコルで、GitHub、Slack、各種データベースなど数百のMCPサーバーが公開されている。Mastraのエージェントにこれらを繋ぐだけで、ツール呼び出し、メッセージ履歴管理、モデルオーケストレーションがフレームワーク側で処理される。自前でAPIクライアントを書く必要がなくなるのは、地味だが開発速度に直結する。

Next.jsとの統合

TypeScript開発者にとって気になるのがNext.jsとの連携だろう。Mastraは2つのアプローチを用意している。

直接統合方式は、Next.jsのAPIルート内にMastraを組み込む方法。npx mastra@latest init --dir .でスキャフォールドされ、next.config.jsserverExternalPackages: ["@mastra/*"]を追加するだけで動く。分離バックエンド方式は、Mastraを独立したサービスとして立て、クライアントライブラリ経由でNext.jsアプリと通信させる。スケーラビリティが必要な場合や、複数フロントエンドから同じAIバックエンドを使いたい場合はこちらだ。

料金 — OSSは完全無料、Cloud版は未定

Mastraフレームワーク自体はApache 2.0ライセンスで完全無料。商用利用も制限なし。

Mastra Cloudは、ホスティング型のStudio、GitHubベースの自動デプロイ、オートスケーリング、オブザーバビリティを提供するマネージドプラットフォーム。現時点では「Free to start」で、2026年Q1に正式な料金プランを発表予定だったが、4月時点でまだ具体的な価格は公開されていない。エンタープライズ向けにはオンプレミスデプロイ、SSO/RBAC、SLA付きサポートが個別見積もりで用意されている。いま始めるなら、OSS版のセルフホストで完全無料だ。

率直な評価 — 光と影

光の部分。 モデルルーターの設計思想は秀逸だ。プロバイダーロックインを回避しつつ、開発体験を損なわない。TypeScriptのIDEサポートがフレームワーク全体で徹底されているのも、LangChain.jsとの明確な差別化になっている。npm月間180万ダウンロードは、Gatsbyの最初の5年間よりも速い成長速度だという。

影の部分。 1.0リリースが2026年1月と新しく、本番環境での実績がまだ浅い。Stack OverflowやQiitaでの知見が圧倒的に少なく、日本語の情報はほぼ皆無だ。問題にぶつかったらGitHub Issuesに頼ることになる。

Vercel AI SDKとの棲み分けも曖昧だ。単純なチャットUIだけならVercel AI SDKで事足りる。Mastraが必要になるのは、エージェントの自律的なツール呼び出し、ワークフロー、RAG、メモリ管理が絡む場面だ。Cloud版の料金が不透明な点も気になる。価格次第ではセルフホストのほうが安くなる可能性もある。

誰が使うべきか

TypeScriptで本格的なAIエージェントを作りたい開発者。これが最も端的な答えだ。

Pythonに抵抗がなければLangChainやCrewAIという選択肢もある。チャットUIだけが目的ならVercel AI SDKのほうがシンプル。だがTypeScriptスタックで、エージェント・ワークフロー・RAGを含むフルスタックのAIアプリケーションを構築するなら、2026年4月時点でMastraは最も筋のいい選択肢だと思う。

GatsbyチームがWeb開発で培ったDXへのこだわりは、確実にMastraにも引き継がれている。あとは、エコシステムの成熟と本番での実績が積み上がるかどうか。フレームワーク戦争は、最初の勢いだけでは勝てない。Gatsbyの末路を、彼ら自身が一番よく知っているはずだ。

関連記事