Skip to content
Agents tracked: 157 Downloads (7d): 216M up 9.6% GitHub stars: 4.2M VS Code installs: 145M Releases (7d): 233 Agent pull requests (last week): 940K Updated Oct 6, 2026

Mastra by Mastra

Agent frameworks and SDKs #21 overall#6 in categoryOpen source · Apache-2.0 (enterprise features under a separate licence)
Pulse Score
58 / 100
Rank #21 of 157
Downloads, last 7 days
2.2M
up 11.1% vs previous week
Downloads, last 30 days
7.3M
up 19.1% vs previous 30 days
GitHub stars
28.6K
about +27 a day
Latest release
1.74.0
yesterday · 10 in 30 days
Price
Free (OSS)
checked Oct 5, 2026

Overview

A TypeScript framework for building agents and AI workflows, with memory, evals, retrieval and observability built in.

Mastra was downloaded 2.2M times from npm in the week ending Oct 4, 2026, up 11.1% on the week before and up 19.1% over the last 30 days compared with the 30 before. The GitHub repository has 28.6K stars, 900 of them added in the last 30 days. The latest stable release is 1.74.0, published Oct 5, 2026; there were 10 stable releases in the past 30 days. It was mentioned in 15 Hacker News posts and comments over the last 30 days.

Mastra usage and attention over time

Downloads per daynpm, 7-day average 318K/day
GitHub starsrunning total 28.6K
Hacker News mentionsposts and comments, rolling 7-day total 3 this week

Download the raw daily series: mastra.csv

Install Mastra

npmnpm install @mastra/core

These commands use the packages tracked on this page. The vendor may recommend a different installer; see the official documentation.

Key facts

MakerMastra
TypeTypeScript agent framework
LicenseApache-2.0 (enterprise features under a separate licence)
InterfacesTypeScript library
Main languageTypeScript
Open issues and PRs524

Pricing

Mastra is open source and free to use; you pay only for the models and infrastructure it runs on.

, checked Oct 5, 2026. Prices change often; confirm before you buy.

Pulse Score breakdown

Adoption75
Community61
Attention17
Momentum60

Each component is scored 0 to 100 from public signals; a dash means no data for it. Methodology.

What changed: recent Mastra releases

25 stable releases in the last 90 days · Full changelog

1.74.0
  • @mastra/playground-ui: anchorTraceId removed from ThreadViewByTrace, TraceThreadPanel, and ThreadTrace; ThreadTrace.LoadMoreSentinel removed. Use pageSize and onLoadOlder on ThreadTrace to control…
  • Added agent.getMessages() to tool execution context in standard and durable agent loops. Tools can read the current conversation, including remembered messages and in-run responses, without…
  • Added group filtering and generation ordering to observational memory history. For example, getObservationalMemoryHistory(threadId, resourceId, 1, { groupId, sortDirection: "ASC" }) finds the…
  • Update provider registry and model documentation with latest models and providers (ac54c46)
  • Fixed chat channel agents ignoring mentions of their current display name after being renamed. For example, a Slack app renamed from acme-bot to helper now responds to @helper in channels, instead…
  • Raise transitive security dependency floors (dompurify, js-yaml, @ai-sdk/provider-utils) and bump nested/template deps (nodemailer, fastify, hono, ajv) for the 2026-10-01 Vanta remediation pass.…
1.73.0
  • Durable streams no longer emit a separate tripwire chunk when an output processor blocks; use finishReason === 'tripwire' and output.tripwire instead.
  • Every agent now recovers from transient provider failures, assistant-prefill rejections, and provider history incompatibilities with no configuration. Three error processors —…
  • Export findGatewayForModel and getGatewayId from @mastra/core/llm so callers can check which registered gateway the model router would pick for a model ID. Like the router, findGatewayForModel…
  • Added a tool-call-resumed stream chunk. It is emitted when a suspended or approval-gated tool call resumes, on both regular and durable agents, and comes before that call's tool-result.…
  • Invalid tool-call IDs on Anthropic models are now rewritten in the outbound request, so they no longer reach Anthropic and no longer require a failed call to recover. Persisted history keeps its…
  • Added an optional resolveSubagentModel(modelId, { requestContext }) option to AgentControllerConfig. Subagent models can now resolve with the calling run's request context, so custom providers and…
