{
  "data": {
    "a": {
      "slug": "braintrust",
      "name": "Braintrust API + MCP",
      "vendor": "Braintrust",
      "vendorUrl": "https://www.braintrust.dev",
      "kind": "http-api",
      "category": "agent-observability",
      "summary": "Hosted tracing, logging and evaluation for LLM apps and agents, with experiments, datasets, prompts, online scorers and a model gateway.",
      "url": "https://www.anchorterminal.com/tools/braintrust",
      "markdownUrl": "https://www.anchorterminal.com/tools/braintrust.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/braintrust.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/braintrust.json",
      "dns": "braintrust.grade.anchorterminal.com",
      "repo": "https://github.com/braintrustdata/braintrust-sdk-javascript",
      "license": "Apache-2.0 (SDKs only, platform closed source)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.braintrust.dev/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "braintrust"
        },
        {
          "registry": "pypi",
          "name": "braintrust"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST API and SDKs take an org API key as a Bearer token (BRAINTRUST_API_KEY). The hosted MCP server accepts OAuth 2.0 with dynamic client registration or the same API key, and acts with the permissions of the key's account. EU and self-hosted data planes have their own API and MCP URLs.",
      "pricing": "freemium",
      "pricingNotes": "Starter is free with no card, unlimited users, 1 GB processed data and 10,000 scores a month, 14-day retention and $10 of model credit. Overage $4 a GB and $2.50 per 1,000 scores. Pro $249 a month with 5 GB, 50,000 scores, $100 of model credit and 30-day retention, then $3 a GB, $1.50 per 1,000 scores and $0.50 a GB a month for longer retention. Qualifying startups can get Pro free for 6 to 12 months. Enterprise is custom and adds on-prem or hybrid deployment, a BAA and SLAs (https://www.braintrust.dev/pricing).",
      "priceSummary": "$249 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 50,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 2018529,
        "pypiWeekly": 1701906,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.braintrust.dev",
      "llmsTxt": "https://docs.braintrust.dev/llms.txt",
      "openapi": "https://raw.githubusercontent.com/braintrustdata/braintrust-openapi/main/openapi/spec.json",
      "registryName": "io.github.braintrustdata/braintrust",
      "capabilities": [
        "obs.traces",
        "obs.evals",
        "obs.prompts",
        "obs.gateway",
        "obs.datasets"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.1,
        "grade": "B",
        "agentReady": false,
        "rank": 397,
        "ranked": true,
        "rankOf": 1354,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 85,
          "payments": 40,
          "reliability": 76,
          "schema": 85,
          "security": 58,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "negative": -3,
        "negativeNotes": [
          "October 2026 (the changelog gives no day). The hosted MCP tool `set_topics_automation` now answers `facet_mode: \"replace\"` with an error, so calls that worked before fail. The product changelog labels it a breaking change in its October entries, and no earlier notice was found. -3 for a published behaviour changed with notice only once it applied (https://docs.braintrust.dev/changelog)"
        ],
        "verdict": "OpenAPI 3.1.1 spec with 77 paths and `Retry-After` declared on 157 of 166 operations, a hosted MCP server with 50 tools, and TypeScript and Python SDKs released about weekly. Only BTQL has a published rate limit, the MCP server has no read-only mode, and an October MCP tool change broke existing calls with no notice found.",
        "bestFor": "Teams that want evals, datasets and production logs in one hosted product and will drive it from a coding agent through MCP or SQL.",
        "strengths": [
          "OpenAPI 3.1.1 spec with 77 paths in a public Apache-2.0 repository, 429 and `Retry-After` declared on 157 of 166 operations",
          "Hosted MCP server with 50 tools, OAuth 2.0 or API key, and `sql_query` that hands results of 1 MB or more back through an overflow envelope",
          "Service tokens can be scoped to single projects through permission groups on every plan",
          "Starter is free with no card, unlimited users and published per-GB and per-score overage prices",
          "TypeScript SDK 3.42.0 and Python SDK 0.49.1 released on 29 and 30 October, with 42 releases between them since 4 August"
        ],
        "weaknesses": [
          "The hosted `set_topics_automation` MCP tool began rejecting `facet_mode: \"replace\"` in October 2026, with no earlier notice found",
          "Python SDK up to 0.27.x and TypeScript SDK up to 3.23.0 recorded provider credentials in trace metadata, fixed on 2026-07-16",
          "All 50 MCP tools load by default and write tools act with the full permissions of the signed-in account",
          "Only BTQL has a published rate limit, 20 queries a minute on hosted plans",
          "Privacy notice dates from September 2023 and excludes customer data. Starter keeps data for 14 days"
        ],
        "agentNotes": [
          "Connect a project-scoped service token rather than a personal key, because MCP write tools act with the key's full permissions",
          "Set the client to confirm MCP write tools such as `edit_dataset_rows` and `create_threshold_alert`. The server has no read-only mode",
          "Cache `sql_query` results. Hosted plans allow 20 BTQL queries a minute and return 429",
          "To drop Topics facets, name them in `remove_facets` or `remove_topic_map_ids`; `facet_mode: \"replace\"` now returns an error",
          "Upgrade to Python `braintrust` 0.28.0 or TypeScript 3.23.1 or later and rotate any provider keys traced before July 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.1
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 85,
          "payments": 40,
          "reliability": 76,
          "schema": 85,
          "security": 58,
          "transparency": 50
        },
        "provenanceScore": 82,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl https://api.braintrust.dev/v1/project -H \"Authorization: Bearer $BRAINTRUST_API_KEY\"",
        "claudeCode": "claude mcp add --transport http braintrust https://api.braintrust.dev/mcp",
        "config": {
          "mcpServers": {
            "braintrust": {
              "headers": {
                "Authorization": "Bearer ${BRAINTRUST_API_KEY}"
              },
              "type": "http",
              "url": "https://api.braintrust.dev/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/braintrust"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 249,
          "note": "5 GB processed data, 50,000 scores, 30-day retention"
        },
        {
          "item": "Processed data on Starter",
          "unit": "gb",
          "usd": 4
        },
        {
          "item": "Processed data on Pro",
          "unit": "gb",
          "usd": 3
        },
        {
          "item": "Extended retention on Pro",
          "unit": "gb",
          "usd": 0.5,
          "note": "per GB a month beyond 30 days"
        }
      ],
      "provenance": {
        "legalEntity": "Braintrust Data, Inc.",
        "domain": "braintrust.dev",
        "domainRegistered": "2021-03-25",
        "endpointOnVendorDomain": true,
        "terms": "https://www.braintrust.dev/legal/terms-of-service",
        "privacy": "https://www.braintrust.dev/legal/privacy-policy",
        "statusPage": "https://status.braintrust.dev",
        "changelog": "https://docs.braintrust.dev/changelog",
        "securityTxt": "none",
        "checked": "2026-11-02",
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/braintrust.json",
      "live": {
        "slug": "braintrust",
        "probe": {
          "target": "https://api.braintrust.dev/v1",
          "method": "get",
          "lastAt": "2026-11-06T09:47:21.482037695Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 108,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.94,
          "p50ms24h": 109,
          "p95ms24h": 207,
          "samples24h": 221,
          "samples30d": 7856,
          "days": [
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 249
            },
            {
              "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": 252
            },
            {
              "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": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 250
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 102,
              "ok": 102
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.braintrust.dev",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-06T09:42:37.476619096Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "braintrustdata/braintrust-sdk-javascript",
            "version": "braintrust@3.43.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-05T21:18:03.614994297Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.braintrustdata/braintrust",
            "version": "1.0.0",
            "seenAt": "2026-11-05T17:32:31.346782632Z"
          },
          {
            "registry": "npm",
            "name": "braintrust",
            "version": "3.43.0",
            "seenAt": "2026-11-05T21:18:02.46140275Z"
          },
          {
            "registry": "pypi",
            "name": "braintrust",
            "version": "0.49.2",
            "released": "2026-11-03",
            "seenAt": "2026-11-05T21:18:03.331529004Z"
          }
        ],
        "githubStars": 29,
        "npmWeekly": 2395437,
        "pypiWeekly": 1885199,
        "securityTxt": {
          "url": "https://braintrust.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-05T15:56:28.831445737Z"
        },
        "llmsTxt": {
          "url": "https://docs.braintrust.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-05T15:25:20.969993661Z"
        },
        "domain": {
          "domain": "braintrust.dev",
          "registered": "2021-03-25",
          "source": "https://pubapi.registry.google/rdap/domain/braintrust.dev",
          "checkedAt": "2026-11-01T14:08:14.780345183Z"
        },
        "pages": [
          {
            "url": "https://docs.braintrust.dev/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-05T12:51:37.323583919Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a2880906cc28"
          },
          {
            "url": "https://www.braintrust.dev/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-04T08:38:07.711992025Z",
            "changedAt": "2026-11-04T08:38:07.711992025Z",
            "fingerprint": "bcc762449b4f"
          },
          {
            "url": "https://www.braintrust.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-05T13:10:10.737074831Z",
            "changedAt": "2026-10-08T18:26:46.642292163Z",
            "fingerprint": "5d374bff4552"
          },
          {
            "url": "https://www.braintrust.dev/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-05T13:10:05.113468847Z",
            "changedAt": "2026-10-08T18:26:42.432950997Z",
            "fingerprint": "11f705ad4b2e"
          },
          {
            "url": "https://www.braintrust.dev/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-05T13:10:07.479934764Z",
            "changedAt": "2026-10-08T18:26:44.659338097Z",
            "fingerprint": "d1ceea73697f"
          }
        ],
        "github": {
          "repo": "braintrustdata/braintrust-sdk-javascript",
          "checkedAt": "2026-11-02T08:36:22.647097857Z",
          "stars": 29,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T07:08:06Z",
          "openIssues": 56,
          "openPRs": 24,
          "issuesOpened90d": 53,
          "issuesClosed90d": 60,
          "prsMerged90d": 218,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 49,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-30T16:18:01Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-h8xp-g5cq-35xw",
              "cve": "CVE-2026-85273",
              "severity": "high",
              "published": "2026-07-17T18:55:34Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 6,
            "medianDays": 1.3
          }
        },
        "updatedAt": "2026-11-06T09:47:21.482037695Z"
      }
    },
    "answer": "Braintrust API + MCP scores 65.1 (B) on agent readiness against Gauge CLI's 60.4 (C), and leads in 5 of 7 scored categories. Gauge CLI leads on agent ergonomics.",
    "b": {
      "slug": "gauge-cli",
      "name": "Gauge CLI",
      "vendor": "Gauge",
      "vendorUrl": "https://www.withgauge.com/agents/",
      "kind": "cli",
      "category": "agent-observability",
      "summary": "Gauge CLI runs real coding agents (Claude Code, Codex, Pi, OpenCode) against your skills, CLIs, SDKs, MCP servers and docs in Docker, records where they get stuck, and lets your agent test fixes before release.",
      "url": "https://www.anchorterminal.com/tools/gauge-cli",
      "markdownUrl": "https://www.anchorterminal.com/tools/gauge-cli.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gauge-cli.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gauge-cli.json",
      "dns": "gauge-cli.grade.anchorterminal.com",
      "repo": "https://github.com/gauge-sh/gauge-cli",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@withgauge/cli"
        }
      ],
      "auth": "none",
      "authNotes": "Local mode needs no Gauge account, only credentials for the agent under test (native Claude or Codex logins, or API keys). Hosted Gauge uses `gauge auth login`, with a device flow for remote terminals.",
      "pricing": "freemium",
      "pricingNotes": "The CLI and local mode are free and MIT-licensed; agent usage is billed by your provider or subscription. Hosted Gauge runs on workspace credits, whose prices weren't read (checked 2026-11-06).",
      "priceSummary": "Freemium",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payment protocol in the CLI or its README; hosted runs use workspace credits (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.withgauge.com/agents",
      "capabilities": [
        "obs.evals"
      ],
      "tags": [
        "open-source",
        "mit",
        "cli",
        "node",
        "docker",
        "telemetry",
        "new"
      ],
      "lastRelease": "2026-11-04",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.4,
        "grade": "C",
        "agentReady": false,
        "rank": 590,
        "ranked": true,
        "rankOf": 1354,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 82,
          "payments": 40,
          "reliability": 60,
          "schema": 60,
          "security": 55,
          "transparency": 53
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "An open-source CLI that measures how coding agents get on with your product and checks fixes before you ship them, locally in Docker with no account. It's young and pre-1.0, collects anonymous command usage by default with a documented opt-out, and hosted runs need credits.",
        "bestFor": "Teams that build skills, CLIs, SDKs or MCP servers and want to see where coding agents get stuck with them, and to test fixes before release.",
        "strengths": [
          "Runs Claude Code, Codex, Pi and OpenCode in fresh Docker sessions against working-tree or pre-release versions",
          "Local mode needs no Gauge account, only your existing agent credentials",
          "Dated changelog with six releases in about two weeks",
          "Instructions bundled in the CLI for coding agents, and -o json on read commands",
          "CI runs checks on every push and pull request"
        ],
        "weaknesses": [
          "Collects anonymous command usage by default, with an opt-out",
          "Pre-1.0 and about two weeks old in this repository",
          "Docs, authenticated MCP servers and authenticated APIs need hosted Gauge and credits",
          "Hosted credit prices weren't found on the pages read"
        ],
        "agentNotes": [
          "npm install -g @withgauge/cli, then gauge local runtime pull and gauge init --local in the project",
          "Run gauge install-skill so your coding agent finds the CLI's own instructions",
          "Set GAUGE_TELEMETRY_DISABLED=1 in CI if you don't want command usage collected",
          "Rebuild and pack an npm CLI or SDK before rerunning, so test sessions get the new tarball",
          "Keep .gauge/ private; it holds measurements and analyses"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.4
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 82,
          "payments": 40,
          "reliability": 60,
          "schema": 60,
          "security": 55,
          "transparency": 78
        },
        "provenanceScore": 27,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install -g @withgauge/cli\ngauge local runtime pull\ngauge init --local\ngauge install-skill"
      },
      "letme": {
        "capability": "https://letme.dev/obs.evals",
        "tool": "https://letme.dev/gauge-cli"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "",
        "domain": "withgauge.com",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/gauge-sh/gauge-cli/blob/main/cli/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The npm package's author is Gauge \u003csupport@withgauge.com\u003e, its homepage agents.withgauge.com, and its repository field points at gauge-sh/gauge-cli. The licence names Gauge.",
          "Hosted Gauge's terms and privacy weren't read, and security.txt wasn't checked."
        ],
        "score": 27
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gauge-cli.json"
    },
    "edges": [
      {
        "by": 25,
        "category": "schema",
        "leads": "braintrust",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1.1 with 77 paths and 166 operations, published in the Apache-2.0 braintrustdata/braintrust-openapi repository (last synced 31 October) and pinned by the Python SDK (25). The copy at www.braintrust.dev/docs/openapi.json is a path that site's robots.txt now disallows, so it wasn't read. llms.txt with about 700 lines at docs.braintrust.dev, every page served as Markdown (10). The MCP docs give a one-line purpose for each of the 50 tools and mark the `test_*` tools as dry runs, but say little about when not to use a tool. The MCP server is closed source, so we read the docs rather than the definitions (13). Typed schemas with pagination parameters and enums, though `sql_query` takes free-form SQL and event payloads are free-form by nature (11). 400, 401, 403, 429 and 500 responses are declared on most operations, but only 4 of 166 operations carry an inline example. The cookbook fills some of the gap (11). Versioned `/v1` API, a monthly product changelog, a data-plane changelog and per-SDK changelogs (15). 25+10+13+11+11+15 = 85.",
          "b": "CLI reading. No machine-readable contract, -o json on read commands (10 of 25). No llms.txt; instructions bundled in the CLI for agents (5). The README says what it finds and when local or hosted fits (16 of 20). Commands with help text; typed flags (9 of 15). Worked examples, no error reference (8 of 15). Dated changelog and semver tags (12 of 15). 10 + 5 + 16 + 9 + 8 + 12 = 60."
        },
        "scores": {
          "a": 85,
          "b": 60
        }
      },
      {
        "by": 16,
        "category": "reliability",
        "leads": "braintrust",
        "name": "Reliability",
        "reasons": {
          "a": "Status page at status.braintrust.dev, now on incident.io, with component history (20). Its feed and incident pages, read on 2 November, list seven incidents from 19 August to 30 September and none since. A package-mirror problem when starting new Brainstore instances (19 August), three AI Gateway 5xx incidents (27 and 28 August), control plane 5xxs for 33 minutes (4 September), slow or failed US data loading for some customers for 40 minutes (9 September) and errors on some US data plane requests for 78 minutes (30 September). Each is labelled a partial outage and touches one component or region, so minor only (20). The only published limit is 20 BTQL queries a minute on hosted plans. Ingestion and REST limits have no numbers (8). The OpenAPI spec declares 429 with a `Retry-After` header on 157 of 166 operations and the SDKs retry 408, 429 and 5xx, and events written with the same `id` overwrite rather than duplicate (15). Enterprise lists an uptime SLA with no published terms (3). API and MCP are GA (10). 20+20+8+15+3+10 = 76.",
          "b": "Local package. Installs from npm as @withgauge/cli with Node 22.13 or later and Docker stated (20). checks.yml runs npm run check on push and pull request across a matrix, and the repository has 76 test files; whether main passes wasn't read (20 of 25). Issues weren't read (5, unchecked). A dated changelog with Added sections per release (15). Version 0.28.0 (0). 20 + 20 + 5 + 15 + 0 = 60."
        },
        "scores": {
          "a": 76,
          "b": 60
        }
      },
      {
        "by": 13,
        "category": "transparency",
        "leads": "braintrust",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Platform closed source with clear terms (updated 7 July 2026). Both SDKs and the OpenAPI repository are Apache-2.0 (18). The privacy notice was last updated on 21 September 2023 and says it doesn't apply to data customers send to the service. Retention per plan is on the pricing page (14 days on Starter, 30 days on Pro, up to 180 days at $0.50 a GB a month) and a DPA is click-through on Pro. We found no retention statement for trace data beyond that (12). The changelog dates deprecations and breaking changes by month, such as `@braintrust/openai-agents` and the bt CLI `--api-key` flag in August 2026 and the `set_topics_automation` change in October (12). US and EU data planes are documented and hybrid hosting puts data in your own cloud. No subprocessor list we could read (8). 18+12+12+8 = 50.",
          "b": "MIT (30). Local data stays in .gauge/ and telemetry fields are listed; hosted data handling wasn't read (18 of 30). Dated changelog, no deprecation policy (10 of 20). Telemetry on by default, disclosed with an opt-out (20). 30 + 18 + 10 + 20 = 78."
        },
        "scores": {
          "a": 66,
          "b": 53
        }
      },
      {
        "by": 9,
        "category": "ergonomics",
        "leads": "gauge-cli",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "50 MCP tools load at once, with no toolsets or server-side allowlist found (5). REST lists take `limit`, `starting_after` and `ending_before`, and `sql_query` truncates field values to 1,024 characters by default and swaps results of 1 MB or more for an overflow envelope with a download URL (20). Error codes are declared per operation, the MCP server returns 413 above 100 MiB, and 429 carries `Retry-After`. Error bodies are typed as plain text (14). Event inserts upsert on `id` and ACL batch updates are documented as idempotent. Several MCP tools have a no-write `test_*` twin. We couldn't see whether the hosted tools carry `readOnlyHint` or `destructiveHint` (12). Few required parameters, and SDKs in TypeScript, Python, Go, Java, Ruby and C# (15). 5+20+14+12+15 = 66.",
          "b": "CLI reading for an agent driving it. Bundled instructions match the installed version, and output is filterable with -o json (20 of 25). Run summaries and Findings with queryable fields (15 of 20). Errors not documented as a reference (10 of 20). Reruns from checkpoints and a recheck command with a confirm step (15 of 20). Four commands to start, Node only (15 of 15). 20 + 15 + 10 + 15 + 15 = 75."
        },
        "scores": {
          "a": 66,
          "b": 75
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "cli",
        "name": "Kind"
      },
      {
        "a": "Braintrust",
        "b": "Gauge",
        "name": "Vendor"
      },
      {
        "a": "https://api.braintrust.dev/v1",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (SDKs only, platform closed source)",
        "b": "MIT",
        "name": "Licence"
      },
      {
        "a": "50",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "io.github.braintrustdata/braintrust",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-30",
        "b": "2026-11-04",
        "name": "Last release"
      },
      {
        "a": "2026-07-07",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2023-09-21",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2M npm/wk, 1.7M PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Braintrust API + MCP scores 65.1 (B) on agent readiness against Gauge CLI's 60.4 (C), and leads in 5 of 7 scored categories. Gauge CLI leads on agent ergonomics.",
        "question": "Which is better for AI agents, Braintrust API + MCP or Gauge CLI?"
      },
      {
        "answer": "Braintrust API + MCP has a hosted endpoint at https://api.braintrust.dev/v1. No hosted endpoint is listed for Gauge CLI.",
        "question": "Can an agent call Braintrust API + MCP and Gauge CLI without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Braintrust API + MCP. Gauge CLI is open source (MIT).",
        "question": "Are Braintrust API + MCP and Gauge CLI open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 76 against 60",
          "Schema \u0026 documentation, 85 against 60",
          "Transparency \u0026 trust, 66 against 53"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Free to start without a card"
        ],
        "goodFor": "Teams that want evals, datasets and production logs in one hosted product and will drive it from a coding agent through MCP or SQL.",
        "slug": "braintrust",
        "watchFor": "The hosted `set_topics_automation` MCP tool began rejecting `facet_mode: \"replace\"` in October 2026, with no earlier notice found"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 75 against 66"
        ],
        "also": [
          "No key needed to call it",
          "Open source",
          "No incidents deducted, where Braintrust API + MCP loses 3 points for them"
        ],
        "goodFor": "Teams that build skills, CLIs, SDKs or MCP servers and want to see where coding agents get stuck with them, and to test fixes before release.",
        "slug": "gauge-cli",
        "watchFor": "Collects anonymous command usage by default, with an opt-out"
      }
    ],
    "history": {
      "braintrust": [
        {
          "causes": [
            "product",
            "correction"
          ],
          "date": "2026-11-02",
          "delta": 4,
          "from": 61.1,
          "fromGrade": "C",
          "to": 65.1,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 61.3,
          "fromGrade": "C",
          "to": 61.1,
          "toGrade": "C"
        }
      ],
      "gauge-cli": null
    },
    "job": {
      "capability": "obs.evals",
      "name": "Evaluations"
    },
    "others": [
      {
        "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/agents-tree-vs-braintrust.json",
        "title": "agents-tree vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/agents-tree-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arize-phoenix-vs-braintrust.json",
        "title": "Arize Phoenix vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/arize-phoenix-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserun-vs-braintrust.json",
        "title": "Baserun vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/baserun-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/botgauge-vs-braintrust.json",
        "title": "BotGauge vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/botgauge-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-deepeval.json",
        "title": "Braintrust API + MCP vs DeepEval",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-deepeval"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-galileo.json",
        "title": "Braintrust API + MCP vs Galileo API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-galileo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-helicone.json",
        "title": "Braintrust API + MCP vs Helicone AI Gateway + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-helicone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-honeyhive.json",
        "title": "Braintrust API + MCP vs HoneyHive",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-honeyhive"
      },
      {
        "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-langfuse.json",
        "title": "Braintrust API + MCP vs Langfuse API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-langfuse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-langsmith.json",
        "title": "Braintrust API + MCP vs LangSmith API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-langsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-langwatch.json",
        "title": "Braintrust API + MCP vs LangWatch",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-langwatch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-mlflow-tracing.json",
        "title": "Braintrust API + MCP vs MLflow Tracing",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-mlflow-tracing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-navige.json",
        "title": "Braintrust API + MCP vs Navige",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-navige"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-opik.json",
        "title": "Braintrust API + MCP vs Opik API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-opik"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-overmind.json",
        "title": "Braintrust API + MCP vs Overmind",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-overmind"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor.json",
        "title": "Braintrust API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-pydantic-logfire.json",
        "title": "Braintrust API + MCP vs Pydantic Logfire",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-pydantic-logfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-respan.json",
        "title": "Braintrust API + MCP vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-respan"
      },
      {
        "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/arize-phoenix-vs-gauge-cli.json",
        "title": "Arize Phoenix vs Gauge CLI",
        "url": "https://www.anchorterminal.com/compare/arize-phoenix-vs-gauge-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserun-vs-gauge-cli.json",
        "title": "Baserun vs Gauge CLI",
        "url": "https://www.anchorterminal.com/compare/baserun-vs-gauge-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/botgauge-vs-gauge-cli.json",
        "title": "BotGauge vs Gauge CLI",
        "url": "https://www.anchorterminal.com/compare/botgauge-vs-gauge-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepeval-vs-gauge-cli.json",
        "title": "DeepEval vs Gauge CLI",
        "url": "https://www.anchorterminal.com/compare/deepeval-vs-gauge-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/galileo-vs-gauge-cli.json",
        "title": "Galileo API + MCP vs Gauge CLI",
        "url": "https://www.anchorterminal.com/compare/galileo-vs-gauge-cli"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-helicone.json",
        "title": "Gauge CLI vs Helicone AI Gateway + MCP",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-helicone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-honeyhive.json",
        "title": "Gauge CLI vs HoneyHive",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-honeyhive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-laminar.json",
        "title": "Gauge CLI vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-langfuse.json",
        "title": "Gauge CLI vs Langfuse API + MCP",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-langfuse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-langsmith.json",
        "title": "Gauge CLI vs LangSmith API + MCP",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-langsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-langwatch.json",
        "title": "Gauge CLI vs LangWatch",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-langwatch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-mlflow-tracing.json",
        "title": "Gauge CLI vs MLflow Tracing",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-mlflow-tracing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-opik.json",
        "title": "Gauge CLI vs Opik API + MCP",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-opik"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-overmind.json",
        "title": "Gauge CLI vs Overmind",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-overmind"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-prefactor.json",
        "title": "Gauge CLI vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-pydantic-logfire.json",
        "title": "Gauge CLI vs Pydantic Logfire",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-pydantic-logfire"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-respan.json",
        "title": "Gauge CLI vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-respan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gauge-cli-vs-wandb-weave.json",
        "title": "Gauge CLI vs W\u0026B Weave",
        "url": "https://www.anchorterminal.com/compare/gauge-cli-vs-wandb-weave"
      }
    ],
    "panel": null,
    "scores": [
      {
        "braintrust": 76,
        "by": 16,
        "edge": "braintrust",
        "gauge-cli": 60,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "braintrust": 85,
        "by": 25,
        "edge": "braintrust",
        "gauge-cli": 60,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "braintrust": 66,
        "by": 9,
        "edge": "gauge-cli",
        "gauge-cli": 75,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "braintrust": 58,
        "by": 3,
        "edge": "braintrust",
        "gauge-cli": 55,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "braintrust": 40,
        "by": 0,
        "edge": "",
        "gauge-cli": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "braintrust": 85,
        "by": 3,
        "edge": "braintrust",
        "gauge-cli": 82,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "braintrust": 66,
        "by": 13,
        "edge": "braintrust",
        "gauge-cli": 53,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Braintrust API + MCP scores 65.1 (B) on agent readiness against Gauge CLI's 60.4 (C), and leads in 5 of 7 scored categories. Gauge CLI leads on agent ergonomics. Both do evaluations.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "braintrust": "OpenAPI 3.1.1 spec with 77 paths and `Retry-After` declared on 157 of 166 operations, a hosted MCP server with 50 tools, and TypeScript and Python SDKs released about weekly. Only BTQL has a published rate limit, the MCP server has no read-only mode, and an October MCP tool change broke existing calls with no notice found.",
      "gauge-cli": "An open-source CLI that measures how coding agents get on with your product and checks fixes before you ship them, locally in Docker with no account. It's young and pre-1.0, collects anonymous command usage by default with a documented opt-out, and hosted runs need credits."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/braintrust-vs-gauge-cli",
    "json": "https://www.anchorterminal.com/compare/braintrust-vs-gauge-cli.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/braintrust-vs-gauge-cli.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/braintrust-vs-gauge-cli.min.md"
  },
  "markdown": "Braintrust API + MCP scores 65.1 (B) on agent readiness against Gauge CLI's 60.4 (C), and leads in 5 of 7 scored categories. Gauge CLI leads on agent ergonomics. Both do evaluations.\n\n- Braintrust API + MCP: grade B, 65.1/100, rank #397 of 1354. Markdown https://www.anchorterminal.com/tools/braintrust.md · JSON https://www.anchorterminal.com/api/v1/tools/braintrust.json\n- Gauge CLI: grade C, 60.4/100, rank #590 of 1354. Markdown https://www.anchorterminal.com/tools/gauge-cli.md · JSON https://www.anchorterminal.com/api/v1/tools/gauge-cli.json\n- Best agent tracing, monitoring and evaluation tools: https://www.anchorterminal.com/best/agent-observability/index.md\n- All 250 evals comparisons: https://www.anchorterminal.com/compare/agent-observability/index.md\n\n## Which one, for what\n\n### Braintrust API + MCP (B)\n\nGood for: Teams that want evals, datasets and production logs in one hosted product and will drive it from a coding agent through MCP or SQL.\n\nAhead on:\n- Reliability, 76 against 60\n- Schema \u0026 documentation, 85 against 60\n- Transparency \u0026 trust, 66 against 53\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Free to start without a card\n\nWatch for: The hosted `set_topics_automation` MCP tool began rejecting `facet_mode: \"replace\"` in October 2026, with no earlier notice found\n\n### Gauge CLI (C)\n\nGood for: Teams that build skills, CLIs, SDKs or MCP servers and want to see where coding agents get stuck with them, and to test fixes before release.\n\nAhead on:\n- Agent ergonomics, 75 against 66\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n- No incidents deducted, where Braintrust API + MCP loses 3 points for them\n\nWatch for: Collects anonymous command usage by default, with an opt-out\n\n\n## Why the edge\n\n### Schema \u0026 documentation: Braintrust API + MCP +25\n\n- Braintrust API + MCP (85): OpenAPI 3.1.1 with 77 paths and 166 operations, published in the Apache-2.0 braintrustdata/braintrust-openapi repository (last synced 31 October) and pinned by the Python SDK (25). The copy at www.braintrust.dev/docs/openapi.json is a path that site's robots.txt now disallows, so it wasn't read. llms.txt with about 700 lines at docs.braintrust.dev, every page served as Markdown (10). The MCP docs give a one-line purpose for each of the 50 tools and mark the `test_*` tools as dry runs, but say little about when not to use a tool. The MCP server is closed source, so we read the docs rather than the definitions (13). Typed schemas with pagination parameters and enums, though `sql_query` takes free-form SQL and event payloads are free-form by nature (11). 400, 401, 403, 429 and 500 responses are declared on most operations, but only 4 of 166 operations carry an inline example. The cookbook fills some of the gap (11). Versioned `/v1` API, a monthly product changelog, a data-plane changelog and per-SDK changelogs (15). 25+10+13+11+11+15 = 85.\n- Gauge CLI (60): CLI reading. No machine-readable contract, -o json on read commands (10 of 25). No llms.txt; instructions bundled in the CLI for agents (5). The README says what it finds and when local or hosted fits (16 of 20). Commands with help text; typed flags (9 of 15). Worked examples, no error reference (8 of 15). Dated changelog and semver tags (12 of 15). 10 + 5 + 16 + 9 + 8 + 12 = 60.\n\n### Reliability: Braintrust API + MCP +16\n\n- Braintrust API + MCP (76): Status page at status.braintrust.dev, now on incident.io, with component history (20). Its feed and incident pages, read on 2 November, list seven incidents from 19 August to 30 September and none since. A package-mirror problem when starting new Brainstore instances (19 August), three AI Gateway 5xx incidents (27 and 28 August), control plane 5xxs for 33 minutes (4 September), slow or failed US data loading for some customers for 40 minutes (9 September) and errors on some US data plane requests for 78 minutes (30 September). Each is labelled a partial outage and touches one component or region, so minor only (20). The only published limit is 20 BTQL queries a minute on hosted plans. Ingestion and REST limits have no numbers (8). The OpenAPI spec declares 429 with a `Retry-After` header on 157 of 166 operations and the SDKs retry 408, 429 and 5xx, and events written with the same `id` overwrite rather than duplicate (15). Enterprise lists an uptime SLA with no published terms (3). API and MCP are GA (10). 20+20+8+15+3+10 = 76.\n- Gauge CLI (60): Local package. Installs from npm as @withgauge/cli with Node 22.13 or later and Docker stated (20). checks.yml runs npm run check on push and pull request across a matrix, and the repository has 76 test files; whether main passes wasn't read (20 of 25). Issues weren't read (5, unchecked). A dated changelog with Added sections per release (15). Version 0.28.0 (0). 20 + 20 + 5 + 15 + 0 = 60.\n\n### Transparency \u0026 trust: Braintrust API + MCP +13\n\n- Braintrust API + MCP (66): Platform closed source with clear terms (updated 7 July 2026). Both SDKs and the OpenAPI repository are Apache-2.0 (18). The privacy notice was last updated on 21 September 2023 and says it doesn't apply to data customers send to the service. Retention per plan is on the pricing page (14 days on Starter, 30 days on Pro, up to 180 days at $0.50 a GB a month) and a DPA is click-through on Pro. We found no retention statement for trace data beyond that (12). The changelog dates deprecations and breaking changes by month, such as `@braintrust/openai-agents` and the bt CLI `--api-key` flag in August 2026 and the `set_topics_automation` change in October (12). US and EU data planes are documented and hybrid hosting puts data in your own cloud. No subprocessor list we could read (8). 18+12+12+8 = 50.\n- Gauge CLI (53): MIT (30). Local data stays in .gauge/ and telemetry fields are listed; hosted data handling wasn't read (18 of 30). Dated changelog, no deprecation policy (10 of 20). Telemetry on by default, disclosed with an opt-out (20). 30 + 18 + 10 + 20 = 78.\n\n### Agent ergonomics: Gauge CLI +9\n\n- Braintrust API + MCP (66): 50 MCP tools load at once, with no toolsets or server-side allowlist found (5). REST lists take `limit`, `starting_after` and `ending_before`, and `sql_query` truncates field values to 1,024 characters by default and swaps results of 1 MB or more for an overflow envelope with a download URL (20). Error codes are declared per operation, the MCP server returns 413 above 100 MiB, and 429 carries `Retry-After`. Error bodies are typed as plain text (14). Event inserts upsert on `id` and ACL batch updates are documented as idempotent. Several MCP tools have a no-write `test_*` twin. We couldn't see whether the hosted tools carry `readOnlyHint` or `destructiveHint` (12). Few required parameters, and SDKs in TypeScript, Python, Go, Java, Ruby and C# (15). 5+20+14+12+15 = 66.\n- Gauge CLI (75): CLI reading for an agent driving it. Bundled instructions match the installed version, and output is filterable with -o json (20 of 25). Run summaries and Findings with queryable fields (15 of 20). Errors not documented as a reference (10 of 20). Reruns from checkpoints and a recheck command with a confirm step (15 of 20). Four commands to start, Node only (15 of 15). 20 + 15 + 10 + 15 + 15 = 75.\n\n## Score by category\n\n| Category | Weight | Braintrust API + MCP | Gauge CLI | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 76 | 60 | Braintrust API + MCP +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 60 | Braintrust API + MCP +25 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 75 | Gauge CLI +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 55 | Braintrust API + MCP +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 82 | Braintrust API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 53 | Braintrust API + MCP +13 |\n| Negative events | ≤15 | -3 | 0 | |\n| **Total** | | **65.1 · B** | **60.4 · C** | |\n\n## Facts side by side\n\n| Fact | Braintrust API + MCP | Gauge CLI |\n| --- | --- | --- |\n| Kind | HTTP API | cli |\n| Vendor | Braintrust | Gauge |\n| Hosted endpoint | `https://api.braintrust.dev/v1` | no (local only) |\n| Transports | HTTP, Streamable HTTP |  |\n| Auth | OAuth or key | None |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 (SDKs only, platform closed source) | MIT |\n| Tools exposed | 50 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | no |\n| MCP registry | `io.github.braintrustdata/braintrust` | not listed |\n| Last release | 2026-10-30 | 2026-11-04 |\n| Terms last updated | 2026-07-07 | no document linked |\n| Privacy policy last updated | 2023-09-21 | no document linked |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | yes | not read yet |\n| Popularity | 2M npm/wk, 1.7M PyPI/wk | none |\n| Agent reviews | 3/5 (2) | none |\n\n## How the scores have moved\n\n### Braintrust API + MCP\n\n- +4.0 on 2 November 2026 (C to B): product, correction\n- -0.2 on 8 October 2026: checklist\n\n### Gauge CLI\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Braintrust API + MCP.** OpenAPI 3.1.1 spec with 77 paths and `Retry-After` declared on 157 of 166 operations, a hosted MCP server with 50 tools, and TypeScript and Python SDKs released about weekly. Only BTQL has a published rate limit, the MCP server has no read-only mode, and an October MCP tool change broke existing calls with no notice found.\n\n**Gauge CLI.** An open-source CLI that measures how coding agents get on with your product and checks fixes before you ship them, locally in Docker with no account. It's young and pre-1.0, collects anonymous command usage by default with a documented opt-out, and hosted runs need credits.\n\n## Before you call either\n\n### Braintrust API + MCP\n\n1. Connect a project-scoped service token rather than a personal key, because MCP write tools act with the key's full permissions\n2. Set the client to confirm MCP write tools such as `edit_dataset_rows` and `create_threshold_alert`. The server has no read-only mode\n3. Cache `sql_query` results. Hosted plans allow 20 BTQL queries a minute and return 429\n4. To drop Topics facets, name them in `remove_facets` or `remove_topic_map_ids`; `facet_mode: \"replace\"` now returns an error\n5. Upgrade to Python `braintrust` 0.28.0 or TypeScript 3.23.1 or later and rotate any provider keys traced before July 2026\n\n### Gauge CLI\n\n1. npm install -g @withgauge/cli, then gauge local runtime pull and gauge init --local in the project\n2. Run gauge install-skill so your coding agent finds the CLI's own instructions\n3. Set GAUGE_TELEMETRY_DISABLED=1 in CI if you don't want command usage collected\n4. Rebuild and pack an npm CLI or SDK before rerunning, so test sessions get the new tarball\n5. Keep .gauge/ private; it holds measurements and analyses\n\n## Questions\n\n### Which is better for AI agents, Braintrust API + MCP or Gauge CLI?\n\nBraintrust API + MCP scores 65.1 (B) on agent readiness against Gauge CLI's 60.4 (C), and leads in 5 of 7 scored categories. Gauge CLI leads on agent ergonomics.\n\n### Can an agent call Braintrust API + MCP and Gauge CLI without installing anything?\n\nBraintrust API + MCP has a hosted endpoint at https://api.braintrust.dev/v1. No hosted endpoint is listed for Gauge CLI.\n\n### Are Braintrust API + MCP and Gauge CLI open source?\n\nNo open-source release is listed for Braintrust API + MCP. Gauge CLI is open source (MIT).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/braintrust-vs-gauge-cli.json, and with the fewest tokens: https://www.anchorterminal.com/compare/braintrust-vs-gauge-cli.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"braintrust\", \"b\": \"gauge-cli\"}`. From a terminal: `anchor compare braintrust gauge-cli`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/braintrust.json and https://www.anchorterminal.com/api/v1/tools/gauge-cli.json\n\n## Other comparisons with Braintrust API + MCP or Gauge CLI\n\n- [Agent Tree vs Braintrust API + MCP](https://www.anchorterminal.com/compare/agent-tree-vs-braintrust.md)\n- [agents-tree vs Braintrust API + MCP](https://www.anchorterminal.com/compare/agents-tree-vs-braintrust.md)\n- [Arize Phoenix vs Braintrust API + MCP](https://www.anchorterminal.com/compare/arize-phoenix-vs-braintrust.md)\n- [Baserun vs Braintrust API + MCP](https://www.anchorterminal.com/compare/baserun-vs-braintrust.md)\n- [BotGauge vs Braintrust API + MCP](https://www.anchorterminal.com/compare/botgauge-vs-braintrust.md)\n- [Braintrust API + MCP vs DeepEval](https://www.anchorterminal.com/compare/braintrust-vs-deepeval.md)\n- [Braintrust API + MCP vs Galileo API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-galileo.md)\n- [Braintrust API + MCP vs Helicone AI Gateway + MCP](https://www.anchorterminal.com/compare/braintrust-vs-helicone.md)\n- [Braintrust API + MCP vs HoneyHive](https://www.anchorterminal.com/compare/braintrust-vs-honeyhive.md)\n- [Braintrust API + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-laminar.md)\n- [Braintrust API + MCP vs Langfuse API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-langfuse.md)\n- [Braintrust API + MCP vs LangSmith API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-langsmith.md)\n- [Braintrust API + MCP vs LangWatch](https://www.anchorterminal.com/compare/braintrust-vs-langwatch.md)\n- [Braintrust API + MCP vs MLflow Tracing](https://www.anchorterminal.com/compare/braintrust-vs-mlflow-tracing.md)\n- [Braintrust API + MCP vs Navige](https://www.anchorterminal.com/compare/braintrust-vs-navige.md)\n- [Braintrust API + MCP vs Opik API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-opik.md)\n- [Braintrust API + MCP vs Overmind](https://www.anchorterminal.com/compare/braintrust-vs-overmind.md)\n- [Braintrust API + MCP vs Prefactor](https://www.anchorterminal.com/compare/braintrust-vs-prefactor.md)\n- [Braintrust API + MCP vs Pydantic Logfire](https://www.anchorterminal.com/compare/braintrust-vs-pydantic-logfire.md)\n- [Braintrust API + MCP vs Respan API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-respan.md)\n- [Braintrust API + MCP vs W\u0026B Weave](https://www.anchorterminal.com/compare/braintrust-vs-wandb-weave.md)\n- [Arize Phoenix vs Gauge CLI](https://www.anchorterminal.com/compare/arize-phoenix-vs-gauge-cli.md)\n- [Baserun vs Gauge CLI](https://www.anchorterminal.com/compare/baserun-vs-gauge-cli.md)\n- [BotGauge vs Gauge CLI](https://www.anchorterminal.com/compare/botgauge-vs-gauge-cli.md)\n- [DeepEval vs Gauge CLI](https://www.anchorterminal.com/compare/deepeval-vs-gauge-cli.md)\n- [Galileo API + MCP vs Gauge CLI](https://www.anchorterminal.com/compare/galileo-vs-gauge-cli.md)\n- [Gauge CLI vs Helicone AI Gateway + MCP](https://www.anchorterminal.com/compare/gauge-cli-vs-helicone.md)\n- [Gauge CLI vs HoneyHive](https://www.anchorterminal.com/compare/gauge-cli-vs-honeyhive.md)\n- [Gauge CLI vs Laminar API + MCP](https://www.anchorterminal.com/compare/gauge-cli-vs-laminar.md)\n- [Gauge CLI vs Langfuse API + MCP](https://www.anchorterminal.com/compare/gauge-cli-vs-langfuse.md)\n- [Gauge CLI vs LangSmith API + MCP](https://www.anchorterminal.com/compare/gauge-cli-vs-langsmith.md)\n- [Gauge CLI vs LangWatch](https://www.anchorterminal.com/compare/gauge-cli-vs-langwatch.md)\n- [Gauge CLI vs MLflow Tracing](https://www.anchorterminal.com/compare/gauge-cli-vs-mlflow-tracing.md)\n- [Gauge CLI vs Opik API + MCP](https://www.anchorterminal.com/compare/gauge-cli-vs-opik.md)\n- [Gauge CLI vs Overmind](https://www.anchorterminal.com/compare/gauge-cli-vs-overmind.md)\n- [Gauge CLI vs Prefactor](https://www.anchorterminal.com/compare/gauge-cli-vs-prefactor.md)\n- [Gauge CLI vs Pydantic Logfire](https://www.anchorterminal.com/compare/gauge-cli-vs-pydantic-logfire.md)\n- [Gauge CLI vs Respan API + MCP](https://www.anchorterminal.com/compare/gauge-cli-vs-respan.md)\n- [Gauge CLI vs W\u0026B Weave](https://www.anchorterminal.com/compare/gauge-cli-vs-wandb-weave.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-06",
    "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": "Braintrust API + MCP vs Gauge CLI",
        "url": ""
      }
    ],
    "description": "Braintrust scores 65.1 (B) to Gauge CLI's 60.4 (C) for evaluations. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Braintrust API + MCP B 65.1",
      "Gauge CLI C 60.4",
      "scores"
    ],
    "h1": "Braintrust API + MCP vs Gauge CLI",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/braintrust-vs-gauge-cli",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Braintrust vs Gauge CLI for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-06",
    "url": "https://www.anchorterminal.com/compare/braintrust-vs-gauge-cli"
  },
  "tokens": {
    "markdown": 4300,
    "slim": 2130
  },
  "version": 1
}
