{
  "data": {
    "a": {
      "slug": "agent-tree",
      "name": "Agent Tree",
      "vendor": "Mike Pollow (Digitalroots)",
      "vendorUrl": "https://github.com/MikeGT4/agent-tree",
      "kind": "framework",
      "category": "agent-observability",
      "summary": "Agent Tree is an MIT-licensed Claude Code plugin that shows a session's sub-agents as a live tree in a terminal side pane, with context, cost and usage limits, and lets the person stop, message or re-model running sub-agents.",
      "url": "https://www.anchorterminal.com/tools/agent-tree",
      "markdownUrl": "https://www.anchorterminal.com/tools/agent-tree.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/agent-tree.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/agent-tree.json",
      "dns": "agent-tree.grade.anchorterminal.com",
      "repo": "https://github.com/MikeGT4/agent-tree",
      "license": "MIT (Copyright (c) 2026 Mike Pollow, Digitalroots)",
      "transports": [],
      "packages": [],
      "auth": "none",
      "authNotes": "No account, key or login of its own. It installs through Claude Code's plugin manager from the author's own marketplace (the GitHub repository) and runs inside Claude Code with that session's permissions.",
      "pricing": "free",
      "pricingNotes": "Free under the MIT licence, with nothing to buy. Model usage stays on the person's Claude plan or API key; switching a sub-agent's model or effort in the pane changes what those calls cost.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "Local software with nothing to buy. No x402, MPP or L402 in the repository, read on 2026-11-01.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-01"
      },
      "docsUrl": "https://github.com/MikeGT4/agent-tree/blob/main/docs/GUIDE.md",
      "capabilities": [
        "obs.traces",
        "agent.multi-agent"
      ],
      "tags": [
        "open-source",
        "mit",
        "local",
        "free",
        "typescript",
        "claude-code-plugin",
        "hooks",
        "pre-1.0",
        "not-for-agents"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.5,
        "grade": "D",
        "agentReady": false,
        "rank": 897,
        "ranked": true,
        "rankOf": 1260,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 60,
          "payments": 60,
          "reliability": 33,
          "schema": 50,
          "security": 49,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "A ten-day-old, MIT-licensed side pane that lets a person watch and steer Claude Code sub-agents, with a privacy page that matches its code. It is version 0.5.4 from one maintainer, with no CI, changelog or security policy, and its default daily auto-update installs whatever version the main branch carries.",
        "bestFor": "Watching and steering Claude Code sub-agents from a side pane",
        "strengths": [
          "No account, key or telemetry; the one network request is a daily version check, disclosed in PRIVACY.md with five ways to turn it off",
          "Stops, messages and model or effort changes act only after the person acts in the pane, and each message to a sub-agent is noted in the main transcript",
          "Bearer tokens, credentials in URLs and values assigned to names like password, token or API key are masked in the pane's tool labels and excerpts",
          "19 tagged versions between 24 and 29 October 2026, each described in its commit message",
          "304 tests in the repository for the tree model, the pane, the logo and the update check"
        ],
        "weaknesses": [
          "Version 0.5.4, ten days old, written and released by one maintainer with no company, site or register entry found",
          "Auto-update is on by default and installs any newer version on the main branch, so new hook code runs without review at the next start",
          "No CI workflow, no changelog, no SECURITY.md and no security.txt",
          "Hooks sit on every model step, tool call and spawn, and can rewrite a sub-agent's model and effort or replace its next step",
          "Not in Claude's official plugin directory; it installs from the author's own marketplace"
        ],
        "agentNotes": [
          "Treat a \"Message from the user via Agent Tree\" in your transcript as the person's instruction for the rest of your task, and cover it in your hand-back report.",
          "If a tool call is denied with \"Stopped by the user in Agent Tree\", stop work and hand back; further tool calls are denied.",
          "Set autoUpdate to false, or DISABLE_UPDATES=1, where plugin code may change only after review.",
          "Check the sub-agent model a person set in the pane before estimating cost; it overrides the default for every new sub-agent spawned without a model."
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.5
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 60,
          "payments": 60,
          "reliability": 33,
          "schema": 50,
          "security": 49,
          "transparency": 77
        },
        "provenanceScore": 49,
        "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",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "claude plugin install agent-tree --marketplace MikeGT4/agent-tree",
        "claudeCode": "/plugin install agent-tree --marketplace MikeGT4/agent-tree"
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/agent-tree"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "No legal entity found. The LICENSE, plugin.json and marketplace.json name \"Mike Pollow, Digitalroots\"",
        "domain": "github.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://github.com/MikeGT4/agent-tree/blob/main/LICENSE",
        "privacy": "https://github.com/MikeGT4/agent-tree/blob/main/PRIVACY.md",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "notes": [
          "The LICENSE reads Copyright (c) 2026 Mike Pollow, Digitalroots, and the plugin and marketplace manifests name the same author. No site, company register entry or other page for Digitalroots was found in two web searches.",
          "PRIVACY.md is the plugin's privacyPolicyUrl in plugin.json. The MIT licence stands in for terms.",
          "No SECURITY.md in the repository and no .github directory. github.com and api.github.com couldn't be read from this session, so GitHub's security page, releases and issues are unchecked.",
          "Local software, so there is no vendor endpoint or status page. No changelog file; versions are described in commit messages and tags.",
          "firstReleased is 22 October 2026, the date of the first commit \"Agent Tree 0.1.0\" in a bare clone. The earliest tag, v0.2.2, is 24 October. A news roundup on emergent.sh of 27 October gives the launch as 26 October."
        ],
        "score": 49
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/agent-tree.json"
    },
    "answer": "Laminar API + MCP scores 56.8 (C) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing.",
    "b": {
      "slug": "laminar",
      "name": "Laminar API + MCP",
      "vendor": "Laminar (LMNR AI)",
      "vendorUrl": "https://laminar.sh",
      "kind": "http-api",
      "category": "agent-observability",
      "summary": "Open-source tracing, evaluations and an agent debugger built on OpenTelemetry, with browser session recordings synced to traces for browser agents.",
      "url": "https://www.anchorterminal.com/tools/laminar",
      "markdownUrl": "https://www.anchorterminal.com/tools/laminar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/laminar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/laminar.json",
      "dns": "laminar.grade.anchorterminal.com",
      "repo": "https://github.com/lmnr-ai/lmnr",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.lmnr.ai/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "lmnr"
        },
        {
          "registry": "npm",
          "name": "@lmnr-ai/lmnr"
        }
      ],
      "auth": "api-key",
      "authNotes": "Project API key as a Bearer token, for ingestion, the REST API and the MCP server. One key maps to one project.",
      "pricing": "freemium",
      "pricingNotes": "Free $0 a month with 1 GB of data, 7 days of retention, 1 project and 1 seat, no overage. Starter $30 a month with 3 GB then $2 a GB, 30 days, unlimited projects and seats. Pro $150 a month with 10 GB then $1.50 a GB, 6 months. Enterprise custom with on-premise. Signals (LLM analysis of traces) comes with $2.50, $7.50 or $25 of credit, then $0.05 per million input tokens and $0.35 per million output tokens. Self-hosted open source is free, you run Postgres, ClickHouse and Quickwit yourself. Signals and Slack alerts on self-hosted need an enterprise licence key (https://laminar.sh/pricing).",
      "priceSummary": "$30 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": 3288,
        "npmWeekly": 79857,
        "pypiWeekly": 1698863,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://laminar.sh/docs",
      "llmsTxt": "https://laminar.sh/docs/llms.txt",
      "openapi": "https://laminar.sh/docs/openapi/openapi.yaml",
      "capabilities": [
        "obs.traces",
        "obs.evals",
        "obs.datasets"
      ],
      "tags": [
        "hosted",
        "freemium",
        "open-source",
        "self-hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 56.8,
        "grade": "C",
        "agentReady": false,
        "rank": 751,
        "ranked": true,
        "rankOf": 1260,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 83,
          "payments": 30,
          "reliability": 50,
          "schema": 88,
          "security": 45,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -5,
        "negativeNotes": [
          "2026-08-27. Laminar's own fix says a client-supplied `projectId` in the body of the SQL export-job route overrode the one the server had authorised, allowing cross-tenant SQL execution and bulk data export (CWE-862). The route dates from July 2025. Fixed with a one-line change, disclosed only in the commit message with no advisory or customer notice we could find. -5 after decay for the fix (https://github.com/lmnr-ai/lmnr/commit/5059c7d951fe47d4c91c8016a542a11e82090ade)"
        ],
        "verdict": "Browser session recordings can be matched to agent traces. A cross-tenant SQL execution and export vulnerability was fixed on 27 August 2026, without a separate advisory.",
        "bestFor": "Teams running browser agents who want session replay next to traces, and for agents that read traces through SQL.",
        "strengths": [
          "Browser session recordings synced to traces for Browser Use, Stagehand, Playwright and Puppeteer",
          "Three MCP tools with descriptions that say when to use each, and SQL that runs SELECT-only on a read-only client",
          "Apache-2.0 with Docker Compose and Helm self-hosting, and self-hosted telemetry that switches off with one variable",
          "Priced by GB stored, $2 a GB on Starter and $1.50 on Pro, published without login",
          "SDK releases most weeks, TypeScript 0.8.49 on 2026-09-23 and Python 0.7.64 on 2026-09-21"
        ],
        "weaknesses": [
          "A cross-tenant SQL execution and export hole was fixed on 27 August 2026 in a commit, with no advisory",
          "No SECURITY.md, security.txt or published advisories",
          "Rate limits exist per project but no numbers are published",
          "Status page covers only the homepage and an echo probe",
          "Signals, clusters and Slack or email alerts aren't in the open-source build"
        ],
        "agentNotes": [
          "Use `query_laminar_sql` to find trace IDs, then `get_trace_context` for a compact summary of one run",
          "Always add a time range and `LIMIT` to SQL. Server caps on time, memory and result size reject wide scans",
          "On 429 from the SQL API, back off. The per-project limit isn't published",
          "Set `flush_by_size` when spans carry whole conversation histories, or large batches get rejected",
          "Keep the project API key in a header, not in the URL"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 56.8
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 83,
          "payments": 30,
          "reliability": 50,
          "schema": 88,
          "security": 45,
          "transparency": 57
        },
        "provenanceScore": 71,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-01",
            "maintenance": "2026-10-01",
            "payments": "2026-10-01",
            "reliability": "2026-10-01",
            "schema": "2026-10-01",
            "security": "2026-10-01",
            "transparency": "2026-10-01"
          },
          "last": "2026-10-01",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.lmnr.ai/v1/project -H \"Authorization: Bearer $LMNR_PROJECT_API_KEY\"",
        "claudeCode": "claude mcp add --transport http laminar https://api.lmnr.ai/v1/mcp \\\n  --header \"Authorization: Bearer $LMNR_PROJECT_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/laminar"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 30,
          "note": "3 GB of data, 30 days retention, unlimited seats"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 150,
          "note": "10 GB of data, 6 months retention"
        },
        {
          "item": "Extra data on Starter",
          "unit": "gb",
          "usd": 2
        },
        {
          "item": "Extra data on Pro",
          "unit": "gb",
          "usd": 1.5
        }
      ],
      "provenance": {
        "legalEntity": "LMNR AI, Inc.",
        "domain": "laminar.sh",
        "domainRegistered": "",
        "domainNote": "The .sh registry has no RDAP service. The former domain lmnr.ai, registered 2024-02-26, now redirects to laminar.sh and still serves the API.",
        "endpointOnVendorDomain": true,
        "terms": "https://laminar.sh/policies/terms",
        "privacy": "https://laminar.sh/policies/privacy",
        "statusPage": "https://status.laminar.sh",
        "changelog": "https://laminar.sh/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/laminar.json",
      "live": {
        "slug": "laminar",
        "probe": {
          "target": "https://api.lmnr.ai/v1",
          "method": "get",
          "lastAt": "2026-11-02T00:56:09.219174662Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 264,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 267,
          "p95ms24h": 357,
          "samples24h": 249,
          "samples30d": 7898,
          "days": [
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 10,
              "ok": 10
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.laminar.sh",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-01T22:57:23.84190215Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "lmnr-ai/lmnr",
            "version": "v0.3.2",
            "released": "2026-10-16",
            "seenAt": "2026-11-01T17:09:34.277537629Z"
          },
          {
            "registry": "npm",
            "name": "@lmnr-ai/lmnr",
            "version": "0.8.55",
            "seenAt": "2026-11-01T17:09:33.198627949Z"
          },
          {
            "registry": "pypi",
            "name": "lmnr",
            "version": "0.8.6",
            "released": "2026-10-30",
            "seenAt": "2026-11-01T17:09:32.928289421Z"
          }
        ],
        "githubStars": 3468,
        "npmWeekly": 118328,
        "pypiWeekly": 776087,
        "securityTxt": {
          "url": "https://laminar.sh/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-01T15:42:04.529716656Z"
        },
        "llmsTxt": {
          "url": "https://laminar.sh/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-01T15:14:07.425700511Z"
        },
        "domain": {
          "domain": "laminar.sh",
          "checkedAt": "2026-11-01T14:23:55.557271686Z"
        },
        "pages": [
          {
            "url": "https://laminar.sh/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-01T06:46:20.129659425Z",
            "changedAt": "2026-10-30T05:42:13.03415948Z",
            "fingerprint": "81181937f669"
          },
          {
            "url": "https://laminar.sh/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-01T06:46:26.341452705Z",
            "changedAt": "2026-10-29T05:09:34.820524464Z",
            "fingerprint": "4f8f6a3148d9"
          },
          {
            "url": "https://laminar.sh/policies/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-01T06:46:22.61343739Z",
            "changedAt": "2026-10-14T20:43:47.352444783Z",
            "fingerprint": "7497a9972bbd"
          },
          {
            "url": "https://laminar.sh/policies/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-01T06:46:24.319365054Z",
            "changedAt": "2026-10-14T20:43:49.143224888Z",
            "fingerprint": "78407d9ab75d"
          }
        ],
        "github": {
          "repo": "lmnr-ai/lmnr",
          "checkedAt": "2026-10-26T07:40:35.414936553Z",
          "stars": 3443,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-25T20:23:04Z",
          "openIssues": 65,
          "openPRs": 80,
          "issuesOpened90d": 49,
          "issuesClosed90d": 16,
          "prsMerged90d": 308,
          "replies": {
            "sampled": 25,
            "unanswered": 24,
            "medianDays": 0.4
          }
        },
        "updatedAt": "2026-11-02T00:56:09.219174662Z"
      }
    },
    "edges": [
      {
        "by": 38,
        "category": "schema",
        "leads": "laminar",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "Framework reading, docs a model can follow, as superpowers was read. types/index.d.ts types the pane's state, and plugin.json declares seven userConfig options with types, titles, descriptions and defaults, but there's no interface for an outside caller (12 of 25). README in English and German, a nine-step GUIDE.md and PRIVACY.md, all Markdown in the repository; no llms.txt (10). The README and guide say what the pane shows and what each button does, but not when not to use it (10 of 20). Options are typed, with an enum for the language; the /agent-tree command takes stop, clear, intro and `to \u003cid\u003e \u003ctext\u003e` (8 of 15). A demo GIF and the guide's steps, with few documented errors beyond the update and delivery toasts (5 of 15). Semver tags but no changelog or release notes read (5 of 15). 50 in all.",
          "b": "OpenAPI in the docs, and the MCP tools take typed schemas generated from Rust structs (25). llms.txt and Markdown docs (10). The tool descriptions are among the best in the category. `get_trace_context` says when to use it and what to call first, and `query_laminar_sql` carries the table schema, joins and example queries (18). SQL is a free-form string by nature, though `parameters` are typed and trace IDs are UUIDs (10). The SQL API documents its 400, 401 and 429 bodies with examples (13). Monthly changelog without dates per entry, and a `/v1` API (12)."
        },
        "scores": {
          "a": 50,
          "b": 88
        }
      },
      {
        "by": 30,
        "category": "payments",
        "leads": "agent-tree",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Self-hosted rule. No payment protocol (0). Free under MIT with nothing to buy (20). No card or account (20). A person installs it with one command and no sign-up (20). 60 in all.",
          "b": "No x402 (0). Per-GB prices and Signals token prices published without login (20). The Free plan exists with 1 GB and 7 days, but the pricing page doesn't say whether a card is needed, so half (10). A person signs up in a browser to create a project key (0)."
        },
        "scores": {
          "a": 60,
          "b": 30
        }
      },
      {
        "by": 23,
        "category": "maintenance",
        "leads": "laminar",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v0.5.4 tagged on 29 October 2026 and a commit on 31 October (30). 19 tags from v0.2.2 (24 October) to v0.5.4 (29 October), far more than three in 90 days (20). Issue and pull-request replies couldn't be read, as github.com was unreachable (5 of 25). Not in Claude's official plugin directory; claude.com/plugins/agent-tree answered 404 (0). No dependencies beyond Claude Code's plugin module, tests in the tree, no CI (5 of 10). 60 in all.",
          "b": "TypeScript SDK 0.8.49 on 2026-09-23, Python SDK 0.7.64 on 2026-09-21 and server v0.2.5 on 2026-09-13, with commits on the dev branch on 1 October (30). Five server tags and well over three SDK releases since 3 July (20). We couldn't load issue reply times (10). Both SDKs current (15). Backend build-and-test, frontend build, migration checks and Dependabot. Pass state not checked (8)."
        },
        "scores": {
          "a": 60,
          "b": 83
        }
      },
      {
        "by": 17,
        "category": "reliability",
        "leads": "laminar",
        "name": "Reliability",
        "reasons": {
          "a": "Local-package reading, as for superpowers and tokeneconomizer. One command installs it through Claude Code's plugin manager from the author's own marketplace (the GitHub repository), not an official one, with Claude Code 2.1.292 or later stated and 2.1.316 tested (15 of 20). No .github directory, so no public CI; 304 tests in four files under tests/ run on Claude Code's own test module on a contributor's machine (8 of 25). Issues couldn't be read, as github.com was unreachable from this session (5 of 25, unchecked). 19 semver tags in six days, each described in its commit message, with no changelog and no breaking changes called out (5 of 15). Version 0.5.4 (0). 33 in all.",
          "b": "Better Stack page at status.laminar.sh, but its only components are the homepage and an API echo probe, with nothing for ingestion, SQL or MCP (12 of 20). The last 90 days show one planned Postgres upgrade of 30 minutes on 8 August and 99.943 per cent on the echo probe (20, minor only). The docs say queries are rate limited per project but give no numbers (0). The SQL API documents 429 with an instruction to retry with backoff. Nothing for ingestion (8). No SLA found on the pricing page or in the docs (0). API, SQL and MCP are GA (10)."
        },
        "scores": {
          "a": 33,
          "b": 50
        }
      },
      {
        "by": 13,
        "category": "ergonomics",
        "leads": "laminar",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Framework reading, how much a coding agent has to carry. The plugin adds no tools, skills or prompt text to the model's context. Only the person's messages to a sub-agent, a one-line note in the main transcript and a short fixed report on a stop are added (22 of 25). Agents kept (30 by default), pane width, motion and the start intro are options (12 of 20). Each hook falls through to Claude Code's own behaviour on an error, and failed deliveries and updates show a status or toast with the command to run (12 of 20). Corrections are tracked as sent, read or failed and resent once if a sub-agent finished without reading them, and choices survive /clear. A stop can't be undone (13 of 20). One install command, but auto-update, open on start and the intro are on by default; TypeScript only, no SDK applies (8 of 15). 67 in all.",
          "b": "Three MCP tools, but the SQL tool's description embeds the whole table schema, so the list costs more context than the count suggests (18). Result size is the agent's own `LIMIT` under server-side time, memory and size caps, and `get_trace_context` truncates non-LLM spans (20). Tool failures come back with `isError` and a message. HTTP errors are a single `error` field (17). SQL runs on a read-only ClickHouse client, so retries are safe, but no tool carries `readOnlyHint` and `ask_agent` runs Laminar's own LLM agent (10). One required argument per tool. Python and TypeScript SDKs and a CLI (15)."
        },
        "scores": {
          "a": 67,
          "b": 80
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Mike Pollow (Digitalroots)",
        "b": "Laminar (LMNR AI)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.lmnr.ai/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (Copyright (c) 2026 Mike Pollow, Digitalroots)",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "3",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-29",
        "b": "2026-09-23",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-08-11",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-08-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "3.3k stars, 80k npm/wk, 1.7M PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Laminar API + MCP scores 56.8 (C) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Agent Tree or Laminar API + MCP?"
      },
      {
        "answer": "No hosted endpoint is listed for Agent Tree. Laminar API + MCP has a hosted endpoint at https://api.lmnr.ai/v1.",
        "question": "Can an agent call Agent Tree and Laminar API + MCP without installing anything?"
      },
      {
        "answer": "Yes. Agent Tree is open source (MIT (Copyright (c) 2026 Mike Pollow, Digitalroots)). Laminar API + MCP is open source (Apache-2.0).",
        "question": "Are Agent Tree and Laminar API + MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 30"
        ],
        "also": [
          "No key needed to call it",
          "No incidents deducted, where Laminar API + MCP loses 5 points for them"
        ],
        "goodFor": "Watching and steering Claude Code sub-agents from a side pane",
        "slug": "agent-tree",
        "watchFor": "Version 0.5.4, ten days old, written and released by one maintainer with no company, site or register entry found"
      },
      {
        "aheadOn": [
          "Reliability, 50 against 33",
          "Schema \u0026 documentation, 88 against 50",
          "Agent ergonomics, 80 against 67",
          "Maintenance \u0026 community, 83 against 60"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Teams running browser agents who want session replay next to traces, and for agents that read traces through SQL.",
        "slug": "laminar",
        "watchFor": "A cross-tenant SQL execution and export hole was fixed on 27 August 2026 in a commit, with no advisory"
      }
    ],
    "history": {
      "agent-tree": null,
      "laminar": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 56.6,
          "fromGrade": "C",
          "to": 56.8,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.4,
          "from": 57,
          "fromGrade": "C",
          "to": 56.6,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "obs.traces",
      "name": "Agent tracing"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-agents-tree.json",
        "title": "Agent Tree vs agents-tree",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-agents-tree"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-arize-phoenix.json",
        "title": "Agent Tree vs Arize Phoenix",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-arize-phoenix"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-baserun.json",
        "title": "Agent Tree vs Baserun",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-baserun"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-botgauge.json",
        "title": "Agent Tree vs BotGauge",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-botgauge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-braintrust.json",
        "title": "Agent Tree vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-deepeval.json",
        "title": "Agent Tree vs DeepEval",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-deepeval"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-galileo.json",
        "title": "Agent Tree vs Galileo API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-galileo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-helicone.json",
        "title": "Agent Tree vs Helicone AI Gateway + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-helicone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-honeyhive.json",
        "title": "Agent Tree vs HoneyHive",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-honeyhive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-langfuse.json",
        "title": "Agent Tree vs Langfuse API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-langfuse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-langsmith.json",
        "title": "Agent Tree vs LangSmith API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-langsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-langwatch.json",
        "title": "Agent Tree vs LangWatch",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-langwatch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-mlflow-tracing.json",
        "title": "Agent Tree vs MLflow Tracing",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-mlflow-tracing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-navige.json",
        "title": "Agent Tree vs Navige",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-navige"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-opik.json",
        "title": "Agent Tree vs Opik API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-opik"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-prefactor.json",
        "title": "Agent Tree vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-pydantic-logfire.json",
        "title": "Agent Tree vs Pydantic Logfire",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-pydantic-logfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-respan.json",
        "title": "Agent Tree vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-respan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agent-tree-vs-wandb-weave.json",
        "title": "Agent Tree vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/agent-tree-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agents-tree-vs-laminar.json",
        "title": "agents-tree vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/agents-tree-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arize-phoenix-vs-laminar.json",
        "title": "Arize Phoenix vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/arize-phoenix-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserun-vs-laminar.json",
        "title": "Baserun vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/baserun-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/botgauge-vs-laminar.json",
        "title": "BotGauge vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/botgauge-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-laminar.json",
        "title": "Braintrust API + MCP vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/galileo-vs-laminar.json",
        "title": "Galileo API + MCP vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/galileo-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/helicone-vs-laminar.json",
        "title": "Helicone AI Gateway + MCP vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/helicone-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/honeyhive-vs-laminar.json",
        "title": "HoneyHive vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/honeyhive-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-langfuse.json",
        "title": "Laminar API + MCP vs Langfuse API + MCP",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-langfuse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-langsmith.json",
        "title": "Laminar API + MCP vs LangSmith API + MCP",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-langsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-langwatch.json",
        "title": "Laminar API + MCP vs LangWatch",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-langwatch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-mlflow-tracing.json",
        "title": "Laminar API + MCP vs MLflow Tracing",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-mlflow-tracing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-navige.json",
        "title": "Laminar API + MCP vs Navige",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-navige"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-opik.json",
        "title": "Laminar API + MCP vs Opik API + MCP",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-opik"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-prefactor.json",
        "title": "Laminar API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-pydantic-logfire.json",
        "title": "Laminar API + MCP vs Pydantic Logfire",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-pydantic-logfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-respan.json",
        "title": "Laminar API + MCP vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-respan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-wandb-weave.json",
        "title": "Laminar API + MCP vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepeval-vs-laminar.json",
        "title": "DeepEval vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/deepeval-vs-laminar"
      }
    ],
    "panel": null,
    "scores": [
      {
        "agent-tree": 33,
        "by": 17,
        "edge": "laminar",
        "key": "reliability",
        "laminar": 50,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "agent-tree": 50,
        "by": 38,
        "edge": "laminar",
        "key": "schema",
        "laminar": 88,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "agent-tree": 67,
        "by": 13,
        "edge": "laminar",
        "key": "ergonomics",
        "laminar": 80,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "agent-tree": 49,
        "by": 4,
        "edge": "agent-tree",
        "key": "security",
        "laminar": 45,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "agent-tree": 60,
        "by": 30,
        "edge": "agent-tree",
        "key": "payments",
        "laminar": 30,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "agent-tree": 60,
        "by": 23,
        "edge": "laminar",
        "key": "maintenance",
        "laminar": 83,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "agent-tree": 63,
        "by": 1,
        "edge": "laminar",
        "key": "transparency",
        "laminar": 64,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Laminar API + MCP scores 56.8 (C) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing. Both do agent tracing.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "agent-tree": "A ten-day-old, MIT-licensed side pane that lets a person watch and steer Claude Code sub-agents, with a privacy page that matches its code. It is version 0.5.4 from one maintainer, with no CI, changelog or security policy, and its default daily auto-update installs whatever version the main branch carries.",
      "laminar": "Browser session recordings can be matched to agent traces. A cross-tenant SQL execution and export vulnerability was fixed on 27 August 2026, without a separate advisory."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/agent-tree-vs-laminar",
    "json": "https://www.anchorterminal.com/compare/agent-tree-vs-laminar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/agent-tree-vs-laminar.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/agent-tree-vs-laminar.min.md"
  },
  "markdown": "Laminar API + MCP scores 56.8 (C) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing. Both do agent tracing.\n\n- Agent Tree: grade D, 52.5/100, rank #897 of 1260. Markdown https://www.anchorterminal.com/tools/agent-tree.md · JSON https://www.anchorterminal.com/api/v1/tools/agent-tree.json\n- Laminar API + MCP: grade C, 56.8/100, rank #751 of 1260. Markdown https://www.anchorterminal.com/tools/laminar.md · JSON https://www.anchorterminal.com/api/v1/tools/laminar.json\n- Best agent tracing, monitoring and evaluation tools: https://www.anchorterminal.com/best/agent-observability/index.md\n- All 210 evals comparisons: https://www.anchorterminal.com/compare/agent-observability/index.md\n\n## Which one, for what\n\n### Agent Tree (D)\n\nGood for: Watching and steering Claude Code sub-agents from a side pane\n\nAhead on:\n- Payments \u0026 pricing, 60 against 30\n\nAlso in its favour:\n- No key needed to call it\n- No incidents deducted, where Laminar API + MCP loses 5 points for them\n\nWatch for: Version 0.5.4, ten days old, written and released by one maintainer with no company, site or register entry found\n\n### Laminar API + MCP (C)\n\nGood for: Teams running browser agents who want session replay next to traces, and for agents that read traces through SQL.\n\nAhead on:\n- Reliability, 50 against 33\n- Schema \u0026 documentation, 88 against 50\n- Agent ergonomics, 80 against 67\n- Maintenance \u0026 community, 83 against 60\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: A cross-tenant SQL execution and export hole was fixed on 27 August 2026 in a commit, with no advisory\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Laminar API + MCP +38\n\n- Agent Tree (50): Framework reading, docs a model can follow, as superpowers was read. types/index.d.ts types the pane's state, and plugin.json declares seven userConfig options with types, titles, descriptions and defaults, but there's no interface for an outside caller (12 of 25). README in English and German, a nine-step GUIDE.md and PRIVACY.md, all Markdown in the repository; no llms.txt (10). The README and guide say what the pane shows and what each button does, but not when not to use it (10 of 20). Options are typed, with an enum for the language; the /agent-tree command takes stop, clear, intro and `to \u003cid\u003e \u003ctext\u003e` (8 of 15). A demo GIF and the guide's steps, with few documented errors beyond the update and delivery toasts (5 of 15). Semver tags but no changelog or release notes read (5 of 15). 50 in all.\n- Laminar API + MCP (88): OpenAPI in the docs, and the MCP tools take typed schemas generated from Rust structs (25). llms.txt and Markdown docs (10). The tool descriptions are among the best in the category. `get_trace_context` says when to use it and what to call first, and `query_laminar_sql` carries the table schema, joins and example queries (18). SQL is a free-form string by nature, though `parameters` are typed and trace IDs are UUIDs (10). The SQL API documents its 400, 401 and 429 bodies with examples (13). Monthly changelog without dates per entry, and a `/v1` API (12).\n\n### Payments \u0026 pricing: Agent Tree +30\n\n- Agent Tree (60): Self-hosted rule. No payment protocol (0). Free under MIT with nothing to buy (20). No card or account (20). A person installs it with one command and no sign-up (20). 60 in all.\n- Laminar API + MCP (30): No x402 (0). Per-GB prices and Signals token prices published without login (20). The Free plan exists with 1 GB and 7 days, but the pricing page doesn't say whether a card is needed, so half (10). A person signs up in a browser to create a project key (0).\n\n### Maintenance \u0026 community: Laminar API + MCP +23\n\n- Agent Tree (60): v0.5.4 tagged on 29 October 2026 and a commit on 31 October (30). 19 tags from v0.2.2 (24 October) to v0.5.4 (29 October), far more than three in 90 days (20). Issue and pull-request replies couldn't be read, as github.com was unreachable (5 of 25). Not in Claude's official plugin directory; claude.com/plugins/agent-tree answered 404 (0). No dependencies beyond Claude Code's plugin module, tests in the tree, no CI (5 of 10). 60 in all.\n- Laminar API + MCP (83): TypeScript SDK 0.8.49 on 2026-09-23, Python SDK 0.7.64 on 2026-09-21 and server v0.2.5 on 2026-09-13, with commits on the dev branch on 1 October (30). Five server tags and well over three SDK releases since 3 July (20). We couldn't load issue reply times (10). Both SDKs current (15). Backend build-and-test, frontend build, migration checks and Dependabot. Pass state not checked (8).\n\n### Reliability: Laminar API + MCP +17\n\n- Agent Tree (33): Local-package reading, as for superpowers and tokeneconomizer. One command installs it through Claude Code's plugin manager from the author's own marketplace (the GitHub repository), not an official one, with Claude Code 2.1.292 or later stated and 2.1.316 tested (15 of 20). No .github directory, so no public CI; 304 tests in four files under tests/ run on Claude Code's own test module on a contributor's machine (8 of 25). Issues couldn't be read, as github.com was unreachable from this session (5 of 25, unchecked). 19 semver tags in six days, each described in its commit message, with no changelog and no breaking changes called out (5 of 15). Version 0.5.4 (0). 33 in all.\n- Laminar API + MCP (50): Better Stack page at status.laminar.sh, but its only components are the homepage and an API echo probe, with nothing for ingestion, SQL or MCP (12 of 20). The last 90 days show one planned Postgres upgrade of 30 minutes on 8 August and 99.943 per cent on the echo probe (20, minor only). The docs say queries are rate limited per project but give no numbers (0). The SQL API documents 429 with an instruction to retry with backoff. Nothing for ingestion (8). No SLA found on the pricing page or in the docs (0). API, SQL and MCP are GA (10).\n\n### Agent ergonomics: Laminar API + MCP +13\n\n- Agent Tree (67): Framework reading, how much a coding agent has to carry. The plugin adds no tools, skills or prompt text to the model's context. Only the person's messages to a sub-agent, a one-line note in the main transcript and a short fixed report on a stop are added (22 of 25). Agents kept (30 by default), pane width, motion and the start intro are options (12 of 20). Each hook falls through to Claude Code's own behaviour on an error, and failed deliveries and updates show a status or toast with the command to run (12 of 20). Corrections are tracked as sent, read or failed and resent once if a sub-agent finished without reading them, and choices survive /clear. A stop can't be undone (13 of 20). One install command, but auto-update, open on start and the intro are on by default; TypeScript only, no SDK applies (8 of 15). 67 in all.\n- Laminar API + MCP (80): Three MCP tools, but the SQL tool's description embeds the whole table schema, so the list costs more context than the count suggests (18). Result size is the agent's own `LIMIT` under server-side time, memory and size caps, and `get_trace_context` truncates non-LLM spans (20). Tool failures come back with `isError` and a message. HTTP errors are a single `error` field (17). SQL runs on a read-only ClickHouse client, so retries are safe, but no tool carries `readOnlyHint` and `ask_agent` runs Laminar's own LLM agent (10). One required argument per tool. Python and TypeScript SDKs and a CLI (15).\n\n## Score by category\n\n| Category | Weight | Agent Tree | Laminar API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 50 | Laminar API + MCP +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 50 | 88 | Laminar API + MCP +38 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 80 | Laminar API + MCP +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 45 | Agent Tree +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | Agent Tree +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 83 | Laminar API + MCP +23 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 64 | Laminar API + MCP +1 |\n| Negative events | ≤15 | 0 | -5 | |\n| **Total** | | **52.5 · D** | **56.8 · C** | |\n\n## Facts side by side\n\n| Fact | Agent Tree | Laminar API + MCP |\n| --- | --- | --- |\n| Kind | Agent framework | HTTP API |\n| Vendor | Mike Pollow (Digitalroots) | Laminar (LMNR AI) |\n| Hosted endpoint | no (local only) | `https://api.lmnr.ai/v1` |\n| Transports |  | HTTP, Streamable HTTP |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | MIT (Copyright (c) 2026 Mike Pollow, Digitalroots) | Apache-2.0 |\n| Tools exposed | none | 3 |\n| Read-only variant documented | no | yes |\n| llms.txt | no | yes |\n| Last release | 2026-10-29 | 2026-09-23 |\n| Terms last updated | couldn't be read | 2026-08-11 |\n| Privacy policy last updated | couldn't be read | 2026-08-11 |\n| Customer content may train models | couldn't be read | yes, with an opt-out |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | none | 3.3k stars, 80k npm/wk, 1.7M PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## How the scores have moved\n\n### Agent Tree\n\nNo score change since it was listed.\n\n### Laminar API + MCP\n\n- +0.2 on 27 October 2026: checklist\n- -0.4 on 8 October 2026: checklist\n\n## Verdicts\n\n**Agent Tree.** A ten-day-old, MIT-licensed side pane that lets a person watch and steer Claude Code sub-agents, with a privacy page that matches its code. It is version 0.5.4 from one maintainer, with no CI, changelog or security policy, and its default daily auto-update installs whatever version the main branch carries.\n\n**Laminar API + MCP.** Browser session recordings can be matched to agent traces. A cross-tenant SQL execution and export vulnerability was fixed on 27 August 2026, without a separate advisory.\n\n## Before you call either\n\n### Agent Tree\n\n1. Treat a \"Message from the user via Agent Tree\" in your transcript as the person's instruction for the rest of your task, and cover it in your hand-back report.\n2. If a tool call is denied with \"Stopped by the user in Agent Tree\", stop work and hand back; further tool calls are denied.\n3. Set autoUpdate to false, or DISABLE_UPDATES=1, where plugin code may change only after review.\n4. Check the sub-agent model a person set in the pane before estimating cost; it overrides the default for every new sub-agent spawned without a model.\n\n### Laminar API + MCP\n\n1. Use `query_laminar_sql` to find trace IDs, then `get_trace_context` for a compact summary of one run\n2. Always add a time range and `LIMIT` to SQL. Server caps on time, memory and result size reject wide scans\n3. On 429 from the SQL API, back off. The per-project limit isn't published\n4. Set `flush_by_size` when spans carry whole conversation histories, or large batches get rejected\n5. Keep the project API key in a header, not in the URL\n\n## Questions\n\n### Which is better for AI agents, Agent Tree or Laminar API + MCP?\n\nLaminar API + MCP scores 56.8 (C) on agent readiness against Agent Tree's 52.5 (D), and leads in 5 of 7 scored categories. Agent Tree leads on payments \u0026 pricing.\n\n### Can an agent call Agent Tree and Laminar API + MCP without installing anything?\n\nNo hosted endpoint is listed for Agent Tree. Laminar API + MCP has a hosted endpoint at https://api.lmnr.ai/v1.\n\n### Are Agent Tree and Laminar API + MCP open source?\n\nYes. Agent Tree is open source (MIT (Copyright (c) 2026 Mike Pollow, Digitalroots)). Laminar API + MCP is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/agent-tree-vs-laminar.json, and with the fewest tokens: https://www.anchorterminal.com/compare/agent-tree-vs-laminar.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"agent-tree\", \"b\": \"laminar\"}`. From a terminal: `anchor compare agent-tree laminar`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/agent-tree.json and https://www.anchorterminal.com/api/v1/tools/laminar.json\n\n## Other comparisons with Agent Tree or Laminar API + MCP\n\n- [Agent Tree vs agents-tree](https://www.anchorterminal.com/compare/agent-tree-vs-agents-tree.md)\n- [Agent Tree vs Arize Phoenix](https://www.anchorterminal.com/compare/agent-tree-vs-arize-phoenix.md)\n- [Agent Tree vs Baserun](https://www.anchorterminal.com/compare/agent-tree-vs-baserun.md)\n- [Agent Tree vs BotGauge](https://www.anchorterminal.com/compare/agent-tree-vs-botgauge.md)\n- [Agent Tree vs Braintrust API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-braintrust.md)\n- [Agent Tree vs DeepEval](https://www.anchorterminal.com/compare/agent-tree-vs-deepeval.md)\n- [Agent Tree vs Galileo API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-galileo.md)\n- [Agent Tree vs Helicone AI Gateway + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-helicone.md)\n- [Agent Tree vs HoneyHive](https://www.anchorterminal.com/compare/agent-tree-vs-honeyhive.md)\n- [Agent Tree vs Langfuse API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-langfuse.md)\n- [Agent Tree vs LangSmith API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-langsmith.md)\n- [Agent Tree vs LangWatch](https://www.anchorterminal.com/compare/agent-tree-vs-langwatch.md)\n- [Agent Tree vs MLflow Tracing](https://www.anchorterminal.com/compare/agent-tree-vs-mlflow-tracing.md)\n- [Agent Tree vs Navige](https://www.anchorterminal.com/compare/agent-tree-vs-navige.md)\n- [Agent Tree vs Opik API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-opik.md)\n- [Agent Tree vs Prefactor](https://www.anchorterminal.com/compare/agent-tree-vs-prefactor.md)\n- [Agent Tree vs Pydantic Logfire](https://www.anchorterminal.com/compare/agent-tree-vs-pydantic-logfire.md)\n- [Agent Tree vs Respan API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-respan.md)\n- [Agent Tree vs W\u0026B Weave](https://www.anchorterminal.com/compare/agent-tree-vs-wandb-weave.md)\n- [agents-tree vs Laminar API + MCP](https://www.anchorterminal.com/compare/agents-tree-vs-laminar.md)\n- [Arize Phoenix vs Laminar API + MCP](https://www.anchorterminal.com/compare/arize-phoenix-vs-laminar.md)\n- [Baserun vs Laminar API + MCP](https://www.anchorterminal.com/compare/baserun-vs-laminar.md)\n- [BotGauge vs Laminar API + MCP](https://www.anchorterminal.com/compare/botgauge-vs-laminar.md)\n- [Braintrust API + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-laminar.md)\n- [Galileo API + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/galileo-vs-laminar.md)\n- [Helicone AI Gateway + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/helicone-vs-laminar.md)\n- [HoneyHive vs Laminar API + MCP](https://www.anchorterminal.com/compare/honeyhive-vs-laminar.md)\n- [Laminar API + MCP vs Langfuse API + MCP](https://www.anchorterminal.com/compare/laminar-vs-langfuse.md)\n- [Laminar API + MCP vs LangSmith API + MCP](https://www.anchorterminal.com/compare/laminar-vs-langsmith.md)\n- [Laminar API + MCP vs LangWatch](https://www.anchorterminal.com/compare/laminar-vs-langwatch.md)\n- [Laminar API + MCP vs MLflow Tracing](https://www.anchorterminal.com/compare/laminar-vs-mlflow-tracing.md)\n- [Laminar API + MCP vs Navige](https://www.anchorterminal.com/compare/laminar-vs-navige.md)\n- [Laminar API + MCP vs Opik API + MCP](https://www.anchorterminal.com/compare/laminar-vs-opik.md)\n- [Laminar API + MCP vs Prefactor](https://www.anchorterminal.com/compare/laminar-vs-prefactor.md)\n- [Laminar API + MCP vs Pydantic Logfire](https://www.anchorterminal.com/compare/laminar-vs-pydantic-logfire.md)\n- [Laminar API + MCP vs Respan API + MCP](https://www.anchorterminal.com/compare/laminar-vs-respan.md)\n- [Laminar API + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/laminar-vs-wandb-weave.md)\n- [DeepEval vs Laminar API + MCP](https://www.anchorterminal.com/compare/deepeval-vs-laminar.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-02",
    "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": "Agent Tree vs Laminar API + MCP",
        "url": ""
      }
    ],
    "description": "Laminar scores 56.8 (C) to Agent Tree's 52.5 (D) for agent tracing. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Agent Tree D 52.5",
      "Laminar API + MCP C 56.8",
      "scores"
    ],
    "h1": "Agent Tree vs Laminar API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/agent-tree-vs-laminar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Agent Tree vs Laminar for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-01",
    "url": "https://www.anchorterminal.com/compare/agent-tree-vs-laminar"
  },
  "tokens": {
    "markdown": 4250,
    "slim": 2180
  },
  "version": 1
}
