{
  "data": {
    "a": {
      "slug": "agentos",
      "name": "AgentOS",
      "vendor": "Framers Lab, Inc.",
      "vendorUrl": "https://agentos.sh",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Open-source TypeScript agent framework from Framers Lab, installed from npm as @framers/agentos. It runs agents with long-term memory, multi-agent teams, graph workflows with checkpoints, guardrails and approval gates across 11 model providers.",
      "url": "https://www.anchorterminal.com/tools/agentos",
      "markdownUrl": "https://www.anchorterminal.com/tools/agentos.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/agentos.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agentos.json",
      "dns": "agentos.grade.anchorterminal.com",
      "repo": "https://github.com/framerslab/agentos",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@framers/agentos"
        }
      ],
      "auth": "api-key",
      "authNotes": "The framework has no account of its own. Each model provider takes its own key from the environment or from the agent's configuration, and the Claude and Gemini CLI providers use an existing local sign-in.",
      "pricing": "free",
      "pricingNotes": "Free and Apache 2.0, with no paid tier of AgentOS found. You pay your model provider. The terms page says the maintainers give no service-level agreement for self-hosted use (https://agentos.sh/legal/terms/, checked 2026-10-08).",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the repository or on agentos.sh (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 677,
        "npmWeekly": 5328,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.agentos.sh",
      "llmsTxt": "https://agentos.sh/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable"
      ],
      "tags": [
        "framework",
        "typescript",
        "open-source",
        "llms-txt",
        "free",
        "no-card"
      ],
      "lastRelease": "2026-10-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 52,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 87,
          "payments": 60,
          "reliability": 77,
          "schema": 92,
          "security": 81,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -2,
        "negativeNotes": [
          "2026-10-08 to 2026-10-12. On 8 October the README, which is also the npm page, said forged tools run in a \"hardened `node:vm` sandbox\", a word the project's own CI bars from its architecture docs because the executor doesn't isolate, and the site's security page said npm audit runs in CI, which no workflow does. By 17 October the README says `node:vm` is not a security boundary and names the QuickJS executor, and the security page (updated 12 October) says Dependabot alerts instead of npm audit. A misleading claim, fixed, so the minimum, -2. https://github.com/framerslab/agentos/blob/master/README.md; https://agentos.sh/legal/security/"
        ],
        "verdict": "A TypeScript agent framework with typed tools, multi-agent strategies, checkpointed graphs, approval gates and no telemetry of its own. It is at 0.15.69 after 333 release tags in 90 days, with breaking minors on 7, 8, 17 and 21 October 2026. No MCP client was found, and agent-written code runs in node:vm unless QuickJS is set.",
        "bestFor": "TypeScript teams that want long-term memory, personas, voice and channel adapters and multi-agent teams in one package, and that will pin versions.",
        "strengths": [
          "Apache 2.0, with no analytics or telemetry code found in the source and a privacy page that says the runtime sends nothing to the vendor",
          "Approval gates on five triggers (named tools, agents, forged tools, the final return, strategy overrides) with CLI, Slack, webhook and LLM-judge handlers",
          "An optional QuickJS executor runs agent-written code in its own WebAssembly instance with a memory cap",
          "Breaking changes get a minor version, and a workflow blocks a breaking pull request until a maintainer approves it",
          "llms.txt on both sites, a TypeDoc API reference and 22 runnable examples in the repository"
        ],
        "weaknesses": [
          "Version 0.15.69, with 95 release tags after 0.14.2 to 1 November 2026 and breaking minors 0.14.0 and 0.15.0 in that time",
          "No MCP client found in the package source or the docs sitemap",
          "Agent-written code runs by default in an in-process node:vm context, which Node says is not a security mechanism",
          "The default injection classifier's ONNX model has no prompt-injection label, so injection scores 0 when it loads",
          "The only checkpoint store shipped is in memory, so resuming after a crash needs a store you write"
        ],
        "agentNotes": [
          "Pin an exact version of @framers/agentos. Feature commits ship as patch releases while it is 0.x, and breaking changes ship as minors",
          "Leave emergentConfig.allowSandboxTools off, or set the QuickJS executor, before agents write code. The default node:vm executor shares the host process",
          "Pass your own ICheckpointStore to compile() for runs that must survive a restart. The default store is in memory",
          "Set hitl.approvals.beforeTool for tools that write, and choose a handler. No approval gate is on by default",
          "Use Node 22 or newer, and set a provider key such as OPENAI_API_KEY or ANTHROPIC_API_KEY. The provider is detected from the environment"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.8
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 87,
          "payments": 60,
          "reliability": 77,
          "schema": 92,
          "security": 81,
          "transparency": 80
        },
        "provenanceScore": 59,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @framers/agentos"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/agentos"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Framers Lab, Inc.",
        "domain": "agentos.sh",
        "domainRegistered": "2025-10-26",
        "endpointOnVendorDomain": null,
        "terms": "https://agentos.sh/legal/terms/",
        "privacy": "https://agentos.sh/legal/privacy/",
        "statusPage": "",
        "changelog": "https://github.com/framerslab/agentos/releases",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "agentos.sh/llms.txt names Framers Lab, Inc. as the company behind AgentOS. The legal pages read Frame.dev and the licence file reads Copyright (c) 2025 Framers.",
          "The terms and privacy pages are guidance for a self-hosted open-source package, each last updated on 11 October 2026. The security page was updated on 12 October 2026.",
          "agentos.sh/.well-known/security.txt returns 404. The repository has .github/SECURITY.md.",
          "Release notes go to GitHub releases. release.config.js says nothing is committed to master on release, and CHANGELOG.md still stops at 0.13.150 of 15 October 2026 on 1 November.",
          "RDAP gives agentos.sh a registration date of 2025-10-26, per the 8 October check.",
          "The npm maintainers are manicteam (team@manic.agency) and jdunnfive, per the 8 October check."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agentos.json",
      "live": {
        "slug": "agentos",
        "versions": [
          {
            "registry": "github",
            "name": "framerslab/agentos",
            "version": "v0.15.109",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:03:47.133021064Z"
          },
          {
            "registry": "npm",
            "name": "@framers/agentos",
            "version": "0.15.109",
            "seenAt": "2026-11-06T23:03:46.876623384Z"
          }
        ],
        "githubStars": 684,
        "npmWeekly": 22209,
        "securityTxt": {
          "url": "https://agentos.sh/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:14.136834984Z"
        },
        "llmsTxt": {
          "url": "https://agentos.sh/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:31:07.156253907Z"
        },
        "domain": {
          "domain": "agentos.sh",
          "checkedAt": "2026-11-01T14:24:03.580919341Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/framerslab/agentos/master/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-16T22:30:47.69466816Z",
            "changedAt": "2026-10-15T21:34:03.075827271Z",
            "fingerprint": "95ded150745a"
          },
          {
            "url": "https://agentos.sh/legal/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:46.084711948Z",
            "changedAt": "2026-10-30T05:31:02.788693925Z",
            "fingerprint": "8628ec0ab392"
          },
          {
            "url": "https://agentos.sh/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T13:58:48.289024299Z",
            "changedAt": "2026-10-30T05:31:05.061013624Z",
            "fingerprint": "46bb7a2ec7c2"
          }
        ],
        "github": {
          "repo": "framerslab/agentos",
          "checkedAt": "2026-11-02T08:49:22.434832427Z",
          "stars": 683,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T08:45:58Z",
          "openIssues": 11,
          "openPRs": 2,
          "issuesOpened90d": 95,
          "issuesClosed90d": 84,
          "prsMerged90d": 497,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T08:20:54Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-4vmg-q5vj-rq32",
              "severity": "medium",
              "published": "2026-10-13T20:49:52Z"
            },
            {
              "ghsa": "GHSA-whp3-ggmp-p622",
              "severity": "high",
              "published": "2026-10-13T18:34:12Z"
            },
            {
              "ghsa": "GHSA-8366-hw4r-qx92",
              "severity": "high",
              "published": "2026-10-12T14:45:34Z"
            },
            {
              "ghsa": "GHSA-3p38-8g9c-96cw",
              "severity": "critical",
              "published": "2026-10-12T08:18:02Z"
            },
            {
              "ghsa": "GHSA-j42g-52jx-j9f2",
              "severity": "critical",
              "published": "2026-10-12T03:03:10Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 3,
            "medianDays": 0.1
          }
        },
        "updatedAt": "2026-11-07T16:01:14.136834984Z"
      }
    },
    "answer": "AgentOS scores 75.8 (BB) on agent readiness against Mastra's 74.2 (BB), and leads in 1 of 7 scored categories. Mastra leads on reliability, schema \u0026 documentation, agent ergonomics and maintenance \u0026 community.",
    "b": {
      "slug": "mastra",
      "name": "Mastra",
      "vendor": "Kepler Software, Inc.",
      "vendorUrl": "https://mastra.ai",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Open-source TypeScript framework from Mastra for building agents and workflows, with memory, RAG, evals, tracing, an MCP client and server, and a local Studio. An optional hosted platform runs deployments and observability.",
      "url": "https://www.anchorterminal.com/tools/mastra",
      "markdownUrl": "https://www.anchorterminal.com/tools/mastra.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mastra.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mastra.json",
      "dns": "mastra.grade.anchorterminal.com",
      "repo": "https://github.com/mastra-ai/mastra",
      "license": "Apache-2.0 for the core. Code under ee/ directories is source-available under the Mastra Enterprise License, free for development and testing",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@mastra/core"
        },
        {
          "registry": "npm",
          "name": "@mastra/mcp"
        },
        {
          "registry": "npm",
          "name": "mastra"
        }
      ],
      "auth": "api-key",
      "authNotes": "The framework has no account of its own. The model router takes `provider/model` strings and each provider's own key. The hosted Mastra platform needs an account.",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for model calls. The hosted platform has a $0 Starter plan with 100K observability events and 24 CPU hours, then $10 per 100K events and $0.35 a CPU hour, and Teams at $250 a month (https://mastra.ai/pricing, checked 2026-11-06).",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Mastra docs, the repository or the pricing page (checked 2026-10-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 29383,
        "npmWeekly": 3116983,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://mastra.ai/docs",
      "llmsTxt": "https://mastra.ai/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.durable",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "framework",
        "typescript",
        "open-source",
        "llms-txt",
        "mcp",
        "telemetry-default-on"
      ],
      "lastRelease": "2026-11-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 74.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 91,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 92,
          "maintenance": 96,
          "payments": 60,
          "reliability": 87,
          "schema": 98,
          "security": 67,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -8,
        "negativeNotes": [
          "2026-06-17. Malicious versions of Mastra's npm packages were published, among them @mastra/core 1.42.1 at 01:15 UTC, and GitHub malware advisories that day (GHSA-pp62-grrw-hvfp and others) say any machine that installed one should be treated as fully compromised. All 21 Mastra packages we checked on OSV carry one. Mastra published clean versions the same day and the changelogs name an \"easy-day-js\" supply-chain incident, but we found no advisory or post-mortem from Mastra. Fixed and under four months old, so 8 points. https://osv.dev/vulnerability/MAL-2026-6011"
        ],
        "verdict": "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.",
        "bestFor": "TypeScript teams that want agents, workflows, memory, evals and a local Studio in one framework.",
        "strengths": [
          "MCP client with requireToolApproval per server or per tool, allowedHosts and a curated environment for stdio servers",
          "Guardrail processors for prompt injection, PII, moderation and cost limits, run on input and output",
          "Workflows with snapshots, suspend and resume, and durable agents on Inngest or an evented engine",
          "Apache 2.0 core, 1.0 since 20 January 2026, with 27 releases of @mastra/core in 90 days to 6 November",
          "llms.txt with a when-to-use section and condensed instructions for coding agents"
        ],
        "weaknesses": [
          "Malicious versions of Mastra npm packages, including @mastra/core 1.42.1, were published on 17 June 2026",
          "CLI, server and Studio send usage analytics by default, including token counts every 15 minutes, off with MASTRA_TELEMETRY_DISABLED=1",
          "No SECURITY.md, no security.txt and no bug bounty found",
          "Code under ee/ is source-available under the Mastra Enterprise License, not Apache 2.0",
          "TypeScript only, Node 22.13 or newer"
        ],
        "agentNotes": [
          "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"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 74.2
          }
        ],
        "editorialScores": {
          "ergonomics": 92,
          "maintenance": 96,
          "payments": 60,
          "reliability": 87,
          "schema": 98,
          "security": 67,
          "transparency": 72
        },
        "provenanceScore": 71,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm create mastra@latest   # or: npm i @mastra/core @mastra/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/mastra"
      },
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Kepler Software, Inc.",
        "domain": "mastra.ai",
        "domainRegistered": "2024-10-01",
        "endpointOnVendorDomain": null,
        "terms": "https://mastra.ai/terms-of-service",
        "privacy": "https://mastra.ai/privacy-policy",
        "statusPage": "https://statuspage.incident.io/mastra-platform",
        "changelog": "https://github.com/mastra-ai/mastra/blob/main/packages/core/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The privacy policy names Kepler Software Inc as operator of mastra.ai and shows a last-published date of 25 April 2025.",
          "The licence file is copyright Kepler Software, Inc.",
          "mastra.ai/.well-known/security.txt returns 404 (rechecked 6 November 2026), and the repository has no SECURITY.md.",
          "RDAP gives mastra.ai a registration date of 2024-10-01.",
          "The status page covers the hosted platform, not the framework."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mastra.json",
      "live": {
        "slug": "mastra",
        "vendorStatus": {
          "page": "https://statuspage.incident.io/mastra-platform",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:22.180687494Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "mastra-ai/mastra",
            "version": "@mastra/core@1.82.0",
            "released": "2026-11-04",
            "seenAt": "2026-11-06T23:43:05.299046627Z"
          },
          {
            "registry": "npm",
            "name": "@mastra/core",
            "version": "1.82.0",
            "seenAt": "2026-11-06T23:43:01.102546802Z"
          },
          {
            "registry": "npm",
            "name": "@mastra/mcp",
            "version": "2.8.0",
            "seenAt": "2026-11-06T23:43:01.962943277Z"
          },
          {
            "registry": "npm",
            "name": "mastra",
            "version": "1.38.0",
            "seenAt": "2026-11-06T23:43:03.330470883Z"
          }
        ],
        "githubStars": 29384,
        "npmWeekly": 3116983,
        "securityTxt": {
          "url": "https://mastra.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:45.130857018Z"
        },
        "llmsTxt": {
          "url": "https://mastra.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:57.501317652Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/mastra-ai/mastra/main/packages/core/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:21:37.959722321Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0bdb3498f7aa"
          },
          {
            "url": "https://mastra.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:54.312763229Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0204673a21a8"
          },
          {
            "url": "https://mastra.ai/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:56.829832485Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1621ce3063d8"
          },
          {
            "url": "https://mastra.ai/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:13:58.580048861Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "edbcf520f26c"
          }
        ],
        "updatedAt": "2026-11-07T18:21:22.180687494Z"
      }
    },
    "edges": [
      {
        "by": 18,
        "category": "ergonomics",
        "leads": "mastra",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "An agent is about five lines with the provider detected from the environment, and capability discovery selects tools by meaning, but no MCP client was found in the package source on 1 November or in the docs sitemap, which this line is read on for a framework (12). Session history is capped at about 120K tokens by default, with `history.maxTokens`, `reseed()` and `maxSteps` (20). Typed error classes and a `fallbacksUsed` field on results, with error documentation spread across pages (14). Checkpoints replay or re-run a node by its declared effect class on resume, and providers fall back in order, though the shipped checkpoint store is in memory (18). Few required options, TypeScript only (10).",
          "b": "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)."
        },
        "scores": {
          "a": 74,
          "b": 92
        }
      },
      {
        "by": 14,
        "category": "security",
        "leads": "agentos",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "No analytics or telemetry code found in the source, and the privacy and security pages say the runtime sends nothing to the vendor. OpenTelemetry is off by default and the host installs the exporter (30). Approval gates on five triggers, five security tiers and a rule that composed tools chain a side-effecting step only when the host lists it. Agent-written code runs by default in an in-process node:vm context with a 5-second limit and no memory cap, off unless the host enables it. An optional QuickJS executor runs each call in its own WebAssembly instance with a memory cap. No gate is on unless configured (17). SECURITY.md names model output, tool results and retrieved content as untrusted input, and injection detection is an opt-in extension pack. The security page says that pack's default ONNX model has no prompt-injection label, so injection is scored only when that model can't load, and points to a phrase-list guard (11). OpenTelemetry spans, a usage ledger, a reasoning trace and an opt-in signed audit log (15). SECURITY.md with a private advisory form, acknowledgement in 5 business days and disclosure at 90 days, and the site's security page now gives the same times. No security.txt, no bounty and no published advisory found (8). Framework reading.",
          "b": "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."
        },
        "scores": {
          "a": 81,
          "b": 67
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "mastra",
        "name": "Reliability",
        "reasons": {
          "a": "Official npm package with Node 22 or newer stated in package.json on 1 November (20). A public CI workflow builds, lints, type-checks and runs the tests with coverage, and the 12 most recent runs on master on 8 October 2026 passed, per the 8 October check, not re-read on 1 November (25). 16 open issues and pull requests in total, most filed by the maintainer, with one outside suggestion from 12 September unanswered, per the 8 October check, not re-read on 1 November (20). Written release rules give a breaking change a minor version, and a workflow fails a pull request with a breaking-change marker unless a maintainer approves it, but feature commits ship as patches and breaking minors 0.11.0 and 0.12.0 (7 October), 0.13.0 (8 October), 0.14.0 (17 October) and 0.15.0 (21 October, two persona changes marked BREAKING CHANGE) landed within two weeks (12). Version 0.15.69, not declared stable (0). Local-software reading.",
          "b": "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."
        },
        "scores": {
          "a": 77,
          "b": 87
        }
      },
      {
        "by": 9,
        "category": "maintenance",
        "leads": "mastra",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "0.15.69 tagged on 2026-10-31 (30). 333 release tags in the 90 days to 1 November and 95 after 0.14.2, read from the repository because npm didn't resolve from the shell (20). Little outside traffic to judge by. Of 244 commits since 17 October, all but four are by the maintainer. Per the 8 October check, not re-read on 1 November, two outside issues were closed with five comments each and one outside suggestion had been open without a reply since 12 September (15). The npm package is current by its tags, though the registry couldn't be read on 1 November (15). CI and coverage run on every push, but the workflows have no `npm audit` step and the repository has no Dependabot configuration file. The security page says Dependabot alerts are on in the repository settings, which we can't see (7).",
          "b": "@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."
        },
        "scores": {
          "a": 87,
          "b": 96
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "mastra",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Typed TypeScript API with a TypeDoc reference (25). llms.txt on agentos.sh and docs.agentos.sh (10). The guides say which surface to reach for, for example agency-level approval for most apps and workflow nodes for an explicit graph, and the tool-forging docs state what each executor does not isolate (16). Tools take Zod schemas (15). 22 runnable examples and a cookbook, with CLI error codes documented but no single page for the library's error classes found (11). Release notes are generated for every release and published as GitHub releases under written version rules. The CHANGELOG.md on master still stops at 0.13.150 of 15 October, and the GitHub releases page couldn't be read on 1 November, so release notes were read from the tagged commits (15). Framework reading.",
          "b": "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)."
        },
        "scores": {
          "a": 92,
          "b": 98
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "Framers Lab, Inc.",
        "b": "Kepler Software, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Apache-2.0 for the core. Code under ee/ directories is source-available under the Mastra Enterprise License, free for development and testing",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-31",
        "b": "2026-11-04",
        "name": "Last release"
      },
      {
        "a": "2025-11-06",
        "b": "2026-10-26",
        "name": "Terms last updated"
      },
      {
        "a": "2025-11-06",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "677 stars, 5.3k npm/wk",
        "b": "29k stars, 3.1M npm/wk",
        "name": "Popularity"
      },
      {
        "a": "2.8/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "AgentOS scores 75.8 (BB) on agent readiness against Mastra's 74.2 (BB), and leads in 1 of 7 scored categories. Mastra leads on reliability, schema \u0026 documentation, agent ergonomics and maintenance \u0026 community.",
        "question": "Which is better for AI agents, AgentOS or Mastra?"
      },
      {
        "answer": "Yes. AgentOS is open source (Apache-2.0). 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).",
        "question": "Are AgentOS and Mastra open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 81 against 67"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "TypeScript teams that want long-term memory, personas, voice and channel adapters and multi-agent teams in one package, and that will pin versions.",
        "slug": "agentos",
        "watchFor": "Version 0.15.69, with 95 release tags after 0.14.2 to 1 November 2026 and breaking minors 0.14.0 and 0.15.0 in that time"
      },
      {
        "aheadOn": [
          "Reliability, 87 against 77",
          "Schema \u0026 documentation, 98 against 92",
          "Agent ergonomics, 92 against 74",
          "Maintenance \u0026 community, 96 against 87"
        ],
        "also": null,
        "goodFor": "TypeScript teams that want agents, workflows, memory, evals and a local Studio in one framework.",
        "slug": "mastra",
        "watchFor": "Malicious versions of Mastra npm packages, including @mastra/core 1.42.1, were published on 17 June 2026"
      }
    ],
    "history": {
      "agentos": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.5,
          "from": 75.3,
          "fromGrade": "BB",
          "to": 75.8,
          "toGrade": "BB"
        }
      ],
      "mastra": null
    },
    "job": {
      "capability": "agent.framework",
      "name": "Agent frameworks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-agno.json",
        "title": "AgentOS vs Agno",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-agno"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-boxlang-ai.json",
        "title": "AgentOS vs BoxLang AI",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-boxlang-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-claude-agent-sdk.json",
        "title": "AgentOS vs Claude Agent SDK",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-claude-agent-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-crewai.json",
        "title": "AgentOS vs CrewAI",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-crewai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-cursor-agent-sdk.json",
        "title": "AgentOS vs Cursor Agent SDK",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-cursor-agent-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-docker-agent.json",
        "title": "AgentOS vs Docker Agent",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-docker-agent"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-google-adk.json",
        "title": "AgentOS vs Agent Development Kit (ADK)",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-google-adk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-guilds-run.json",
        "title": "AgentOS vs guilds.run",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-guilds-run"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-langgraph.json",
        "title": "AgentOS vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-llamaindex.json",
        "title": "AgentOS vs LlamaIndex Framework",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-llamaindex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-microsoft-agent-framework.json",
        "title": "AgentOS vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-openai-agents-sdk.json",
        "title": "AgentOS vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-pydantic-ai.json",
        "title": "AgentOS vs Pydantic AI",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-pydantic-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-smolagents.json",
        "title": "AgentOS vs smolagents",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-strands-agents.json",
        "title": "AgentOS vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-tradingagents.json",
        "title": "AgentOS vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-vercel-ai-sdk.json",
        "title": "AgentOS vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-mastra.json",
        "title": "Agno vs Mastra",
        "url": "https://www.anchorterminal.com/compare/agno-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-mastra.json",
        "title": "BoxLang AI vs Mastra",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-mastra.json",
        "title": "Claude Agent SDK vs Mastra",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-mastra.json",
        "title": "CrewAI vs Mastra",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-mastra.json",
        "title": "Cursor Agent SDK vs Mastra",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-mastra.json",
        "title": "Docker Agent vs Mastra",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-mastra.json",
        "title": "Agent Development Kit (ADK) vs Mastra",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-mastra.json",
        "title": "guilds.run vs Mastra",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-mastra.json",
        "title": "LangGraph vs Mastra",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-mastra.json",
        "title": "LlamaIndex Framework vs Mastra",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-microsoft-agent-framework.json",
        "title": "Mastra vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-openai-agents-sdk.json",
        "title": "Mastra vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-pydantic-ai.json",
        "title": "Mastra vs Pydantic AI",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-pydantic-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-smolagents.json",
        "title": "Mastra vs smolagents",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-strands-agents.json",
        "title": "Mastra vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-tradingagents.json",
        "title": "Mastra vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-vercel-ai-sdk.json",
        "title": "Mastra vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-vercel-ai-sdk"
      }
    ],
    "panel": null,
    "scores": [
      {
        "agentos": 77,
        "by": 10,
        "edge": "mastra",
        "key": "reliability",
        "mastra": 87,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "agentos": 92,
        "by": 6,
        "edge": "mastra",
        "key": "schema",
        "mastra": 98,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "agentos": 74,
        "by": 18,
        "edge": "mastra",
        "key": "ergonomics",
        "mastra": 92,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "agentos": 81,
        "by": 14,
        "edge": "agentos",
        "key": "security",
        "mastra": 67,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "agentos": 60,
        "by": 0,
        "edge": "",
        "key": "payments",
        "mastra": 60,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "agentos": 87,
        "by": 9,
        "edge": "mastra",
        "key": "maintenance",
        "mastra": 96,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "agentos": 70,
        "by": 2,
        "edge": "mastra",
        "key": "transparency",
        "mastra": 72,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "AgentOS scores 75.8 (BB) on agent readiness against Mastra's 74.2 (BB), and leads in 1 of 7 scored categories. Mastra leads on reliability, schema \u0026 documentation, agent ergonomics and maintenance \u0026 community. Both do agent frameworks.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "agentos": "A TypeScript agent framework with typed tools, multi-agent strategies, checkpointed graphs, approval gates and no telemetry of its own. It is at 0.15.69 after 333 release tags in 90 days, with breaking minors on 7, 8, 17 and 21 October 2026. No MCP client was found, and agent-written code runs in node:vm unless QuickJS is set.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/agentos-vs-mastra",
    "json": "https://www.anchorterminal.com/compare/agentos-vs-mastra.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/agentos-vs-mastra.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/agentos-vs-mastra.min.md"
  },
  "markdown": "AgentOS scores 75.8 (BB) on agent readiness against Mastra's 74.2 (BB), and leads in 1 of 7 scored categories. Mastra leads on reliability, schema \u0026 documentation, agent ergonomics and maintenance \u0026 community. Both do agent frameworks.\n\n- AgentOS: grade BB, 75.8/100, rank #52 of 1486. Markdown https://www.anchorterminal.com/tools/agentos.md · JSON https://www.anchorterminal.com/api/v1/tools/agentos.json\n- Mastra: grade BB, 74.2/100, rank #91 of 1486. Markdown https://www.anchorterminal.com/tools/mastra.md · JSON https://www.anchorterminal.com/api/v1/tools/mastra.json\n- Best agent frameworks and SDKs: https://www.anchorterminal.com/best/frameworks/index.md\n- All 171 frameworks comparisons: https://www.anchorterminal.com/compare/frameworks/index.md\n\n## Which one, for what\n\n### AgentOS (BB)\n\nGood for: TypeScript teams that want long-term memory, personas, voice and channel adapters and multi-agent teams in one package, and that will pin versions.\n\nAhead on:\n- Security \u0026 auth, 81 against 67\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Version 0.15.69, with 95 release tags after 0.14.2 to 1 November 2026 and breaking minors 0.14.0 and 0.15.0 in that time\n\n### Mastra (BB)\n\nGood for: TypeScript teams that want agents, workflows, memory, evals and a local Studio in one framework.\n\nAhead on:\n- Reliability, 87 against 77\n- Schema \u0026 documentation, 98 against 92\n- Agent ergonomics, 92 against 74\n- Maintenance \u0026 community, 96 against 87\n\nWatch for: Malicious versions of Mastra npm packages, including @mastra/core 1.42.1, were published on 17 June 2026\n\n\n## Why the edge\n\n### Agent ergonomics: Mastra +18\n\n- AgentOS (74): An agent is about five lines with the provider detected from the environment, and capability discovery selects tools by meaning, but no MCP client was found in the package source on 1 November or in the docs sitemap, which this line is read on for a framework (12). Session history is capped at about 120K tokens by default, with `history.maxTokens`, `reseed()` and `maxSteps` (20). Typed error classes and a `fallbacksUsed` field on results, with error documentation spread across pages (14). Checkpoints replay or re-run a node by its declared effect class on resume, and providers fall back in order, though the shipped checkpoint store is in memory (18). Few required options, TypeScript only (10).\n- 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).\n\n### Security \u0026 auth: AgentOS +14\n\n- AgentOS (81): No analytics or telemetry code found in the source, and the privacy and security pages say the runtime sends nothing to the vendor. OpenTelemetry is off by default and the host installs the exporter (30). Approval gates on five triggers, five security tiers and a rule that composed tools chain a side-effecting step only when the host lists it. Agent-written code runs by default in an in-process node:vm context with a 5-second limit and no memory cap, off unless the host enables it. An optional QuickJS executor runs each call in its own WebAssembly instance with a memory cap. No gate is on unless configured (17). SECURITY.md names model output, tool results and retrieved content as untrusted input, and injection detection is an opt-in extension pack. The security page says that pack's default ONNX model has no prompt-injection label, so injection is scored only when that model can't load, and points to a phrase-list guard (11). OpenTelemetry spans, a usage ledger, a reasoning trace and an opt-in signed audit log (15). SECURITY.md with a private advisory form, acknowledgement in 5 business days and disclosure at 90 days, and the site's security page now gives the same times. No security.txt, no bounty and no published advisory found (8). Framework reading.\n- 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.\n\n### Reliability: Mastra +10\n\n- AgentOS (77): Official npm package with Node 22 or newer stated in package.json on 1 November (20). A public CI workflow builds, lints, type-checks and runs the tests with coverage, and the 12 most recent runs on master on 8 October 2026 passed, per the 8 October check, not re-read on 1 November (25). 16 open issues and pull requests in total, most filed by the maintainer, with one outside suggestion from 12 September unanswered, per the 8 October check, not re-read on 1 November (20). Written release rules give a breaking change a minor version, and a workflow fails a pull request with a breaking-change marker unless a maintainer approves it, but feature commits ship as patches and breaking minors 0.11.0 and 0.12.0 (7 October), 0.13.0 (8 October), 0.14.0 (17 October) and 0.15.0 (21 October, two persona changes marked BREAKING CHANGE) landed within two weeks (12). Version 0.15.69, not declared stable (0). Local-software reading.\n- 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.\n\n### Maintenance \u0026 community: Mastra +9\n\n- AgentOS (87): 0.15.69 tagged on 2026-10-31 (30). 333 release tags in the 90 days to 1 November and 95 after 0.14.2, read from the repository because npm didn't resolve from the shell (20). Little outside traffic to judge by. Of 244 commits since 17 October, all but four are by the maintainer. Per the 8 October check, not re-read on 1 November, two outside issues were closed with five comments each and one outside suggestion had been open without a reply since 12 September (15). The npm package is current by its tags, though the registry couldn't be read on 1 November (15). CI and coverage run on every push, but the workflows have no `npm audit` step and the repository has no Dependabot configuration file. The security page says Dependabot alerts are on in the repository settings, which we can't see (7).\n- 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.\n\n### Schema \u0026 documentation: Mastra +6\n\n- AgentOS (92): Typed TypeScript API with a TypeDoc reference (25). llms.txt on agentos.sh and docs.agentos.sh (10). The guides say which surface to reach for, for example agency-level approval for most apps and workflow nodes for an explicit graph, and the tool-forging docs state what each executor does not isolate (16). Tools take Zod schemas (15). 22 runnable examples and a cookbook, with CLI error codes documented but no single page for the library's error classes found (11). Release notes are generated for every release and published as GitHub releases under written version rules. The CHANGELOG.md on master still stops at 0.13.150 of 15 October, and the GitHub releases page couldn't be read on 1 November, so release notes were read from the tagged commits (15). Framework reading.\n- 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).\n\n## Score by category\n\n| Category | Weight | AgentOS | Mastra | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 87 | Mastra +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 92 | 98 | Mastra +6 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 92 | Mastra +18 |\n| Security \u0026 auth | 14% (17.5 this run) | 81 | 67 | AgentOS +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 87 | 96 | Mastra +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 72 | Mastra +2 |\n| Negative events | ≤15 | -2 | -8 | |\n| **Total** | | **75.8 · BB** | **74.2 · BB** | |\n\n## Facts side by side\n\n| Fact | AgentOS | Mastra |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | Framers Lab, Inc. | Kepler Software, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | API key | API key |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | Apache-2.0 | Apache-2.0 for the core. Code under ee/ directories is source-available under the Mastra Enterprise License, free for development and testing |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-31 | 2026-11-04 |\n| Terms last updated | 2025-11-06 | 2026-10-26 |\n| Privacy policy last updated | 2025-11-06 | no date given |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 677 stars, 5.3k npm/wk | 29k stars, 3.1M npm/wk |\n| Agent reviews | 2.8/5 (4) | none |\n\n## How the scores have moved\n\n### AgentOS\n\n- +0.5 on 27 October 2026: checklist\n\n### Mastra\n\nNo score change since it was listed.\n\n## Verdicts\n\n**AgentOS.** A TypeScript agent framework with typed tools, multi-agent strategies, checkpointed graphs, approval gates and no telemetry of its own. It is at 0.15.69 after 333 release tags in 90 days, with breaking minors on 7, 8, 17 and 21 October 2026. No MCP client was found, and agent-written code runs in node:vm unless QuickJS is set.\n\n**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.\n\n## Before you call either\n\n### AgentOS\n\n1. Pin an exact version of @framers/agentos. Feature commits ship as patch releases while it is 0.x, and breaking changes ship as minors\n2. Leave emergentConfig.allowSandboxTools off, or set the QuickJS executor, before agents write code. The default node:vm executor shares the host process\n3. Pass your own ICheckpointStore to compile() for runs that must survive a restart. The default store is in memory\n4. Set hitl.approvals.beforeTool for tools that write, and choose a handler. No approval gate is on by default\n5. Use Node 22 or newer, and set a provider key such as OPENAI_API_KEY or ANTHROPIC_API_KEY. The provider is detected from the environment\n\n### Mastra\n\n1. Set MASTRA_TELEMETRY_DISABLED=1 in every environment that runs the CLI, the server or Studio\n2. Pin exact versions with a lockfile, and make sure no 17 June 2026 release such as @mastra/core 1.42.1 is installed\n3. Set requireToolApproval on MCP servers that write, and allowedHosts when server URLs come from configuration\n4. Add PromptInjectionDetector as an input processor when tools return web or user content\n5. Use supervisor agents through generate() or stream(). `.network()` is deprecated\n\n## Questions\n\n### Which is better for AI agents, AgentOS or Mastra?\n\nAgentOS scores 75.8 (BB) on agent readiness against Mastra's 74.2 (BB), and leads in 1 of 7 scored categories. Mastra leads on reliability, schema \u0026 documentation, agent ergonomics and maintenance \u0026 community.\n\n### Are AgentOS and Mastra open source?\n\nYes. AgentOS is open source (Apache-2.0). 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).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/agentos-vs-mastra.json, and with the fewest tokens: https://www.anchorterminal.com/compare/agentos-vs-mastra.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"agentos\", \"b\": \"mastra\"}`. From a terminal: `anchor compare agentos mastra`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/agentos.json and https://www.anchorterminal.com/api/v1/tools/mastra.json\n\n## Other comparisons with AgentOS or Mastra\n\n- [AgentOS vs Agno](https://www.anchorterminal.com/compare/agentos-vs-agno.md)\n- [AgentOS vs BoxLang AI](https://www.anchorterminal.com/compare/agentos-vs-boxlang-ai.md)\n- [AgentOS vs Claude Agent SDK](https://www.anchorterminal.com/compare/agentos-vs-claude-agent-sdk.md)\n- [AgentOS vs CrewAI](https://www.anchorterminal.com/compare/agentos-vs-crewai.md)\n- [AgentOS vs Cursor Agent SDK](https://www.anchorterminal.com/compare/agentos-vs-cursor-agent-sdk.md)\n- [AgentOS vs Docker Agent](https://www.anchorterminal.com/compare/agentos-vs-docker-agent.md)\n- [AgentOS vs Agent Development Kit (ADK)](https://www.anchorterminal.com/compare/agentos-vs-google-adk.md)\n- [AgentOS vs guilds.run](https://www.anchorterminal.com/compare/agentos-vs-guilds-run.md)\n- [AgentOS vs LangGraph](https://www.anchorterminal.com/compare/agentos-vs-langgraph.md)\n- [AgentOS vs LlamaIndex Framework](https://www.anchorterminal.com/compare/agentos-vs-llamaindex.md)\n- [AgentOS vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/agentos-vs-microsoft-agent-framework.md)\n- [AgentOS vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/agentos-vs-openai-agents-sdk.md)\n- [AgentOS vs Pydantic AI](https://www.anchorterminal.com/compare/agentos-vs-pydantic-ai.md)\n- [AgentOS vs smolagents](https://www.anchorterminal.com/compare/agentos-vs-smolagents.md)\n- [AgentOS vs Strands Agents](https://www.anchorterminal.com/compare/agentos-vs-strands-agents.md)\n- [AgentOS vs TradingAgents](https://www.anchorterminal.com/compare/agentos-vs-tradingagents.md)\n- [AgentOS vs AI SDK](https://www.anchorterminal.com/compare/agentos-vs-vercel-ai-sdk.md)\n- [Agno vs Mastra](https://www.anchorterminal.com/compare/agno-vs-mastra.md)\n- [BoxLang AI vs Mastra](https://www.anchorterminal.com/compare/boxlang-ai-vs-mastra.md)\n- [Claude Agent SDK vs Mastra](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-mastra.md)\n- [CrewAI vs Mastra](https://www.anchorterminal.com/compare/crewai-vs-mastra.md)\n- [Cursor Agent SDK vs Mastra](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-mastra.md)\n- [Docker Agent vs Mastra](https://www.anchorterminal.com/compare/docker-agent-vs-mastra.md)\n- [Agent Development Kit (ADK) vs Mastra](https://www.anchorterminal.com/compare/google-adk-vs-mastra.md)\n- [guilds.run vs Mastra](https://www.anchorterminal.com/compare/guilds-run-vs-mastra.md)\n- [LangGraph vs Mastra](https://www.anchorterminal.com/compare/langgraph-vs-mastra.md)\n- [LlamaIndex Framework vs Mastra](https://www.anchorterminal.com/compare/llamaindex-vs-mastra.md)\n- [Mastra vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/mastra-vs-microsoft-agent-framework.md)\n- [Mastra vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/mastra-vs-openai-agents-sdk.md)\n- [Mastra vs Pydantic AI](https://www.anchorterminal.com/compare/mastra-vs-pydantic-ai.md)\n- [Mastra vs smolagents](https://www.anchorterminal.com/compare/mastra-vs-smolagents.md)\n- [Mastra vs Strands Agents](https://www.anchorterminal.com/compare/mastra-vs-strands-agents.md)\n- [Mastra vs TradingAgents](https://www.anchorterminal.com/compare/mastra-vs-tradingagents.md)\n- [Mastra vs AI SDK](https://www.anchorterminal.com/compare/mastra-vs-vercel-ai-sdk.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "AgentOS vs Mastra",
        "url": ""
      }
    ],
    "description": "AgentOS scores 75.8 (BB) to Mastra's 74.2 (BB) for agent frameworks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "AgentOS BB 75.8",
      "Mastra BB 74.2",
      "scores"
    ],
    "h1": "AgentOS vs Mastra",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/agentos-vs-mastra",
    "published": "2026-10-01",
    "section": "tools",
    "title": "AgentOS vs Mastra for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/agentos-vs-mastra"
  },
  "tokens": {
    "markdown": 4700,
    "slim": 2680
  },
  "version": 1
}
