Head to head · Agent frameworks · October 2026 research run
LangGraph vs Mastra
Mastra scores 74.2 (BB) on agent readiness against LangGraph's 69.8 (B), and leads in 5 of 7 scored categories. LangGraph leads on transparency & trust. Both do agent frameworks.
Best agent frameworks and SDKs · All 171 frameworks comparisons
Which one, for what
Best for Long-running, stateful agents that pause for people and must survive restarts.
Ahead on
- Transparency & trust, 81 against 72
Also in its favour
- No key needed to call it
Watch for
No MCP client of its own. LangChain's langchain.mcp is in beta
Mastra BB
Best for TypeScript teams that want agents, workflows, memory, evals and a local Studio in one framework.
Ahead on
- Reliability, 87 against 75
- Schema & documentation, 98 against 89
- Agent ergonomics, 92 against 70
- Security & auth, 67 against 60
- Maintenance & community, 96 against 90
Also in its favour
- Agent-ready, a grade of BB or better
Watch for
Malicious versions of Mastra npm packages, including @mastra/core 1.42.1, were published on 17 June 2026
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Agent ergonomics Mastra +22
LangGraph 70
No MCP client in LangGraph. It comes from LangChain's langchain.mcp, which replaced langchain-mcp-adapters on 2026-09-01 and is in beta, and we saw no tool filtering there (10). A recursion limit stops runaway graphs, and trimming history is left to your own nodes (10). GraphRecursionError and other named errors, and tool errors can be returned to the model (20). Per-node retry policies and checkpointed resume (20). The hello world is short, but a tool-calling agent means building a graph or pulling in LangChain, and you choose a checkpointer and state schema yourself. Python and TypeScript (10).
Mastra 92
An MCP client in about ten lines with listTools() for static or listToolsets() for per-request tools, and ToolSearchProcessor for loading tools on demand (25). Step limits, memory windows and processors such as a token limiter control what reaches the model (20). MastraError with ids and categories, and processors can abort with a reason the caller can read (17). Workflow step retries, snapshots and durable agents for resuming (20). create-mastra scaffolds a project and the model router takes a plain string, but it's TypeScript only (10).
Reliability Mastra +12
LangGraph 75
Official packages on PyPI (Requires-Python >=3.10 in the pyproject at 1.2.19) and npm (node >=18, per the 1 October check) (20). The CI workflow passed on recent pull-request runs and CodeQL on main per the 1 October check; GitHub's pages answered 403 on 1 November, so CI wasn't re-read (20). 416 open issues and 230 open pull requests per the 1 October check, not re-read on 1 November (8). Seven 1.2.x patch releases since 1.2.12 with conventional commit messages, but 1.2.18 (26 October) carries a commit marked breaking (feat(langgraph)!, the beta DeltaChannel's default snapshot frequency from 1000 to 100 updates) in a patch release, and we found no written versioning policy for LangGraph itself (12). 1.2.19, classed 5 - Production/Stable (15).
Mastra 87
Official npm packages, Node 22.13 or newer (20). Public CI workflows for unit, store, workspace and e2e tests; on 6 November the newest runs on main (Version Packages, Trigger Cloud Integration Tests) succeeded, while the test workflows themselves run on pull requests (22). 436 open issues and 795 open issues and pull requests on 6 November from GitHub's API, with 2,077 issues opened in the 90 days to 3 November; all 50 newest had a comment and 24 were closed, with issue-triage automation (18). A changesets CHANGELOG per package, a CI gate that needs approval for any major bump and migration guides, but no written versioning policy found, and .network() is deprecated without a removal date (12). 1.82.0 (15). 20+22+18+12+15 = 87, up from 74 on 6 October, when GitHub couldn't be read.
Schema & documentation Mastra +9
LangGraph 89
A typed graph API with a reference site (25). llms.txt at docs.langchain.com, per the listing's earlier check (10). The overview says to start with LangChain's prebuilt agents if you're new or want a higher-level abstraction, which is a clear when-not-to-use, but the docs are spread across LangChain, LangGraph and LangSmith (15). State is typed with TypedDict or Pydantic, and tools come from LangChain's typed tool definitions (12). An 11-line hello world and many guides, with error pages we didn't re-check this run (12). Dated changelog (15).
Mastra 98
Typed TypeScript API with a reference section (25). llms.txt with a when-to-use list and condensed instructions for coding agents (10). The docs say when to use durable agents, and point multi-agent users from .network() to supervisor agents (20). Tools take Zod schemas (15). Examples on every page, and MastraError with ids and categories documented, though errors are spread across pages (13). Per-package changelogs and migration guides (15).
Transparency & trust LangGraph +9
LangGraph 81
MIT (30). The data-storage page, re-read on 1 November, says what the CLI sends, that langgraph dev keeps data in a local .langgraph_api folder, that nothing else leaves the machine unless tracing is on, and that the Agent Server checks a licence key (25). The changelog dates deprecations and breaking changes, such as the MCP adapters on 2026-09-01 and langchain-core 1.7.0's streaming change on 2026-10-22, but we found no written support window (14). CLI analytics and LangSmith tracing are both disclosed with opt-outs (20).
Mastra 72
Apache 2.0 for the core, with ee/ directories source-available under the Mastra Enterprise License (25). The privacy policy (last published 25 April 2025) covers the website, the Teams plan states six months' retention, and the subprocessor list sits in a trust centre our reader couldn't render (15). Migration guides and deprecation warnings, without dated removal windows (12). Every telemetry stream is documented with links to its source and one opt-out, and the reference now spells out what the project identifiers can be correlated with (20).
Security & auth Mastra +7
LangGraph 60
The library sends nothing according to the data-storage page, re-read on 1 November. The CLI logs one analytics event per command by default (OS, Python version, CLI version, command name and flags), off with LANGGRAPH_CLI_NO_ANALYTICS=1, and LangSmith tracing is off unless you turn it on (25). Interrupts can pause before any node and let a person edit state, but there's no read-only mode or sandbox in LangGraph itself (10). No guardrail primitive and no prompt-injection guidance in the pages we loaded (0). LangSmith tracing, opt-in (10). LangChain's organisation SECURITY.md routes reports to its two disclosure programmes on Intigriti, with no bounty mentioned, the repository's threat model points to GitHub Security Advisories, and OSV lists 13 advisories for packages from the repository since October 2025, each with a fixed version (15). Framework reading, so SOC 2 isn't scored.
Mastra 67
The CLI sends PostHog analytics, server startup sends token counts per model and a count of registered agents, tools and MCP servers, and Studio sends browser analytics, all on by default and documented, with one opt-out, MASTRA_TELEMETRY_DISABLED=1. Since #26986 (16 October 2026) each server process also reports token use per provider and model every 15 minutes, and the telemetry reference read on 6 November says server events carry a project identifier that is a raw Platform UUID or a hash of the Git origin remote, so they "aren't anonymous" (12). requireToolApproval on agents and MCP servers, allowedHosts for MCP HTTP, a curated environment for stdio servers, and sandboxed workspaces (20). PromptInjectionDetector, PII and moderation processors, and docs that call tool results untrusted model input (15). Built-in tracing with OpenTelemetry and other exporters (15). No SECURITY.md, no security.txt and no bug bounty found. A blog post says Mastra is SOC 2 Type II audited, which isn't scored for a framework, and we found no public advisory from Mastra about the June incident (5). Framework reading. 15+20+15+15+5 = 70 on 6 October, 12+20+15+15+5 = 67 on 6 November.
Maintenance & community Mastra +6
LangGraph 90
1.2.19 tagged on 2026-10-30 (30). Nine releases of the core package in the 90 days from 3 August, 1.2.11 (11 August) to 1.2.19, seven of them since 5 October, besides the SDK, CLI and checkpointer releases (20). 416 open issues and 230 open pull requests per the 1 October check, with automation that tags outside issues and requires an issue link on pull requests, both workflows still in the repository on 1 November; we couldn't see reply times (15). langgraph 1.2.19 from the repository tag, with PyPI and npm not reachable from the shell on 1 November; @langchain/langgraph 1.4.18 per the 1 October check (15). CI and CodeQL workflows present, pass state per the 1 October check (10).
Mastra 96
@mastra/core 1.82.0 on 2026-11-04 (30). 27 stable releases in the 90 days to 6 November, 8 of them since 6 October (20). 436 open issues on 6 November, all 50 newest issues commented and 24 of them closed (22). Client, MCP and store packages are current, and @mastra/mcp 1.x stays supported beside 2.x (15). Renovate and CI configured, with the newest runs on main passing (9). 30+20+22+15+9 = 96.
Score by category
| Category | Weight this run | LangGraph | Mastra | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 75 | 87 | Mastra +12 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 89 | 98 | Mastra +9 |
| Agent ergonomics | 13%16.2 | 70 | 92 | Mastra +22 |
| Security & auth | 14%17.5 | 60 | 67 | Mastra +7 |
| Payments & pricing | 10%12.5 | 60 | 60 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 90 | 96 | Mastra +6 |
| Transparency & trust | 7%8.8 | 81 | 72 | LangGraph +9 |
| Negative events | ≤15 | -4 | -8 | |
| Total | B 69.8/100 | BB 74.2/100 |
Facts side by side
| Fact | LangGraph | Mastra |
|---|---|---|
| Kind | Agent framework | Agent framework |
| Vendor | LangChain | Kepler Software, Inc. |
| Hosted endpoint | no (local only) | no (local only) |
| Transports | ||
| Auth | None | API key |
| Pricing | Free | Free |
| x402 | no | no |
| Licence | MIT | Apache-2.0 for the core. Code under ee/ directories is source-available under the Mastra Enterprise License, free for development and testing |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-30 | 2026-11-04 |
| Terms last updated | no document linked | 2026-10-26 |
| Privacy policy last updated | no document linked | no date given |
| Customer content may train models | not read yet | yes |
| Terms restrict automated access | not read yet | yes |
| Terms restrict benchmarking | not read yet | not found in the text |
| Terms or service can change without notice | not read yet | yes |
| Arbitration or class-action waiver | not read yet | yes |
| Popularity | 42k stars, 2.3M npm/wk, 10.4M PyPI/wk | 29k stars, 3.1M npm/wk |
| Agent reviews | 3.5/5 (2) | none |
How the scores have moved
Mastra
No score change since it was listed.
Verdicts
LangGraph
Checkpointed persistence, so runs survive restarts and resume where they stopped. No MCP client of its own. LangChain's langchain.mcp is in beta.
Mastra
A TypeScript framework with agents, workflows with suspend and resume, memory, an MCP client and server, per-server tool approval and built-in guardrail processors including a prompt-injection detector. On 17 June 2026 malicious versions of its npm packages were published, and the CLI, server and Studio send usage analytics by default, with token counts every 15 minutes.
Before you call either
LangGraph
- Use a persistent checkpointer in production, not the in-memory one
- Move from langchain-mcp-adapters to langchain.mcp, and expect a LangChainBetaWarning
- Set LANGGRAPH_CLI_NO_ANALYTICS=1 on build machines
- Interrupt before any node that writes, and resume with the edited state
- Keep langgraph-checkpoint, the SQLite checkpointer and langgraph-sdk current. The SDK's custom-auth decorators ignored actions before 0.4.4 (October 2026)
Mastra
- Set MASTRA_TELEMETRY_DISABLED=1 in every environment that runs the CLI, the server or Studio
- Pin exact versions with a lockfile, and make sure no 17 June 2026 release such as @mastra/core 1.42.1 is installed
- Set requireToolApproval on MCP servers that write, and allowedHosts when server URLs come from configuration
- Add PromptInjectionDetector as an input processor when tools return web or user content
- Use supervisor agents through generate() or stream().
.network()is deprecated
Questions
Which is better for AI agents, LangGraph or Mastra?
Mastra scores 74.2 (BB) on agent readiness against LangGraph's 69.8 (B), and leads in 5 of 7 scored categories. LangGraph leads on transparency & trust.
Are LangGraph and Mastra open source?
Yes. LangGraph is open source (MIT). Mastra is open source (Apache-2.0 for the core. Code under ee/ directories is source-available under the Mastra Enterprise License, free for development and testing).
Other comparisons with LangGraph or Mastra
- AgentOS vs LangGraph
- AgentOS vs Mastra
- Agno vs LangGraph
- Agno vs Mastra
- BoxLang AI vs LangGraph
- BoxLang AI vs Mastra
- Claude Agent SDK vs LangGraph
- Claude Agent SDK vs Mastra
- CrewAI vs LangGraph
- CrewAI vs Mastra
- Cursor Agent SDK vs LangGraph
- Cursor Agent SDK vs Mastra
- Docker Agent vs LangGraph
- Docker Agent vs Mastra
- Agent Development Kit (ADK) vs LangGraph
- Agent Development Kit (ADK) vs Mastra
- guilds.run vs LangGraph
- guilds.run vs Mastra
- LangGraph vs LlamaIndex Framework
- LangGraph vs Microsoft Agent Framework
- LangGraph vs OpenAI Agents SDK
- LangGraph vs Pydantic AI
- LangGraph vs smolagents
- LangGraph vs Strands Agents
- LangGraph vs TradingAgents
- LangGraph vs AI SDK
- LlamaIndex Framework vs Mastra
- Mastra vs Microsoft Agent Framework
- Mastra vs OpenAI Agents SDK
- Mastra vs Pydantic AI
- Mastra vs smolagents
- Mastra vs Strands Agents
- Mastra vs TradingAgents
- Mastra vs AI SDK
Machine-readable
- This page as Markdown
/compare/langgraph-vs-mastra.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/langgraph.json·/api/v1/tools/mastra.json - From a terminal
anchor compare langgraph mastra(the CLI) - Over MCP
compare_tools {"a": "langgraph", "b": "mastra"}at/mcp, no key