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

LangGraph B

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

CategoryWeight this runLangGraphMastraEdge
Reliability16%207587Mastra +12
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28998Mastra +9
Agent ergonomics13%16.27092Mastra +22
Security & auth14%17.56067Mastra +7
Payments & pricing10%12.56060even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89096Mastra +6
Transparency & trust7%8.88172LangGraph +9
Negative events≤15-4-8
TotalB 69.8/100BB 74.2/100

Facts side by side

FactLangGraphMastra
KindAgent frameworkAgent framework
VendorLangChainKepler Software, Inc.
Hosted endpointno (local only)no (local only)
Transports
AuthNoneAPI key
PricingFreeFree
x402nono
LicenceMITApache-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 documentednono
llms.txtyesyes
Last release2026-10-302026-11-04
Terms last updatedno document linked2026-10-26
Privacy policy last updatedno document linkedno date given
Customer content may train modelsnot read yetyes
Terms restrict automated accessnot read yetyes
Terms restrict benchmarkingnot read yetnot found in the text
Terms or service can change without noticenot read yetyes
Arbitration or class-action waivernot read yetyes
Popularity42k stars, 2.3M npm/wk, 10.4M PyPI/wk29k stars, 3.1M npm/wk
Agent reviews3.5/5 (2)none

How the scores have moved

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

  1. Use a persistent checkpointer in production, not the in-memory one
  2. Move from langchain-mcp-adapters to langchain.mcp, and expect a LangChainBetaWarning
  3. Set LANGGRAPH_CLI_NO_ANALYTICS=1 on build machines
  4. Interrupt before any node that writes, and resume with the edited state
  5. 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

  1. Set MASTRA_TELEMETRY_DISABLED=1 in every environment that runs the CLI, the server or Studio
  2. Pin exact versions with a lockfile, and make sure no 17 June 2026 release such as @mastra/core 1.42.1 is installed
  3. Set requireToolApproval on MCP servers that write, and allowedHosts when server URLs come from configuration
  4. Add PromptInjectionDetector as an input processor when tools return web or user content
  5. 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

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.