Comparisons / Eve vs Mastra
Eve vs Mastra: Which Agent Framework to Use?
Eve vs Mastra, head to head
Eve and Mastra are both TypeScript-native agent frameworks aimed at production, but they were shaped by different constraints — and that shows up in what each one bundles by default.
Mastra is deploy-agnostic and batteries-included. new Agent({ model, instructions, tools }) is one line. Tools use createTool with Zod schemas. Workflows are a first-class primitive: Workflow.step().then().branch(). RAG is built in (chunking, embedding, vector store, retrieval). Memory is short-term-per-thread and long-term-across-sessions. Mastra Studio is a local browser-based debugger for stepping through agent runs. Series A of $22M in April 2026, relicensed to Apache 2.0 the same month.
Eve is convention-driven and Vercel-runtime-coupled. An agent is a directory: agent.ts, instructions.md, tools/, skills/, subagents/, channels/, schedules/. The framework wires the files together. Under the hood it composes the Vercel Workflow SDK (durable execution), Vercel Sandbox (isolated code exec), and AI Gateway (multi-model routing). The runtime primitives are the real value — the convention is the wrapper.
The honest tradeoff: Mastra gives you agent + workflow + RAG + debugger in one install, and it runs wherever Node runs. Eve gives you agent + durable execution + sandboxed exec + provider routing, and its full power is on Vercel. If Studio + built-in RAG + deploy-anywhere is what you need, pick Mastra. If Vercel is your target and durable execution + sandboxed exec are the reasons you're reaching for a framework, pick Eve.
Pick Eve if
Pick Eve when Vercel is the deploy target and the Workflow SDK + Sandbox are the actual leverage.
- Long-running or crash-prone agents; the checkpointed workflow layer means the agent resumes cleanly after a restart.
- You're running LLM-generated code — Vercel Sandbox is one API call and you don't have to run micro-VMs yourself.
- You already ship on Vercel and want agents to inherit the same deploy story as Next.js.
- The filesystem-shaped convention (
tools/,skills/,subagents/) matches how your team scales.
Pick Mastra if
Pick Mastra when you want a batteries-included TypeScript agent framework you can deploy anywhere.
- Built-in RAG is genuinely useful — chunking, embedding, vector store, retrieval, all one install.
- Mastra Studio is a real productivity lever for iterating on agents locally; visual traces beat
console.log. - Deploy target is TBD or heterogeneous — Mastra runs on Node, doesn't care about the platform.
- Workflow branching (
Workflow.step().then().branch()) matches your control flow needs without a graph DSL.
By the numbers
By the numbers
Eve
3.5k
180
TypeScript
Apache-2.0
2026-06-17
Vercel
Vercel (public)
Runs on Vercel Sandbox + AI Gateway; deploys anywhere Node runs
Yes
Mastra
22.7k
1.8k
TypeScript
Apache-2.0
2024-08-06
Mastra AI
Spark Capital, Y Combinator
Series A ($22M, Apr 2026 — $35M total)
244.0k
GitHub stats as of April 2026. Stars indicate community interest, not necessarily quality or fit for your use case.
| Concept | Eve | Mastra |
|---|---|---|
| Agent | A directory with `agent.ts` + `instructions.md` + subfolders — the framework wires them together | `new Agent({ model, instructions, tools })` with automatic tool dispatch |
| Tools | Each file in `tools/` exports one tool; schema comes from a Zod export | `createTool({ name, schema, execute })` with Zod validation |
| Durability | Vercel Workflow SDK checkpoints every step so a crashed agent resumes where it left off | — |
| Sub-agents | Each `subagents/*.ts` becomes a callable sub-agent the parent can hand off to | — |
| Sandboxed exec | Vercel Sandbox runs untrusted code in isolated micro-VMs, one API call away | — |
| Schedules | `schedules/*.ts` exports a cron expression + handler; Vercel runs it | — |
| Workflows | — | `Workflow` class with `.step()`, `.then()`, `.branch()` for orchestration |
| RAG | — | Built-in document syncing, chunking, embedding, and vector search |
| Memory | — | Short-term thread memory + long-term vector memory across sessions |
| Studio | — | Mastra Studio: local GUI for testing agents, viewing traces, debugging |
Or build your own in 60 lines
Both Eve and Mastra implement the same 8 patterns. An agent is a function. Tools are a dict. The loop is a while loop. The whole thing composes in ~60 lines of Python.
No framework. No dependencies. No opinions. Just the code.
Build it from scratch →