Skip to main content
loomcycle
§ comparison

Mastra vs loomcycle.

Mastra is a TypeScript framework for building AI agents and apps on Node, with a Helm chart for production self-host, Studio as the admin UI, and an Enterprise licence that gates the production RBAC and SSO. loomcycle is one ~80 MB Go binary that ships Decision, Teams-as-one-file state machines, whole-deployment Snapshots, memory, documents, bundled dev toolchain and a headless Chromium under one Apache-2.0 licence.

The one-line difference. Mastra is a framework; the production shape is Node + Postgres + a Helm chart + an Enterprise licence for RBAC and SSO. loomcycle is a runtime; the production shape is one Go binary and a config file. Both expose MCP server and client, both route to the same providers; the daylight is the deployment artefact and what counts as "in the box" without a commercial tier.

What each one is

Mastra

what: TypeScript framework for agents and apps

runs on: Node ≥ 22.18; Helm chart with Postgres for production

providers: 40+ via one interface (Anthropic, OpenAI, Bedrock, Gemini, etc.)

license: Apache-2.0 core; Enterprise licence on ee/ (RBAC, SSO, FGA)

shape: npm package embedded in a Next.js / Express / Hono app, or standalone Node server + Studio

Agent, Tools, Workflows (with suspend/resume + "workflow time travel"), Observational Memory, Agent Networks for LLM-routed multi-agent, Harness (now AgentController GA), Eval Gates with CI-fail verdicts, OTEL traces + metrics, MCP client and server (2026-07-28). The Studio UI renders chat, workflow builder, traces and datasets; Mastra Factory is a separate product that coordinates GitHub + Linear + Slack. Production self-host is a Helm chart with at least two Deployments (mastra-server + mastra-studio) and Postgres required.

loomcycle

what: a complete agentic system you self-host

runs on: one ~80 MB Go binary, laptop / VPS / container / k8s

providers: Anthropic direct, OpenAI, DeepSeek, Ollama, Gemini, Bedrock, more

license: Apache-2.0, the whole thing, versioned to v1.111.0

shape: HTTP + gRPC + MCP + WebSocket + TS + Python surface, one process

The runtime that owns the agent loop. Bi-temporal memory with subject-document identity and a published LoCoMo 0.74. The Decision tool as a general primitive with kind-typed model aliases. Teams-as-one-file state machines with declarative decision nodes, parallel + consolidator, pushback. Whole-deployment Snapshots covering every substrate def plus runtime state. Multi-replica HA on Postgres LISTEN/NOTIFY. OTEL + Prometheus. MCP server and client. LoomBoard canvas. Validated by two months of continuous production operation at JobEmber.ai.

Where they overlap

Both ship a durable workflow primitive with suspend/resume. Both route to many providers through one call shape. Both are MCP native on both the client and server sides. Both expose OpenTelemetry traces. Both have a browser-facing admin UI (Studio for Mastra; the loomcycle Web UI + LoomBoard for loomcycle). Both support schedules, webhooks and background tasks. If what you need is "an agent that runs a tool loop and remembers its last turn", either one will carry you.

Capability matrix

Rows marked ✦ are where loomcycle's answer is materially different from Mastra's. Some of those rows favour loomcycle, some favour Mastra; the mark flags a real divergence, not a value judgement.