1.72.0
  • session.respondToToolApproval(...) now requires toolCallId (id-less approval responses are rejected); related approval APIs now key gates per thread/run and update grant scoping.
  • @mastra/playground-ui removed/renamed multiple UI APIs (notably ScrollArea props, PageHeader props, ToolCall → Activity component renames, and significant color token API changes).
  • Added maxRetries and failurePolicy options to the observational memory observation and reflection settings. When failurePolicy is 'continue', an Observer or Reflector model failure no longer ends…
  • Added support for resolving channel providers dynamically. The channels option on the Mastra constructor now also accepts a resolver function, so channel connections added on the Mastra platform…
  • Fence background task execution with a persisted, expiring ownership lease. (#24841)
  • Added an opt-in summary flag to listWorkflowRuns. When set, storage adapters may return only { status, timestamp } for each run snapshot instead of the full snapshot. (#25135)
1.71.0
  • @mastra/playground-ui TaskList API: title, TaskListHeader, and hideWhenEmpty are removed.
  • Added per-endpoint discovery features that observability storage can declare from getFeatures(): entity-type-discovery, entity-name-discovery, service-name-discovery, environment-discovery,…
  • Added planTraceAggregate(). It checks a parsed aggregateTraces() request and returns a TrustedTraceAggregatePlan that any storage backend can execute without re-validating the request. (#24868)
  • timeRange and where are validated exactly like queryTraces().
  • groupBy accepts only supported dimensions.
  • countDistinct accepts traceId or any field that groupBy accepts.
1.70.0
  • @mastra/playground-ui: ErrorState removed (use EmptyState tone="error").
  • @mastra/playground-ui: PermissionDenied and SessionExpired moved to auth domain with simplified props (custom copy/actions require rendering EmptyState directly).
  • @mastra/playground-ui: Button outline variant removed (use default/primary).
  • @mastra/playground-ui: TraceKeysAndValues removed; TraceDataPanelView placement="trace-page" now renders the summary itself.
  • Added ModelSelectionProcessor, which picks the model for each request with a classifier. Keep a capable model as the agent's default and let simple requests run on a cheaper one. (#24865)
  • The chosen model serves the whole run. Set scope: 'first-step' to change only the first call.
1.69.0
  • @mastra/playground-ui: removed @mastra/playground-ui/lib/springs; FluidHoverHighlight API changed to accept only hover and className.
  • @mastra/playground-ui: PageLayout/shell APIs reworked (removed PageLayoutRoot, MainContentLayout, MainContentContent, and multiple AppShell header-related props/contexts); migrate to the new…
  • Trace grouping deprecations (Core/Server/Client): grouped results in queryTraces() / trace-query group are deprecated; migrate to thread query (queryTraceThreads() / queryThreads contract).
  • Added classifier registration on Mastra. (#24738)
  • Added configured classifiers as typed workflow steps with fluent and dynamic graph support. Classifier steps expose complete typed answers and token usage for existing branch and conditional…
  • Deprecated the group option on the trace-query request contract. Grouping remains functional until the next major release; use the queryThreads thread-query contract for new code (exposed as…

Mastra alternatives

All agent frameworks and SDKs

# Agent Pulse Downloads 7d 7d 30d VS Code installs Stars Latest release Price Last 90 days
4
LangChainLangChain
77 44.3M up 1.9% down 22.0% — 147K+45/day 1.4.38d ago Free (OSS)
10
LangGraphLangChain
69 16.1M up 11.4% down 21.8% — 42.7K+48/day 1.2.13yesterday Free (OSS)
11
AI SDKVercel
67 34.5M up 13.5% up 20.9% — 27.1K+18/day 6.0.301yesterday Free (OSS)
13 63 8.7M up 0.6% up 2.0% — 8,679+23/day 1.58.0yesterday Free (OSS)
17 59 21.5M up 14.6% up 0.6% — 8,219+5/day 0.2.1636d ago Free (OSS)
23
Deep AgentsLangChain
57 2M up 13.5% up 5.0% — 30K+19/day 0.7.22yesterday Free (OSS)

Guides that cover Mastra

Mastra FAQ

How much does Mastra cost?

Mastra is open source and free to use; you pay only for the models and infrastructure it runs on.

Is Mastra open source?

Yes. Mastra is open source, released under the Apache-2.0 (enterprise features under a separate licence) license.

How popular is Mastra?

Mastra was downloaded 2.2M times from npm in the week ending Oct 4, 2026, up 11.1% on the week before and up 19.1% over the last 30 days compared with the 30 before. The GitHub repository has 28.6K stars, 900 of them added in the last 30 days. The latest stable release is 1.74.0, published Oct 5, 2026; there were 10 stable releases in the past 30 days.

What is the latest version of Mastra?

The latest stable release we track is 1.74.0, published on Oct 5, 2026.

What are the alternatives to Mastra?

The closest alternatives in the same category by Pulse Score are LangChain, LangGraph, AI SDK, Strands Agents.

Where these numbers come from

npm: @mastra/core. GitHub: mastra-ai/mastra. See data sources for how each one is collected.