{
  "data": {
    "a": {
      "slug": "braze",
      "name": "Braze",
      "vendor": "Braze, Inc.",
      "vendorUrl": "https://www.braze.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "Braze is a hosted engagement platform that stores customer profiles and events, builds segments and sends campaigns and Canvas journeys by email, SMS, push and in-app message. Agents reach it through a REST API and an official remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/braze",
      "markdownUrl": "https://www.anchorterminal.com/tools/braze.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/braze.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/braze.json",
      "license": "Proprietary service under Braze's Main Subscription Agreement. The deprecated local MCP server on PyPI is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.braze.com/mcp",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Access follows a Braze contract or trial, with no app review or partner approval. The REST API takes a workspace API key as a Bearer header at the instance's own host (15 instances, such as https://rest.iad-01.braze.com). A dashboard user creates the key with per-endpoint permissions such as `users.track` or `campaigns.list` and an optional IP allowlist, and neither can be edited afterwards. The remote MCP server takes only OAuth (authorisation code with PKCE S256, dynamic client registration, scopes `mcp:tools`, `mcp:resources` and `mcp:operator`). A company admin must turn on MCP OAuth access, each user needs the Use MCP Server permission per workspace, and calls run with that user's dashboard permissions. Companies that use IP allowlisting can't use the MCP server.",
      "pricing": "paid",
      "pricingNotes": "No public prices. Braze sells four editions (Go, Select, Pro, Enterprise) by contract, sized by monthly active users and Action Credits, and the pricing page says there is no free plan. A 14-day free trial is open at try.braze.com, and we couldn't read whether it asks for a card. There's no separate sandbox, and API and MCP calls aren't priced on their own (https://www.braze.com/pricing, checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the MCP pages or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 71,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.braze.com/docs/api/home",
      "llmsTxt": "https://www.braze.com/llms.txt",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.campaigns",
        "marketing.journeys",
        "marketing.segments"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "api-key",
        "closed-source",
        "llms-txt",
        "sales-led",
        "enterprise",
        "eu-region",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-17",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.2,
        "grade": "C",
        "agentReady": false,
        "rank": 371,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 50,
          "maintenance": 69,
          "payments": 10,
          "reliability": 70,
          "schema": 68,
          "security": 77,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API covers profiles, events, sends and exports with keys limited to named endpoints, and the remote MCP server adds 71 tools under OAuth with PKCE that return no user-level personal data. No OpenAPI document, idempotency keys, published price or SLA were found, and MCP writes run without a confirmation step.",
        "bestFor": "A company already on Braze that wants an agent to read campaign and Canvas results, manage catalogues and templates through MCP, or write profiles and trigger sends through REST.",
        "strengths": [
          "REST API keys carry per-endpoint permissions and optional IP allowlists, and a key's scope can't be edited after creation",
          "Remote MCP server with OAuth, PKCE S256, dynamic client registration and three scopes, generally available since 17 September 2026",
          "MCP tools return no user-level personal data, and the Use MCP Server permission is off by default for each workspace",
          "Rate limits published per endpoint, with `X-RateLimit-Limit`, `-Remaining` and `-Reset` headers on every response",
          "Sub-processor list of 1 June 2026 with locations, 30 days' notice of additions and hosting regions named for six countries or regions"
        ],
        "weaknesses": [
          "No public prices. Editions, monthly active users and Action Credits are sold by contract, and the pricing page says there is no free plan",
          "No OpenAPI document found. The machine-readable contract is a public Postman collection",
          "No idempotency keys on sends or `/users/track`, and Braze says it can't replay REST calls that fail during an incident",
          "71 MCP tools with no documented toolsets, 21 of them limited to beta programmes",
          "Edits made through individual MCP update tools don't appear in campaign edit history, and Operator Connect acts without per-step approval"
        ],
        "agentNotes": [
          "Use the REST host for the customer's instance, such as https://rest.iad-01.braze.com or https://rest.fra-01.braze.eu. A key sent to the wrong instance returns 401",
          "Create a REST key with only the permissions the task needs. Scope and IP allowlist can't be edited later, so a change means a new key",
          "Call `get_workspaces` first on MCP. Every other tool needs the returned workspace id as `app_group_id`, and the wrong workspace is a documented failure",
          "Use REST for profiles, events and sends. The MCP server has no user-level tools and can't trigger a message to a named user",
          "Treat `\"message\": \"success\"` as queued, not delivered. Add a `group_id` to `/users/track` and poll `/users/track/status`, and don't resend a trigger call blindly"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.2
          }
        ],
        "editorialScores": {
          "ergonomics": 50,
          "maintenance": 69,
          "payments": 10,
          "reliability": 70,
          "schema": 68,
          "security": 77,
          "transparency": 69
        },
        "provenanceScore": 96
      },
      "connect": {
        "http": "curl --location -g --request GET 'https://rest.iad-01.braze.com/campaigns/list?page=0\u0026include_archived=false\u0026sort_direction=desc' \\\n--header 'Authorization: Bearer YOUR-REST-API-KEY'",
        "config": {
          "mcpServers": {
            "braze": {
              "url": "https://mcp.braze.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/braze"
      },
      "area": "communication",
      "provenance": {
        "legalEntity": "Braze, Inc.",
        "domain": "braze.com",
        "domainRegistered": "2000-01-19",
        "endpointOnVendorDomain": true,
        "terms": "https://www.braze.com/company/legal/terms",
        "privacy": "https://www.braze.com/company/legal/privacy",
        "statusPage": "https://status.braze.com",
        "changelog": "https://www.braze.com/docs/releases/home",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Main Subscription Agreement (last updated 13 October 2025) names Braze, Inc., and the privacy policy (last updated 23 June 2026) says it is a U.S. company headquartered in New York.",
          "REST hosts are on braze.com for the US, Australia, Indonesia, Japan and South Korea and on braze.eu for the EU. The MCP server is at mcp.braze.com and mcp.braze.eu.",
          "www.braze.com/.well-known/security.txt expires 2031-01-01, gives security@braze.com and points its policy to hackerone.com/braze_inc.",
          "status.braze.com redirects to braze.statuspage.io.",
          "RDAP for braze.com gives a registration date of 2000-01-19.",
          "The DPA (revision 28 August 2025), the sub-processor list (1 June 2026) and the security datasheet (14 April 2026) are PDFs linked from braze.com/company/legal."
        ],
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/braze.json",
      "live": {
        "slug": "braze",
        "probe": {
          "target": "https://mcp.braze.com/mcp",
          "method": "get",
          "lastAt": "2026-10-08T19:52:46.731137367Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 256,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 264,
          "p95ms24h": 319,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.braze.com",
          "indicator": "maintenance",
          "summary": "Service Under Maintenance",
          "checkedAt": "2026-10-08T19:50:27.587336188Z"
        },
        "securityTxt": {
          "url": "https://braze.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2031-01-01T04:59:00.000Z",
          "checkedAt": "2026-10-08T15:39:06.359227057Z"
        },
        "pages": [
          {
            "url": "https://www.braze.com/docs/releases/home",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:48.434408153Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c84a0deb311a"
          },
          {
            "url": "https://www.braze.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:50.345609932Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "90f9bf6b6c9c"
          },
          {
            "url": "https://www.braze.com/company/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:44.004338511Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2328a04f813f"
          },
          {
            "url": "https://www.braze.com/company/legal/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:46.13034848Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "066935a8590e"
          }
        ],
        "updatedAt": "2026-10-08T19:52:46.731137367Z"
      }
    },
    "answer": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against Braze's 61.2 (C), and leads in 5 of 7 scored categories.",
    "b": {
      "slug": "klaviyo",
      "name": "Klaviyo API + MCP",
      "vendor": "Klaviyo, Inc.",
      "vendorUrl": "https://www.klaviyo.com",
      "kind": "http-api",
      "category": "lifecycle-marketing",
      "summary": "Klaviyo is a marketing platform that holds customer profiles and events and sends email, SMS, WhatsApp and push campaigns and flows. Agents reach it through a JSON:API REST API and an official hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/klaviyo",
      "markdownUrl": "https://www.anchorterminal.com/tools/klaviyo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/klaviyo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/klaviyo.json",
      "repo": "https://github.com/klaviyo/openapi",
      "license": "Proprietary service under Klaviyo's terms of service and API terms. The OpenAPI repository and the klaviyo-api SDKs are MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://a.klaviyo.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "klaviyo-api"
        },
        {
          "registry": "npm",
          "name": "klaviyo-api"
        },
        {
          "registry": "pypi",
          "name": "klaviyo-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access is self-serve. An Owner, Admin or Manager creates a private key under Settings, API keys, as read-only, full or custom with per-API scopes, and sends it as `Authorization: Klaviyo-API-Key \u003ckey\u003e` with a `revision` header. A key's scopes can't be edited later. OAuth apps use the authorisation code grant with PKCE and scopes such as `profiles:read`, and need Klaviyo's app review only to be listed in the App Marketplace. The hosted MCP server takes OAuth with dynamic client registration, and the local one takes a private key.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with up to 250 active profiles, 500 email sends and $5 of mobile messages a month, with no time limit, so an agent's owner can start without a contract. Paid plans scale with active profiles through a calculator, from $20 a month for email at 251 to 500 profiles per the page's structured data. API calls aren't metered. Test accounts are free to create but are billed like any account (https://www.klaviyo.com/pricing, checked 2026-10-08).",
      "priceSummary": "$20 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI spec or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 274,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 152521,
        "pypiWeekly": 73844,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.klaviyo.com/en",
      "llmsTxt": "https://www.klaviyo.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/klaviyo/openapi/main/openapi/stable.json",
      "capabilities": [
        "marketing.profiles",
        "marketing.events",
        "marketing.segments",
        "marketing.campaigns",
        "marketing.journeys",
        "email.templates"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "closed-source",
        "oauth",
        "openapi",
        "llms-txt",
        "free-tier",
        "python",
        "typescript",
        "php",
        "ruby",
        "status-page",
        "soc2",
        "webhooks"
      ],
      "lastRelease": "2026-07-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 103,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 77,
          "payments": 25,
          "reliability": 67,
          "schema": 87,
          "security": 84,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API has a public OpenAPI 3 description of 345 operations, scoped keys and OAuth, and dated revisions supported for two years. The hosted MCP server lists 274 tools with a read-only switch. No approval step before a campaign send was found in the reviewed documentation, and no SLA is published.",
        "bestFor": "Consumer brands already on Klaviyo that want an agent to read campaign and flow results, manage profiles, events and segments, and draft campaigns.",
        "strengths": [
          "Public OpenAPI 3.0.2 description of 345 operations, each with its rate limit and required scopes, in an MIT repository updated on 7 October 2026",
          "Private keys can be read-only, full or custom per API, and OAuth tokens carry `resource:access` scopes with PKCE",
          "Each dated revision is stable for one year and deprecated for one more before retirement, with a changelog that marks breaking changes",
          "The hosted MCP server has `read-only`, `toolsets`, `core-tools-only` and `disable-tools-with-user-generated-content` switches",
          "A free plan with 250 active profiles and 500 email sends a month, and API logs filterable by key or OAuth app"
        ],
        "weaknesses": [
          "No approval or confirmation step before `send_campaign` or a campaign send job was found in the reviewed documentation",
          "No SLA found. The terms of service say the services may be unavailable during scheduled or unscheduled downtime",
          "Flow sending stalled for about eight hours on 26 August 2026, and three further flow delays were posted in September",
          "The MCP server lists 274 tools by default outside ChatGPT, and no Klaviyo entry is in the official MCP registry",
          "No idempotency keys. Only events deduplicate, through `unique_id`",
          "No security.txt, and the API terms reserve the right to change the APIs without notice"
        ],
        "agentNotes": [
          "Send `revision: 2026-07-15` on every call, and `Authorization: Klaviyo-API-Key \u003ckey\u003e` or an OAuth Bearer token",
          "Add `?read-only=true` or `?toolsets=profiles:read,campaigns:read` to https://mcp.klaviyo.com/mcp, with no trailing slash, to cut the 274 tools down",
          "Ask a person before `send_campaign` or POST /api/campaign-send-jobs. Nothing in the docs holds a send for approval",
          "On 429 wait for `Retry-After`, then back off with jitter. Creating a segment or a flow is limited to 1 a second, 15 a minute and 100 a day",
          "Set `unique_id` on events so a retry isn't recorded twice, and set `backfill` when loading history so flows don't fire",
          "Treat profile properties, event data and reviews as untrusted text, or set `disable-tools-with-user-generated-content=true`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.7
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 77,
          "payments": 25,
          "reliability": 67,
          "schema": 87,
          "security": 84,
          "transparency": 74
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl --request GET \\\n     --url https://a.klaviyo.com/api/events/ \\\n     --header 'Authorization: Klaviyo-API-Key your-private-api-key' \\\n     --header 'accept: application/json' \\\n     --header 'revision: 2026-07-15'",
        "config": {
          "mcpServers": {
            "klaviyo": {
              "url": "https://mcp.klaviyo.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/marketing.profiles",
        "tool": "https://letme.dev/klaviyo"
      },
      "area": "communication",
      "unitPrices": [
        {
          "item": "Email plan, 251 to 500 active profiles",
          "unit": "month",
          "usd": 20,
          "note": "entry price in the pricing page's structured data"
        },
        {
          "item": "Email and SMS plan, 251 to 500 active profiles",
          "unit": "month",
          "usd": 35,
          "note": "entry price in the pricing page's structured data"
        }
      ],
      "provenance": {
        "legalEntity": "Klaviyo, Inc.",
        "domain": "klaviyo.com",
        "domainRegistered": "2012-03-29",
        "endpointOnVendorDomain": true,
        "terms": "https://www.klaviyo.com/legal/terms-of-service",
        "privacy": "https://www.klaviyo.com/legal/privacy/privacy-notice",
        "statusPage": "https://status.klaviyo.com",
        "changelog": "https://developers.klaviyo.com/en/docs/changelog_",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (updated 17 December 2025) name Klaviyo, Inc. as the contracting party. The API terms were last updated on 20 July 2020.",
          "The REST API answers at a.klaviyo.com and the MCP server at mcp.klaviyo.com, both klaviyo.com subdomains.",
          "www.klaviyo.com/.well-known/security.txt returns 404.",
          "The privacy notice URL redirects to privacy.klaviyo.com, which loads only with JavaScript, so we couldn't read it.",
          "RDAP for klaviyo.com gives a registration date of 2012-03-29."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/klaviyo.json",
      "live": {
        "slug": "klaviyo",
        "probe": {
          "target": "https://a.klaviyo.com",
          "method": "get",
          "lastAt": "2026-10-08T19:52:53.444071183Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 553,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 539,
          "p95ms24h": 729,
          "samples24h": 50,
          "samples30d": 50,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.klaviyo.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:47.502857093Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "klaviyo/openapi",
            "version": "v2",
            "released": "2022-11-16",
            "seenAt": "2026-10-08T16:17:53.207333725Z"
          },
          {
            "registry": "npm",
            "name": "klaviyo-api",
            "version": "23.0.0",
            "seenAt": "2026-10-08T16:17:49.719568487Z"
          },
          {
            "registry": "pypi",
            "name": "klaviyo-api",
            "version": "24.0.0",
            "released": "2026-07-15",
            "seenAt": "2026-10-08T16:17:49.529842574Z"
          },
          {
            "registry": "pypi",
            "name": "klaviyo-mcp-server",
            "version": "0.4.1",
            "released": "2026-03-05",
            "seenAt": "2026-10-08T16:17:53.127386423Z"
          }
        ],
        "githubStars": 21,
        "npmWeekly": 152521,
        "pypiWeekly": 73844,
        "securityTxt": {
          "url": "https://klaviyo.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:58.45995502Z"
        },
        "pages": [
          {
            "url": "https://developers.klaviyo.com/en/docs/changelog_",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:48.075039972Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "af6f91e28a48"
          },
          {
            "url": "https://www.klaviyo.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:42.450662333Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "087b1654a494"
          },
          {
            "url": "https://www.klaviyo.com/legal/privacy/privacy-notice",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:37.884374738Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://www.klaviyo.com/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:28:40.334402221Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ec22ddbbe5eb"
          }
        ],
        "updatedAt": "2026-10-08T19:52:53.444071183Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Braze, Inc.",
        "b": "Klaviyo, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.braze.com/mcp",
        "b": "https://a.klaviyo.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$20 per month (plan)",
        "name": "Price for marketing profiles"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Braze's Main Subscription Agreement. The deprecated local MCP server on PyPI is MIT",
        "b": "Proprietary service under Klaviyo's terms of service and API terms. The OpenAPI repository and the klaviyo-api SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "71",
        "b": "274",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-17",
        "b": "2026-07-15",
        "name": "Last release"
      },
      {
        "a": "2025-10-13",
        "b": "2025-12-17",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-23",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "153k npm/wk, 74k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against Braze's 61.2 (C), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Braze or Klaviyo API + MCP?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Braze and Klaviyo API + MCP need an API key?"
      },
      {
        "answer": "Yes. Braze has a hosted endpoint at https://mcp.braze.com/mcp and Klaviyo API + MCP at https://a.klaviyo.com.",
        "question": "Can an agent call Braze and Klaviyo API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A company already on Braze that wants an agent to read campaign and Canvas results, manage catalogues and templates through MCP, or write profiles and trigger sends through REST.",
        "slug": "braze",
        "watchFor": "No public prices. Editions, monthly active users and Action Credits are sold by contract, and the pricing page says there is no free plan"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 87 against 68",
          "Agent ergonomics, 78 against 50",
          "Security \u0026 auth, 84 against 77",
          "Payments \u0026 pricing, 25 against 10",
          "Maintenance \u0026 community, 77 against 69"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "Consumer brands already on Klaviyo that want an agent to read campaign and flow results, manage profiles, events and segments, and draft campaigns.",
        "slug": "klaviyo",
        "watchFor": "No approval or confirmation step before `send_campaign` or a campaign send job was found in the reviewed documentation"
      }
    ],
    "job": {
      "capability": "marketing.profiles",
      "name": "Marketing profiles"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/activecampaign-vs-braze.json",
        "title": "ActiveCampaign vs Braze",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-braze"
      },
      {
        "json": "https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo.json",
        "title": "ActiveCampaign vs Klaviyo API + MCP",
        "url": "https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braze-vs-customer-io.json",
        "title": "Braze vs Customer.io",
        "url": "https://www.anchorterminal.com/compare/braze-vs-customer-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braze-vs-iterable.json",
        "title": "Braze vs Iterable",
        "url": "https://www.anchorterminal.com/compare/braze-vs-iterable"
      },
      {
        "json": "https://www.anchorterminal.com/compare/customer-io-vs-klaviyo.json",
        "title": "Customer.io vs Klaviyo API + MCP",
        "url": "https://www.anchorterminal.com/compare/customer-io-vs-klaviyo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/iterable-vs-klaviyo.json",
        "title": "Iterable vs Klaviyo API + MCP",
        "url": "https://www.anchorterminal.com/compare/iterable-vs-klaviyo"
      }
    ],
    "scores": [
      {
        "braze": 70,
        "by": 3,
        "edge": "braze",
        "key": "reliability",
        "klaviyo": 67,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "braze": 68,
        "by": 19,
        "edge": "klaviyo",
        "key": "schema",
        "klaviyo": 87,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "braze": 50,
        "by": 28,
        "edge": "klaviyo",
        "key": "ergonomics",
        "klaviyo": 78,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "braze": 77,
        "by": 7,
        "edge": "klaviyo",
        "key": "security",
        "klaviyo": 84,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "braze": 10,
        "by": 15,
        "edge": "klaviyo",
        "key": "payments",
        "klaviyo": 25,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "braze": 69,
        "by": 8,
        "edge": "klaviyo",
        "key": "maintenance",
        "klaviyo": 77,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "braze": 83,
        "by": 4,
        "edge": "braze",
        "key": "transparency",
        "klaviyo": 79,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against Braze's 61.2 (C), and leads in 5 of 7 scored categories. Both do marketing profiles.",
    "verdicts": {
      "braze": "The REST API covers profiles, events, sends and exports with keys limited to named endpoints, and the remote MCP server adds 71 tools under OAuth with PKCE that return no user-level personal data. No OpenAPI document, idempotency keys, published price or SLA were found, and MCP writes run without a confirmation step.",
      "klaviyo": "The REST API has a public OpenAPI 3 description of 345 operations, scoped keys and OAuth, and dated revisions supported for two years. The hosted MCP server lists 274 tools with a read-only switch. No approval step before a campaign send was found in the reviewed documentation, and no SLA is published."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/braze-vs-klaviyo",
    "json": "https://www.anchorterminal.com/compare/braze-vs-klaviyo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/braze-vs-klaviyo.md",
    "slim": "https://www.anchorterminal.com/compare/braze-vs-klaviyo.min.md"
  },
  "markdown": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against Braze's 61.2 (C), and leads in 5 of 7 scored categories. Both do marketing profiles.\n\n- Braze: grade C, 61.2/100, rank #371 of 722. Markdown https://www.anchorterminal.com/tools/braze.md · JSON https://www.anchorterminal.com/api/v1/tools/braze.json\n- Klaviyo API + MCP: grade BB, 71.7/100, rank #103 of 722. Markdown https://www.anchorterminal.com/tools/klaviyo.md · JSON https://www.anchorterminal.com/api/v1/tools/klaviyo.json\n\n## Which one, for what\n\n### Braze (C)\n\nGood for: A company already on Braze that wants an agent to read campaign and Canvas results, manage catalogues and templates through MCP, or write profiles and trigger sends through REST.\n\nWatch for: No public prices. Editions, monthly active users and Action Credits are sold by contract, and the pricing page says there is no free plan\n\n### Klaviyo API + MCP (BB)\n\nGood for: Consumer brands already on Klaviyo that want an agent to read campaign and flow results, manage profiles, events and segments, and draft campaigns.\n\nAhead on:\n- Schema \u0026 documentation, 87 against 68\n- Agent ergonomics, 78 against 50\n- Security \u0026 auth, 84 against 77\n- Payments \u0026 pricing, 25 against 10\n- Maintenance \u0026 community, 77 against 69\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: No approval or confirmation step before `send_campaign` or a campaign send job was found in the reviewed documentation\n\n\n## Score by category\n\n| Category | Weight | Braze | Klaviyo API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 67 | Braze +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 87 | Klaviyo API + MCP +19 |\n| Agent ergonomics | 13% (16.2 this run) | 50 | 78 | Klaviyo API + MCP +28 |\n| Security \u0026 auth | 14% (17.5 this run) | 77 | 84 | Klaviyo API + MCP +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 25 | Klaviyo API + MCP +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 77 | Klaviyo API + MCP +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 79 | Braze +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.2 · C** | **71.7 · BB** | |\n\n## Facts side by side\n\n| Fact | Braze | Klaviyo API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Braze, Inc. | Klaviyo, Inc. |\n| Hosted endpoint | `https://mcp.braze.com/mcp` | `https://a.klaviyo.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| Price for marketing profiles | not published | $20 per month (plan) |\n| x402 | no | no |\n| Licence | Proprietary service under Braze's Main Subscription Agreement. The deprecated local MCP server on PyPI is MIT | Proprietary service under Klaviyo's terms of service and API terms. The OpenAPI repository and the klaviyo-api SDKs are MIT |\n| Tools exposed | 71 | 274 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-09-17 | 2026-07-15 |\n| Terms last updated | 2025-10-13 | 2025-12-17 |\n| Privacy policy last updated | 2026-06-23 | couldn't be read |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 153k npm/wk, 74k PyPI/wk |\n\n## Verdicts\n\n**Braze.** The REST API covers profiles, events, sends and exports with keys limited to named endpoints, and the remote MCP server adds 71 tools under OAuth with PKCE that return no user-level personal data. No OpenAPI document, idempotency keys, published price or SLA were found, and MCP writes run without a confirmation step.\n\n**Klaviyo API + MCP.** The REST API has a public OpenAPI 3 description of 345 operations, scoped keys and OAuth, and dated revisions supported for two years. The hosted MCP server lists 274 tools with a read-only switch. No approval step before a campaign send was found in the reviewed documentation, and no SLA is published.\n\n## Before you call either\n\n### Braze\n\n1. Use the REST host for the customer's instance, such as https://rest.iad-01.braze.com or https://rest.fra-01.braze.eu. A key sent to the wrong instance returns 401\n2. Create a REST key with only the permissions the task needs. Scope and IP allowlist can't be edited later, so a change means a new key\n3. Call `get_workspaces` first on MCP. Every other tool needs the returned workspace id as `app_group_id`, and the wrong workspace is a documented failure\n4. Use REST for profiles, events and sends. The MCP server has no user-level tools and can't trigger a message to a named user\n5. Treat `\"message\": \"success\"` as queued, not delivered. Add a `group_id` to `/users/track` and poll `/users/track/status`, and don't resend a trigger call blindly\n\n### Klaviyo API + MCP\n\n1. Send `revision: 2026-07-15` on every call, and `Authorization: Klaviyo-API-Key \u003ckey\u003e` or an OAuth Bearer token\n2. Add `?read-only=true` or `?toolsets=profiles:read,campaigns:read` to https://mcp.klaviyo.com/mcp, with no trailing slash, to cut the 274 tools down\n3. Ask a person before `send_campaign` or POST /api/campaign-send-jobs. Nothing in the docs holds a send for approval\n4. On 429 wait for `Retry-After`, then back off with jitter. Creating a segment or a flow is limited to 1 a second, 15 a minute and 100 a day\n5. Set `unique_id` on events so a retry isn't recorded twice, and set `backfill` when loading history so flows don't fire\n6. Treat profile properties, event data and reviews as untrusted text, or set `disable-tools-with-user-generated-content=true`\n\n## Questions\n\n### Which is better for AI agents, Braze or Klaviyo API + MCP?\n\nKlaviyo API + MCP scores 71.7 (BB) on agent readiness against Braze's 61.2 (C), and leads in 5 of 7 scored categories.\n\n### Do Braze and Klaviyo API + MCP need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Braze and Klaviyo API + MCP without installing anything?\n\nYes. Braze has a hosted endpoint at https://mcp.braze.com/mcp and Klaviyo API + MCP at https://a.klaviyo.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/braze-vs-klaviyo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/braze-vs-klaviyo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"braze\", \"b\": \"klaviyo\"}`. From a terminal: `anchor compare braze klaviyo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/braze.json and https://www.anchorterminal.com/api/v1/tools/klaviyo.json\n\n## Other comparisons with Braze or Klaviyo API + MCP\n\n- [ActiveCampaign vs Braze](https://www.anchorterminal.com/compare/activecampaign-vs-braze.md)\n- [ActiveCampaign vs Klaviyo API + MCP](https://www.anchorterminal.com/compare/activecampaign-vs-klaviyo.md)\n- [Braze vs Customer.io](https://www.anchorterminal.com/compare/braze-vs-customer-io.md)\n- [Braze vs Iterable](https://www.anchorterminal.com/compare/braze-vs-iterable.md)\n- [Customer.io vs Klaviyo API + MCP](https://www.anchorterminal.com/compare/customer-io-vs-klaviyo.md)\n- [Iterable vs Klaviyo API + MCP](https://www.anchorterminal.com/compare/iterable-vs-klaviyo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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": "Braze vs Klaviyo API + MCP",
        "url": ""
      }
    ],
    "description": "Klaviyo API + MCP scores 71.7 (BB) on agent readiness against Braze's 61.2 (C), and leads in 5 of 7 scored categories. Both do marketing profiles. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Braze C 61.2",
      "Klaviyo API + MCP BB 71.7",
      "scores"
    ],
    "h1": "Braze vs Klaviyo API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-braze-vs-klaviyo.png",
    "path": "/compare/braze-vs-klaviyo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Braze vs Klaviyo API + MCP for AI agents, C 61.2 vs BB 71.7",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/braze-vs-klaviyo"
  },
  "tokens": {
    "markdown": 2100,
    "slim": 680
  },
  "version": 1
}