Capability Mastra loomcycle
Deployment artefact npm package into a Node app, or Helm chart with 2+ Deploymentsno single-binary or all-in-one container option One ~80 MB Go binarycurl + chmod +x + ./loomcycle serve
Required external state (production) Postgres (required by the Helm chart)no Redis / vector store required by the chart itself SQLite default; Postgres optional for HAno required external services
RBAC + SSO in the OSS build ~dev-mode works unlicensed; production RBAC + SSO under ee/ require the Enterprise Edition licence ✓tenant isolation, operator tokens, declared principals, per-user token minting all under Apache-2.0
License (core) Apache-2.0 for core; Mastra Enterprise License on ee/ pathsdual-licence; production RBAC/SSO sit in the Enterprise half Apache-2.0 for the whole thingno dual-licence, no feature gating
Primary language TypeScript (Node ≥ 22.18)first-class on Next.js, React, Hono, Express GoTS and Python client SDKs; HTTP/gRPC/MCP wire parity
Agent primitive ✓Agent with .generate(), .network(), .loop() ✓AgentDef substrate; Agent, Skill, Decision, Memory tools
Tools, schema-typed ✓zod inputSchema / outputSchema ✓JSON Schema; MCPServerDef substrate for external tool servers
Memory primitive Observational memory + semantic recall + threads; backend Postgresno bi-temporal / subject-document identity; no published memory benchmark Bi-temporal + subject-document identity; LoCoMo 0.74per-piece derived search units at 0.966 recall@5; vector + SQL memory in the same binary
Decision model primitive ✗no dedicated typed-answer tool; Classifier.decide() helper + tool outputSchema enforcement; model aliases do not carry a kind tag ✓Decision tool (v1.107) with choice, noul, score; kind-typed aliases; LoCoMo rerank recall@5 lifted 0.588 → 0.740
Teams-as-one-file (declarative DAG with decision + consolidator + pushback) ✗Agent Networks are LLM-routed at runtime; supervisor + subagents is the recommended pattern; no declarative team-graph file ✓TeamDef substrate: a single file declares nodes (agent / decision / parallel / consolidator), transitions, pushback edges, iteration caps; LoomBoard canvas renders and runs it
Durable workflows (suspend / resume) ✓graph engine with .then() / .branch() / .parallel(); workflow time travel reruns from stored snapshot ✓interactive sessions; detached sub-agents; pause / resume / resume-from-snapshot
Whole-deployment Snapshot ~per-workflow time travel; durable-agent checkpoints to Postgres; no runtime-wide snapshot primitive ✓one Snapshot op captures every def plus runtime state; restore replays the whole deployment; cred-scan at export
MCP server + client ✓@mastra/mcp 2.0.0; serves 2026-07-28, client reaches older revisions ✓MCPServerDef + stdio + HTTP; per-tenant transport; 21+ meta-tools
A2A protocol ~connection type alongside MCP / ACP / SDK agents; not a headline primitive ✓A2AServerCardDef + A2AAgentDef substrate; agents federate across runtimes
Observability (OTEL + Prometheus) ~OTEL yes; Prometheus not emphasised; Studio renders traces/metrics ✓OTEL traces + Prometheus /metrics; per-scope token-usage ledger + enforceable budgets
Human-in-the-loop (approval, question) ✓suspend/resume on workflows; Harness permissions and pending approvals (threads survive restart, approvals do not) ✓Interruption tool: in-loop and off-run questions; interrupt-on-cap for teams
Admin UI / canvas ✓Studio: chat, workflow builder, traces, datasets; separate Deployment ✓Web UI + LoomBoard canvas with decision-node routing visualisation
Pre-built chat-platform bridges (Slack / Discord / Teams / GitHub / Linear) ~signal providers forward events into threads; Mastra Factory bundles GitHub+Linear+Slack as a product; no reusable per-platform adapter packages ~Teams bridge shipped; Slack / Discord / GitHub / Linear / Telegram / Twilio adapters in the Bridges design, under RFC-first implementation
Bundled dev toolchain + headless Chromium ✗bring your own; agents using a browser or build tools wire them per project ✓Node, Go, Rust toolchains, git, headless Chromium bundled in the toolbox image
Multi-replica HA ✓Helm chart replicas; coordination through Postgres ✓Postgres LISTEN/NOTIFY backplane; verified in multi-replica stress tests
Air-gap / sovereign-AI deployability ~Enterprise tier: "data in your VPC"; no published air-gap guide / SOC 2 Type II / FIPS as of Oct 2026 ~single binary + Ollama local runs on an isolated machine today; loomcycle enterprise SOC 2 / FIPS / audit-integrity build is scoped
Pricing (OSS self-host) Free (Apache-2.0 core); production RBAC/SSO under commercial Enterprise licenceTeams cloud $250/mo for SSO; Enterprise custom pricing for self-host RBAC Free (Apache-2.0, whole thing)no feature gating, no commercial tier required for production RBAC/SSO
✓ shipped ~ partial or indirect ✗ not present ✦ material divergence between the two

Where Mastra fits better

Straightforward cases. Pick Mastra if:

Where loomcycle fits better

Also straightforward. Pick loomcycle if:

A quick note on the shipping cadence

Both projects ship often. Mastra released 15 minor versions of @mastra/core between September 3 and October 15, 2026; loomcycle released six minor versions in the same window (v1.106 through v1.111, with the Decision tool, Teams-as-one-file, team decision state, walk-aware sub-agents and whole-deployment Snapshots arriving across the wave). The release-note frequency is similar; the feature mix is different: Mastra invests in dev-rel surface (Factory, Studio, Harness GA), loomcycle invests in substrate primitives (Decision, TeamDef, Snapshot, bridges).

Try loomcycle

One binary. One config file. Decision tool, Teams-as-one-file, Snapshots, memory, documents, headless Chromium, all in the box, Apache-2.0 all the way down.

curl -L https://github.com/denn-gubsky/loomcycle/releases/latest/download/loomcycle-$(uname -s | tr A-Z a-z)-$(uname -m) -o loomcycle
chmod +x loomcycle
./loomcycle serve --config loomcycle.yaml