{
  "data": {
    "a": {
      "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",
      "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.6,
        "grade": "C",
        "agentReady": false,
        "rank": 567,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 83,
          "payments": 30,
          "reliability": 50,
          "schema": 88,
          "security": 45,
          "transparency": 62
        },
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 56.6
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 83,
          "payments": 30,
          "reliability": 50,
          "schema": 88,
          "security": 45,
          "transparency": 57
        },
        "provenanceScore": 67
      },
      "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": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/laminar.json",
      "live": {
        "slug": "laminar",
        "probe": {
          "target": "https://api.lmnr.ai/v1",
          "method": "get",
          "lastAt": "2026-10-09T11:46:32.007002945Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 249,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 263,
          "p95ms24h": 336,
          "samples24h": 259,
          "samples30d": 2311,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "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": 125,
              "ok": 125
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.laminar.sh",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:07.178022315Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "lmnr-ai/lmnr",
            "version": "v0.2.5",
            "released": "2026-09-13",
            "seenAt": "2026-10-08T16:18:15.183795075Z"
          },
          {
            "registry": "npm",
            "name": "@lmnr-ai/lmnr",
            "version": "0.8.49",
            "seenAt": "2026-10-08T16:18:11.552194049Z"
          },
          {
            "registry": "pypi",
            "name": "lmnr",
            "version": "0.7.66",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:18:11.434528614Z"
          }
        ],
        "githubStars": 3362,
        "npmWeekly": 77663,
        "pypiWeekly": 1626991,
        "securityTxt": {
          "url": "https://laminar.sh/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:06.520406985Z"
        },
        "llmsTxt": {
          "url": "https://laminar.sh/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:33.791982022Z"
        },
        "domain": {
          "domain": "laminar.sh",
          "checkedAt": "2026-10-04T13:08:33.087077121Z"
        },
        "pages": [
          {
            "url": "https://laminar.sh/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:08.968910959Z",
            "changedAt": "2026-10-08T18:21:08.968910959Z",
            "fingerprint": "e3462deab98e"
          },
          {
            "url": "https://laminar.sh/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:15.208212827Z",
            "changedAt": "2026-10-06T16:09:56.88152339Z",
            "fingerprint": "01dfef303505"
          },
          {
            "url": "https://laminar.sh/policies/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:11.27349282Z",
            "changedAt": "2026-10-06T16:09:52.898864083Z",
            "fingerprint": "8a5158639e90"
          },
          {
            "url": "https://laminar.sh/policies/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:21:13.113490997Z",
            "changedAt": "2026-10-06T16:09:54.933933309Z",
            "fingerprint": "fbe76e3f4607"
          }
        ],
        "updatedAt": "2026-10-09T11:46:32.007002945Z"
      }
    },
    "answer": "W\u0026B Weave scores 66.7 (B) on agent readiness against Laminar API + MCP's 56.6 (C), and leads in 5 of 7 scored categories. Laminar API + MCP leads on schema \u0026 documentation and agent ergonomics.",
    "b": {
      "slug": "wandb-weave",
      "name": "W\u0026B Weave",
      "vendor": "Weights \u0026 Biases (CoreWeave)",
      "vendorUrl": "https://wandb.ai",
      "kind": "http-api",
      "category": "agent-observability",
      "summary": "W\u0026B Weave is CoreWeave Forge's tracing and evaluation service for LLM applications and agents. It takes traces from Python and TypeScript SDKs or an OTLP endpoint and exposes them through a REST Service API.",
      "url": "https://www.anchorterminal.com/tools/wandb-weave",
      "markdownUrl": "https://www.anchorterminal.com/tools/wandb-weave.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/wandb-weave.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/wandb-weave.json",
      "repo": "https://github.com/wandb/weave",
      "license": "Hosted service under the W\u0026B Master Service Agreement. The Weave SDKs and trace server source on GitHub are Apache-2.0, and the W\u0026B MCP server is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://trace.wandb.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "weave"
        },
        {
          "registry": "npm",
          "name": "weave"
        }
      ],
      "auth": "api-key",
      "authNotes": "A Forge API key, created by a signed-in user at forge.coreweave.com/settings after signing up at id.coreweave.com/signup. The Service API takes it as `Authorization: Bearer`, the OTLP endpoints as a `wandb-api-key` header or HTTP Basic with user `api`. Personal keys reach every organisation the user belongs to. Service account keys are limited to one team or one organisation. Keys carry no per-permission scopes, the secret is shown once, and deleting a key revokes it at once.",
      "pricing": "freemium",
      "pricingNotes": "Free is $0 a month with 1 GB of Weave data ingestion. Pro starts at $60 a month with 1.5 GB, a 30 day trial and further ingestion at $0.10 per MB, billed in arrears. Enterprise is quoted, with further ingestion listed at $0.20 per MB and volume discounts on annual commitments. Ingested bytes are counted once when stored. The pricing page doesn't say whether Free needs a card (checked 2026-10-08).",
      "priceSummary": "$60 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Weave docs, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 623550,
        "pypiWeekly": 219442,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.coreweave.com/products/wandb/weave",
      "llmsTxt": "https://docs.coreweave.com/llms.txt",
      "openapi": "https://trace.wandb.ai/openapi.json",
      "capabilities": [
        "obs.traces",
        "obs.evals",
        "obs.prompts",
        "obs.datasets"
      ],
      "tags": [
        "hosted",
        "freemium",
        "open-source",
        "self-hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "opentelemetry",
        "python",
        "typescript",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.7,
        "grade": "B",
        "agentReady": false,
        "rank": 260,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 87,
          "payments": 35,
          "reliability": 68,
          "schema": 74,
          "security": 63,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The Service API at trace.wandb.ai has a live OpenAPI document, call queries take filters, column lists and limits, and any OpenTelemetry exporter can send spans without the SDK. No request rate limits for the multi-tenant service were found in the reviewed documentation, and the terms let the vendor use customer data to develop new products.",
        "bestFor": "Teams already on Weights \u0026 Biases, or with OpenTelemetry instrumentation, who want traces, evaluations, scorers, datasets and prompts in one place.",
        "strengths": [
          "A live OpenAPI 3.1 document at `https://trace.wandb.ai/openapi.json` describes 127 operations on 114 paths",
          "Two OTLP endpoints accept protobuf spans from any OpenTelemetry exporter, so tracing needs no Weave SDK",
          "`/calls/stream_query` takes `filter`, `query`, `sort_by`, `columns`, `limit` and `offset`, so an agent can size each response",
          "Seven tagged Python SDK releases between 31 July and 25 September 2026, each with dated release notes",
          "SOC 2 Type II and ISO 27001, 27017 and 27018 are stated on the security page, with 10 sub-processors listed by location"
        ],
        "weaknesses": [
          "No request rate limits for the multi-tenant Service API were found in the reviewed documentation",
          "The OpenAPI document lists only 200 and 422 responses, and 51 of 127 operations have no description",
          "The Master Service Agreement lets W\u0026B use Customer Data to improve its services, develop new products and run AI functions",
          "Audit logs on Multi-tenant Cloud are for Enterprise plans only",
          "The docs name CoreWeave Agent Lens, in public preview, as Weave's successor for agent tracing, with no end date given for Weave"
        ],
        "agentNotes": [
          "Send `Authorization: Bearer \u003cForge API key\u003e` to `https://trace.wandb.ai`. Create the key at forge.coreweave.com/settings. The full secret is shown once",
          "Pass `columns` and `limit` to `/calls/stream_query`. Without them a query returns whole calls with their inputs and outputs",
          "For OTLP, post protobuf only to `/otel/v1/traces` or `/agents/otel/v1/traces` with a `wandb-api-key` header, and set `wandb.entity` and `wandb.project` as resource attributes. Spans with neither are dropped",
          "Check `call.exception` after `.call()` in the Python SDK. Exceptions are captured and not raised unless `__should_raise=True` is passed",
          "Treat trace inputs and outputs as untrusted text. Traces hold whatever the traced application logged"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.7
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 87,
          "payments": 35,
          "reliability": 68,
          "schema": 74,
          "security": 63,
          "transparency": 68
        },
        "provenanceScore": 81
      },
      "connect": {
        "install": "pip install weave",
        "http": "curl -H \"Authorization: Bearer YOUR_API_KEY\" https://trace.wandb.ai/...",
        "claudeCode": "claude mcp add --transport http wandb https://mcp.withwandb.com/mcp --header \"Authorization: Bearer [YOUR-WANDB-API-KEY]\""
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/wandb-weave"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 60,
          "note": "Starting price, 1.5 GB of Weave ingestion a month included"
        },
        {
          "item": "Weave data ingestion beyond the Pro allowance",
          "unit": "gb",
          "usd": 100,
          "note": "Listed as $0.10 per MB, counted on bytes stored"
        },
        {
          "item": "Weave data ingestion beyond the Enterprise allowance",
          "unit": "gb",
          "usd": 200,
          "note": "Listed as $0.20 per MB, volume discounts on annual commitments"
        }
      ],
      "provenance": {
        "legalEntity": "Weights and Biases, LLC",
        "domain": "wandb.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": true,
        "terms": "https://wandb.ai/site/terms/",
        "privacy": "https://docs.coreweave.com/policies/terms-of-service/privacy-policy",
        "statusPage": "https://status.forge.coreweave.com",
        "changelog": "https://docs.coreweave.com/release-notes/weave-sdk-releases",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The W\u0026B Master Service Agreement, last updated 30 September 2026, names Weights and Biases, LLC, a Delaware company at 400 Alabama Street, San Francisco. The products are sold as CoreWeave Forge.",
          "wandb.ai/site/privacy redirects to CoreWeave's privacy policy, last updated 24 February 2026, which covers CoreWeave, Inc. and its affiliates as controller and says it doesn't apply to data processed for customers. The DPA of 22 April 2026 at wandb.ai/site/dpa covers that data.",
          "The Service API and OTLP endpoints run on trace.wandb.ai. The hosted MCP server runs on mcp.withwandb.com and the console on forge.coreweave.com.",
          "wandb.ai/.well-known/security.txt redirects to a Forge page that answers \"Invalid .well-known request\", and coreweave.com/.well-known/security.txt returns 404. The security page takes reports at security@coreweave.com.",
          "status.wandb.com, which the SLA cites, redirects to status.forge.coreweave.com.",
          "RDAP for wandb.ai gives a registration date of 2017-12-16."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/wandb-weave.json",
      "live": {
        "slug": "wandb-weave",
        "probe": {
          "target": "https://trace.wandb.ai",
          "method": "get",
          "lastAt": "2026-10-09T11:46:45.671898702Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 156,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 144,
          "p95ms24h": 227,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.forge.coreweave.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T11:41:15.82222577Z"
        },
        "updatedAt": "2026-10-09T11:46:45.671898702Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Laminar (LMNR AI)",
        "b": "Weights \u0026 Biases (CoreWeave)",
        "name": "Vendor"
      },
      {
        "a": "https://api.lmnr.ai/v1",
        "b": "https://trace.wandb.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0",
        "b": "Hosted service under the W\u0026B Master Service Agreement. The Weave SDKs and trace server source on GitHub are Apache-2.0, and the W\u0026B MCP server is MIT",
        "name": "Licence"
      },
      {
        "a": "3",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-23",
        "b": "2026-09-25",
        "name": "Last release"
      },
      {
        "a": "2026-08-11",
        "b": "2026-09-30",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-11",
        "b": "2026-02-24",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.3k stars, 80k npm/wk, 1.7M PyPI/wk",
        "b": "624k npm/wk, 219k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "W\u0026B Weave scores 66.7 (B) on agent readiness against Laminar API + MCP's 56.6 (C), and leads in 5 of 7 scored categories. Laminar API + MCP leads on schema \u0026 documentation and agent ergonomics.",
        "question": "Which is better for AI agents, Laminar API + MCP or W\u0026B Weave?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Laminar API + MCP and W\u0026B Weave need an API key?"
      },
      {
        "answer": "Yes. Laminar API + MCP has a hosted endpoint at https://api.lmnr.ai/v1 and W\u0026B Weave at https://trace.wandb.ai.",
        "question": "Can an agent call Laminar API + MCP and W\u0026B Weave without installing anything?"
      },
      {
        "answer": "Yes. Laminar API + MCP is open source (Apache-2.0). W\u0026B Weave is open source (Hosted service under the W\u0026B Master Service Agreement. The Weave SDKs and trace server source on GitHub are Apache-2.0, and the W\u0026B MCP server is MIT).",
        "question": "Are Laminar API + MCP and W\u0026B Weave open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 74",
          "Agent ergonomics, 80 against 71"
        ],
        "also": null,
        "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"
      },
      {
        "aheadOn": [
          "Reliability, 68 against 50",
          "Security \u0026 auth, 63 against 45",
          "Payments \u0026 pricing, 35 against 30",
          "Transparency \u0026 trust, 75 against 62"
        ],
        "also": [
          "No incidents deducted, where Laminar API + MCP loses 5 points for them"
        ],
        "goodFor": "Teams already on Weights \u0026 Biases, or with OpenTelemetry instrumentation, who want traces, evaluations, scorers, datasets and prompts in one place.",
        "slug": "wandb-weave",
        "watchFor": "No request rate limits for the multi-tenant Service API were found in the reviewed documentation"
      }
    ],
    "job": {
      "capability": "obs.traces",
      "name": "Obs traces"
    },
    "others": [
      {
        "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/arize-phoenix-vs-wandb-weave.json",
        "title": "Arize Phoenix vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/arize-phoenix-vs-wandb-weave"
      },
      {
        "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/baserun-vs-wandb-weave.json",
        "title": "Baserun vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/baserun-vs-wandb-weave"
      },
      {
        "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/braintrust-vs-wandb-weave.json",
        "title": "Braintrust API + MCP vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-wandb-weave"
      },
      {
        "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/galileo-vs-wandb-weave.json",
        "title": "Galileo API + MCP vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/galileo-vs-wandb-weave"
      },
      {
        "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/helicone-vs-wandb-weave.json",
        "title": "Helicone AI Gateway + MCP vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/helicone-vs-wandb-weave"
      },
      {
        "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/honeyhive-vs-wandb-weave.json",
        "title": "HoneyHive vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/honeyhive-vs-wandb-weave"
      },
      {
        "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-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-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/langfuse-vs-wandb-weave.json",
        "title": "Langfuse API + MCP vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/langfuse-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langsmith-vs-wandb-weave.json",
        "title": "LangSmith API + MCP vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/langsmith-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langwatch-vs-wandb-weave.json",
        "title": "LangWatch vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/langwatch-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prefactor-vs-wandb-weave.json",
        "title": "Prefactor vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/prefactor-vs-wandb-weave"
      },
      {
        "json": "https://www.anchorterminal.com/compare/respan-vs-wandb-weave.json",
        "title": "Respan API + MCP vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/respan-vs-wandb-weave"
      }
    ],
    "scores": [
      {
        "by": 18,
        "edge": "wandb-weave",
        "key": "reliability",
        "laminar": 50,
        "name": "Reliability",
        "wandb-weave": 68,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "edge": "laminar",
        "key": "schema",
        "laminar": 88,
        "name": "Schema \u0026 documentation",
        "wandb-weave": 74,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "laminar",
        "key": "ergonomics",
        "laminar": 80,
        "name": "Agent ergonomics",
        "wandb-weave": 71,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "wandb-weave",
        "key": "security",
        "laminar": 45,
        "name": "Security \u0026 auth",
        "wandb-weave": 63,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "wandb-weave",
        "key": "payments",
        "laminar": 30,
        "name": "Payments \u0026 pricing",
        "wandb-weave": 35,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "wandb-weave",
        "key": "maintenance",
        "laminar": 83,
        "name": "Maintenance \u0026 community",
        "wandb-weave": 87,
        "weight": 7
      },
      {
        "by": 13,
        "edge": "wandb-weave",
        "key": "transparency",
        "laminar": 62,
        "name": "Transparency \u0026 trust",
        "wandb-weave": 75,
        "weight": 7
      }
    ],
    "summary": "W\u0026B Weave scores 66.7 (B) on agent readiness against Laminar API + MCP's 56.6 (C), and leads in 5 of 7 scored categories. Laminar API + MCP leads on schema \u0026 documentation and agent ergonomics. Both do obs traces.",
    "verdicts": {
      "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.",
      "wandb-weave": "The Service API at trace.wandb.ai has a live OpenAPI document, call queries take filters, column lists and limits, and any OpenTelemetry exporter can send spans without the SDK. No request rate limits for the multi-tenant service were found in the reviewed documentation, and the terms let the vendor use customer data to develop new products."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/laminar-vs-wandb-weave",
    "json": "https://www.anchorterminal.com/compare/laminar-vs-wandb-weave.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/laminar-vs-wandb-weave.md",
    "slim": "https://www.anchorterminal.com/compare/laminar-vs-wandb-weave.min.md"
  },
  "markdown": "W\u0026B Weave scores 66.7 (B) on agent readiness against Laminar API + MCP's 56.6 (C), and leads in 5 of 7 scored categories. Laminar API + MCP leads on schema \u0026 documentation and agent ergonomics. Both do obs traces.\n\n- Laminar API + MCP: grade C, 56.6/100, rank #567 of 842. Markdown https://www.anchorterminal.com/tools/laminar.md · JSON https://www.anchorterminal.com/api/v1/tools/laminar.json\n- W\u0026B Weave: grade B, 66.7/100, rank #260 of 842. Markdown https://www.anchorterminal.com/tools/wandb-weave.md · JSON https://www.anchorterminal.com/api/v1/tools/wandb-weave.json\n\n## Which one, for what\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- Schema \u0026 documentation, 88 against 74\n- Agent ergonomics, 80 against 71\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### W\u0026B Weave (B)\n\nGood for: Teams already on Weights \u0026 Biases, or with OpenTelemetry instrumentation, who want traces, evaluations, scorers, datasets and prompts in one place.\n\nAhead on:\n- Reliability, 68 against 50\n- Security \u0026 auth, 63 against 45\n- Payments \u0026 pricing, 35 against 30\n- Transparency \u0026 trust, 75 against 62\n\nAlso in its favour:\n- No incidents deducted, where Laminar API + MCP loses 5 points for them\n\nWatch for: No request rate limits for the multi-tenant Service API were found in the reviewed documentation\n\n\n## Score by category\n\n| Category | Weight | Laminar API + MCP | W\u0026B Weave | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 68 | W\u0026B Weave +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 74 | Laminar API + MCP +14 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 71 | Laminar API + MCP +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 63 | W\u0026B Weave +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | W\u0026B Weave +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 87 | W\u0026B Weave +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 75 | W\u0026B Weave +13 |\n| Negative events | ≤15 | -5 | 0 | |\n| **Total** | | **56.6 · C** | **66.7 · B** | |\n\n## Facts side by side\n\n| Fact | Laminar API + MCP | W\u0026B Weave |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Laminar (LMNR AI) | Weights \u0026 Biases (CoreWeave) |\n| Hosted endpoint | `https://api.lmnr.ai/v1` | `https://trace.wandb.ai` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 | Hosted service under the W\u0026B Master Service Agreement. The Weave SDKs and trace server source on GitHub are Apache-2.0, and the W\u0026B MCP server is MIT |\n| Tools exposed | 3 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-23 | 2026-09-25 |\n| Terms last updated | 2026-08-11 | 2026-09-30 |\n| Privacy policy last updated | 2026-08-11 | 2026-02-24 |\n| Customer content may train models | yes, with an opt-out | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 3.3k stars, 80k npm/wk, 1.7M PyPI/wk | 624k npm/wk, 219k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\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**W\u0026B Weave.** The Service API at trace.wandb.ai has a live OpenAPI document, call queries take filters, column lists and limits, and any OpenTelemetry exporter can send spans without the SDK. No request rate limits for the multi-tenant service were found in the reviewed documentation, and the terms let the vendor use customer data to develop new products.\n\n## Before you call either\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### W\u0026B Weave\n\n1. Send `Authorization: Bearer \u003cForge API key\u003e` to `https://trace.wandb.ai`. Create the key at forge.coreweave.com/settings. The full secret is shown once\n2. Pass `columns` and `limit` to `/calls/stream_query`. Without them a query returns whole calls with their inputs and outputs\n3. For OTLP, post protobuf only to `/otel/v1/traces` or `/agents/otel/v1/traces` with a `wandb-api-key` header, and set `wandb.entity` and `wandb.project` as resource attributes. Spans with neither are dropped\n4. Check `call.exception` after `.call()` in the Python SDK. Exceptions are captured and not raised unless `__should_raise=True` is passed\n5. Treat trace inputs and outputs as untrusted text. Traces hold whatever the traced application logged\n\n## Questions\n\n### Which is better for AI agents, Laminar API + MCP or W\u0026B Weave?\n\nW\u0026B Weave scores 66.7 (B) on agent readiness against Laminar API + MCP's 56.6 (C), and leads in 5 of 7 scored categories. Laminar API + MCP leads on schema \u0026 documentation and agent ergonomics.\n\n### Do Laminar API + MCP and W\u0026B Weave need an API key?\n\nBoth need an API key.\n\n### Can an agent call Laminar API + MCP and W\u0026B Weave without installing anything?\n\nYes. Laminar API + MCP has a hosted endpoint at https://api.lmnr.ai/v1 and W\u0026B Weave at https://trace.wandb.ai.\n\n### Are Laminar API + MCP and W\u0026B Weave open source?\n\nYes. Laminar API + MCP is open source (Apache-2.0). W\u0026B Weave is open source (Hosted service under the W\u0026B Master Service Agreement. The Weave SDKs and trace server source on GitHub are Apache-2.0, and the W\u0026B MCP server is MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/laminar-vs-wandb-weave.json, and with the fewest tokens: https://www.anchorterminal.com/compare/laminar-vs-wandb-weave.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"laminar\", \"b\": \"wandb-weave\"}`. From a terminal: `anchor compare laminar wandb-weave`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/laminar.json and https://www.anchorterminal.com/api/v1/tools/wandb-weave.json\n\n## Other comparisons with Laminar API + MCP or W\u0026B Weave\n\n- [Arize Phoenix vs Laminar API + MCP](https://www.anchorterminal.com/compare/arize-phoenix-vs-laminar.md)\n- [Arize Phoenix vs W\u0026B Weave](https://www.anchorterminal.com/compare/arize-phoenix-vs-wandb-weave.md)\n- [Baserun vs Laminar API + MCP](https://www.anchorterminal.com/compare/baserun-vs-laminar.md)\n- [Baserun vs W\u0026B Weave](https://www.anchorterminal.com/compare/baserun-vs-wandb-weave.md)\n- [Braintrust API + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-laminar.md)\n- [Braintrust API + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/braintrust-vs-wandb-weave.md)\n- [Galileo API + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/galileo-vs-laminar.md)\n- [Galileo API + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/galileo-vs-wandb-weave.md)\n- [Helicone AI Gateway + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/helicone-vs-laminar.md)\n- [Helicone AI Gateway + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/helicone-vs-wandb-weave.md)\n- [HoneyHive vs Laminar API + MCP](https://www.anchorterminal.com/compare/honeyhive-vs-laminar.md)\n- [HoneyHive vs W\u0026B Weave](https://www.anchorterminal.com/compare/honeyhive-vs-wandb-weave.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 Prefactor](https://www.anchorterminal.com/compare/laminar-vs-prefactor.md)\n- [Laminar API + MCP vs Respan API + MCP](https://www.anchorterminal.com/compare/laminar-vs-respan.md)\n- [Langfuse API + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/langfuse-vs-wandb-weave.md)\n- [LangSmith API + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/langsmith-vs-wandb-weave.md)\n- [LangWatch vs W\u0026B Weave](https://www.anchorterminal.com/compare/langwatch-vs-wandb-weave.md)\n- [Prefactor vs W\u0026B Weave](https://www.anchorterminal.com/compare/prefactor-vs-wandb-weave.md)\n- [Respan API + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/respan-vs-wandb-weave.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Laminar API + MCP vs W\u0026B Weave",
        "url": ""
      }
    ],
    "description": "W\u0026B Weave scores 66.7 (B) on agent readiness against Laminar API + MCP's 56.6 (C), and leads in 5 of 7 scored categories. Laminar API + MCP leads on schema \u0026 documentation and agent ergonomics. Both do obs traces. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Laminar API + MCP C 56.6",
      "W\u0026B Weave B 66.7",
      "scores"
    ],
    "h1": "Laminar API + MCP vs W\u0026B Weave",
    "image": "https://www.anchorterminal.com/assets/og/compare-laminar-vs-wandb-weave.png",
    "path": "/compare/laminar-vs-wandb-weave",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Laminar API + MCP vs W\u0026B Weave for AI agents, C 56.6 vs B 66.7",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/laminar-vs-wandb-weave"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 730
  },
  "version": 1
}
