Mastra
エージェント・型付きワークフロー・メモリが1つのパッケージで揃うTypeScriptフレームワーク
Mastraとは
エージェントは指示文とモデルを与えて宣言し、ツールは入力と出力の両方をスキーマで検証します。ワークフローはステップを繋いで組み立て、実行状態をストレージに書き出すため、途中で中断して後から再開できます。検索・メモリ・評価・トレースが別々の部品の寄せ集めではなく同じパッケージに入っている点が魅力ですが、その広さは覚える対象の広さでもあります。またApache-2.0の範囲は、別の商用ライセンスで留保されたいくつかのディレクトリの手前で止まります。
Mastraで何ができますか?
- エージェントを宣言して呼び出す — エージェントはid、名前、振る舞いを決める指示文、モデルを持つオブジェクトです。generateを呼べば1ターン実行され、Mastraインスタンスに登録したエージェントはアプリのどこからでもidで取り出せます。
- ツールの入口と出口の両方に型を付ける — createToolには入力スキーマ、出力スキーマ、実行関数を渡します。モデルが生成した引数は自分のコードに届く前に検証され、返り値もモデルに渡る前に検証されます。
- 止められるワークフローを組む — ステップは順次実行のthen、並行実行のparallel、分岐のbranchで繋ぎます。実行を中断して人の判断を待ち、後から再開できます。状態はストレージに置かれるため、待ち時間がプロセスの寿命を超えても構いません。
- ターンをまたいで残る文脈を持たせる — 会話履歴、自前のAPI・データベース・ファイルからの検索、そして観測型のメモリ層がいずれも標準機能です。永続化は部品を組み合わせるのではなく設定で済みます。
- ビルドして、いつもの場所へ配置する — ビルドコマンドはVMやコンテナで動く独立したHonoサーバーを出力します。Vercel、Netlify、Cloudflare、AWS Lambda、Kubernetes向けの出力先が用意されているほか、既存のNext.jsやAstroアプリの中で動かすこともできます。
Mastraを選ぶ前に
- Apache-2.0の対象からeeという名前のディレクトリが除かれます。ライセンス文書はそれをcoreとserverの認証部分と示しつつ、列挙は網羅的ではないと明記しています。
スター推移
8月21日〜8月28日 · +195
よくある質問
Mastraは商用利用できますか?
MastraはApache-2.0ライセンスで公開されています。OSI承認のオープンソースライセンスで、商用利用が認められています。
Mastraはどの形で使えますか?
Mastraはセルフホスト・マネージドクラウドの形で利用できます。
ドキュメント
mastra-ai/mastra のREADMEより転載(UNKNOWN — read the LICENSE file)。 原文を読む ↗
Mastra
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
It includes everything you need to go from early prototypes to production-ready applications. Mastra integrates with frontend and backend frameworks like React, Next.js, and Node, or you can deploy it anywhere as a standalone server. It’s the easiest way to build, tune, and scale reliable AI products.
Why Mastra?
Purpose-built for TypeScript and designed around established AI patterns, Mastra gives you everything you need to build great AI applications out-of-the-box.
Some highlights include:
-
Model routing - Connect to 40+ providers through one standard interface. Use models from OpenAI, Anthropic, Gemini, and more.
-
Agents - Build autonomous agents that use LLMs and tools to solve open-ended tasks. Agents reason about goals, decide which tools to use, and iterate internally until the model emits a final answer or an optional stopping condition is met.
-
Workflows - When you need explicit control over execution, use Mastra’s graph-based workflow engine to orchestrate complex multi-step processes. Mastra workflows use an intuitive syntax for control flow (
.then(),.branch(),.parallel()). -
Human-in-the-loop - Suspend an agent or workflow and await user input or approval before resuming. Mastra uses storage to remember execution state, so you can pause indefinitely and resume where you left off.
-
Context management - Give your agents the right context at the right time. Provide conversation history, retrieve data from your sources (APIs, databases, files), and add human-like memory with Observational Memory so your agents behave coherently.
-
Integrations - Bundle agents and workflows into existing React, Next.js, or Node.js apps, or ship them as standalone endpoints. When building UIs, integrate with agentic libraries like Vercel’s AI SDK UI and CopilotKit to bring your AI assistant to life on the web.
-
MCP servers - Author Model Context Protocol servers, exposing agents, tools, and other structured resources via the MCP interface. These can then be accessed by any system or agent that supports the protocol.
-
Production essentials - Shipping reliable agents takes ongoing insight, evaluation, and iteration. With built-in evals and observability, Mastra gives you the tools to observe, measure, and refine continuously.
Get started
The recommended way to get started with Mastra is by running the command below:
npm create mastra@latest
Follow the Installation guide for step-by-step setup with the CLI or a manual install.
If you’re new to AI agents, check out our templates, course, and YouTube videos to start building with Mastra today.
Create a new Mastra project. Mastra is a framework for AI applications and agents on a modern TypeScript stack. Before running the command, ask these questions one at a time and wait for each answer unless it was already provided:
Project name? (default: "my-mastra-app")
Provider? (required; options: "openai", "anthropic", "google", "xai")
If the provider isn't supported, ask again and list the supported values.
Run: npm create mastra@latest <project-name> -- --llm <provider>
The command creates a default Mastra project, installs Mastra skills for detected coding assistants, and initializes Git when appropriate.
After creation, enter the project directory and start the dev server: npx bgproc start -n <project-name> -w -- npm run dev
Open Mastra Studio at http://localhost:4111. Studio is the interface for building, testing, and managing agents, workflows, and tools.
Also mention that the Mastra model router provides access to thousands of models: https://mastra.ai/models
Documentation
Visit our official documentation.
Build with AI
Learn how to make your agent a Mastra expert by following the Build with AI guide.
Support
We have an open community Discord. Come and say hello and let us know if you have any questions or need any help getting things running.
It’s also super helpful if you leave the project a star here, at the top of the page
Licensing
This repository uses a dual-license model:
- Apache License 2.0 — The core framework and the vast majority of this codebase is open source under Apache-2.0.
- Mastra Enterprise License — Code in any directory named
ee/(e.g.,packages/core/src/auth/ee/) is source-available under the Mastra Enterprise License. These features require a valid enterprise license for production use but can be freely used for development and testing.
See LICENSE.md for the full license mapping and ee/LICENSE for the enterprise license terms.
Security
We are committed to maintaining the security of this repo and of Mastra as a whole. If you discover a security finding we ask you to please responsibly disclose this to us at security@mastra.ai and we will get back to you.