{
  "data": {
    "a": {
      "slug": "flagsmith",
      "name": "Flagsmith",
      "vendor": "Bullet Train Ltd",
      "vendorUrl": "https://www.flagsmith.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Flagsmith is an open-source feature flag, remote config and experimentation service from Bullet Train Ltd. Teams use it on Flagsmith Cloud or self-hosted, through SDKs, a Management API and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/flagsmith",
      "markdownUrl": "https://www.anchorterminal.com/tools/flagsmith.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/flagsmith.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flagsmith.json",
      "dns": "flagsmith.grade.anchorterminal.com",
      "repo": "https://github.com/Flagsmith/flagsmith",
      "license": "BSD-3-Clause",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.flagsmith.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "flagsmith"
        },
        {
          "registry": "npm",
          "name": "flagsmith"
        }
      ],
      "auth": "mixed",
      "authNotes": "The hosted MCP server takes OAuth (the client discovers Flagsmith as the authorisation server and a person signs in) or an Organisation API key sent as `Authorization: Api-Key \u003ckey\u003e`. Organisation keys act as full organisation admin or with chosen RBAC roles; granular roles need Scale-Up or Enterprise. OIDC trust relationships let CI workloads such as GitHub Actions exchange their token for a short-lived one. SDK environment keys are separate.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 50,000 requests a month and one team member. Start-Up is $45 a month ($40 billed yearly) for 1,000,000 requests and three members, Scale-Up $300 a month ($250 yearly) for 5,000,000. Enterprise by quote. Extra API calls from $50 per million; the page also quotes $7 per 100,000 for Start-Up. The self-hosted edition is free under BSD-3-Clause.",
      "priceSummary": "$45 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI spec or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 54,
      "popularity": {
        "githubStars": 6639,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.flagsmith.com/",
      "openapi": "https://github.com/Flagsmith/flagsmith/blob/main/openapi.yaml",
      "capabilities": [
        "analytics.flags",
        "analytics.experiments",
        "analytics.events"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "self-hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "openapi",
        "free-tier",
        "status-page",
        "soc2",
        "sla",
        "python",
        "typescript"
      ],
      "lastRelease": "2026-11-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.2,
        "grade": "C",
        "agentReady": false,
        "rank": 620,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 55,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 67,
          "security": 65,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -2,
        "negativeNotes": [
          "6 November 2026. The self-hosted API sends a heartbeat to https://api.flagsmith.com/api/v1/analytics/telemetry/ with counts of organisations, projects, environments, feature flags, segments and users, on by default (`ENABLE_TELEMETRY = env.bool(\"ENABLE_TELEMETRY\", default=True)`). The flag isn't in the environment-variable reference or anywhere else in the docs we read. Counts only, self-hosted only, so the minimum deduction (https://github.com/Flagsmith/flagsmith/blob/main/api/app/settings/common.py ; https://github.com/Flagsmith/flagsmith/blob/main/api/telemetry/telemetry.py)."
        ],
        "verdict": "Flagsmith pairs a BSD-licensed core with a hosted MCP server whose 54 tools come from its OpenAPI spec and carry read and destructive hints. A public 99.95 per cent SLA and SOC 2 report back the Cloud service. The MCP server is still an early release, and fine-grained key roles need a paid Scale-Up or Enterprise plan.",
        "bestFor": "Feature flags and experiments for teams that want open source or self-hosting, managed by an agent through MCP.",
        "strengths": [
          "Hosted MCP server at mcp.flagsmith.com with OAuth or an Organisation API key, and a stdio option for local use",
          "Each of the 54 MCP tools has readOnlyHint, destructiveHint and idempotentHint set from its HTTP method",
          "Public SLA of 99.95 per cent monthly uptime with service credits, and a status page with component history",
          "BSD-3-Clause source with a free self-hosted edition and 34 tagged releases in the last 90 days",
          "OIDC trust relationships let CI jobs get short-lived Management API tokens without stored secrets"
        ],
        "weaknesses": [
          "The MCP docs call the server an early release, and experiment tools are marked beta",
          "54 tools load at once, with no toolsets or read-only mode on the server",
          "Granular API key roles, change requests and audit logs need Scale-Up or Enterprise",
          "No llms.txt, no documented 429 handling, and few documented error responses in the spec",
          "Self-hosted installs send a usage heartbeat by default through a flag the docs don't mention"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Api-Key \u003ckey\u003e`; the `Api-Key ` prefix is required and a bare key fails",
          "Check whether the environment uses v2 feature versioning before choosing between segment-override and version-state tools",
          "Use a key with a read-only RBAC role for analysis tasks, since a Free plan key has organisation admin rights",
          "Pace Management API calls under 500 a minute; no Retry-After guidance is documented",
          "Treat experiment results as possibly null until Flagsmith has computed them"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.2
          }
        ],
        "editorialScores": {
          "ergonomics": 55,
          "maintenance": 83,
          "payments": 40,
          "reliability": 65,
          "schema": 67,
          "security": 65,
          "transparency": 67
        },
        "provenanceScore": 86,
        "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": {
        "http": "curl -H \"Authorization: Api-Key $FLAGSMITH_ORG_KEY\" https://api.flagsmith.com/api/v1/projects/",
        "claudeCode": "claude mcp add --transport http flagsmith https://mcp.flagsmith.com",
        "config": {
          "mcpServers": {
            "flagsmith": {
              "headers": {
                "Authorization": "Api-Key \u003cyour-api-key\u003e"
              },
              "url": "https://mcp.flagsmith.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.flags",
        "tool": "https://letme.dev/flagsmith"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Start-Up plan",
          "unit": "month",
          "usd": 45,
          "note": "1,000,000 requests and 3 team members; $40 a month billed yearly"
        },
        {
          "item": "Scale-Up plan",
          "unit": "month",
          "usd": 300,
          "note": "5,000,000 requests and 5 team members; $250 a month billed yearly"
        },
        {
          "item": "Extra API calls",
          "unit": "1k-requests",
          "usd": 0.05,
          "note": "From $50 per million, lower with volume"
        },
        {
          "item": "Extra Scale-Up team member",
          "unit": "seat-month",
          "usd": 50,
          "note": "Up to 20 members"
        }
      ],
      "provenance": {
        "legalEntity": "Bullet Train Ltd",
        "domain": "flagsmith.com",
        "domainRegistered": "2018-03-01",
        "endpointOnVendorDomain": true,
        "terms": "https://www.flagsmith.com/terms-of-service",
        "privacy": "https://www.flagsmith.com/privacy-policy",
        "statusPage": "https://status.flagsmith.com",
        "changelog": "https://github.com/Flagsmith/flagsmith/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms of service name Bullet Train Limited trading as Flagsmith, company number 12353266, registered at 66 Paul St, London, under the laws of England and Wales. Companies House lists the company with five active officers.",
          "The privacy policy was last updated in October 2023; the GDPR sub-processor list is dated 13 October 2025.",
          "www.flagsmith.com/robots.txt disallows only sign-up, login and similar paths. docs.flagsmith.com has no robots.txt. The terms contain no clause on automated access that we found.",
          "www.flagsmith.com/.well-known/security.txt returned 404. SECURITY.md in the repository asks for reports to support@flagsmith.com.",
          "RDAP gives flagsmith.com a registration date of 1 March 2018."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/flagsmith.json",
      "live": {
        "slug": "flagsmith",
        "probe": {
          "target": "https://mcp.flagsmith.com",
          "method": "get",
          "lastAt": "2026-11-07T18:20:25.400493249Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 94,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 27,
          "p95ms24h": 100,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.flagsmith.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:11.347876696Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Flagsmith/flagsmith",
            "version": "v2.290.0",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:26:24.068130998Z"
          },
          {
            "registry": "npm",
            "name": "flagsmith",
            "version": "10.0.0",
            "seenAt": "2026-11-06T23:26:23.147625706Z"
          },
          {
            "registry": "pypi",
            "name": "flagsmith",
            "version": "6.5.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:26:23.005711379Z"
          }
        ],
        "githubStars": 6642,
        "npmWeekly": 156837,
        "pypiWeekly": 401488,
        "securityTxt": {
          "url": "https://flagsmith.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:18.95883898Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Flagsmith/flagsmith/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:18:21.223652009Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "34b306151856"
          },
          {
            "url": "https://www.flagsmith.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:36.671052285Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ba6cc5c7a64f"
          },
          {
            "url": "https://www.flagsmith.com/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:28:38.746283857Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6ada20e0c356"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.flagsmith.com",
          "checkedAt": "2026-11-07T01:44:38.567136868Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:44:38.567136868Z"
        },
        "updatedAt": "2026-11-07T18:21:11.347876696Z"
      }
    },
    "answer": "Flagsmith scores 61.2 (C) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability.",
    "b": {
      "slug": "woopra",
      "name": "Woopra",
      "vendor": "Woopra, Inc.",
      "vendorUrl": "https://www.woopra.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Woopra is a hosted customer journey and product analytics service from Woopra, Inc., an Appier affiliate. Its HTTP tracking API records events and visitor properties, and its REST API returns saved reports, profiles and raw session logs.",
      "url": "https://www.anchorterminal.com/tools/woopra",
      "markdownUrl": "https://www.anchorterminal.com/tools/woopra.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/woopra.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/woopra.json",
      "dns": "woopra.grade.anchorterminal.com",
      "repo": "https://github.com/Woopra/js-client-tracker",
      "license": "Proprietary service under Woopra's terms of service. The browser tracker and the SDKs on GitHub are MIT, and the Node package is ISC",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://www.woopra.com/rest/3.10",
      "packages": [
        {
          "registry": "npm",
          "name": "woopra"
        },
        {
          "registry": "npm",
          "name": "@woopra/browser-tracker"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. REST calls use HTTP Basic with an App ID and Secret Key that each user generates on the Access Keys tab of the members area. Tracking calls need only the project name unless the owner enables Secure Tracking, which adds a generated ID and secret sent by HTTP Basic. No OAuth, scopes or partner approval were found in the docs.",
      "pricing": "paid",
      "pricingNotes": "Pro starts at $999 a month for 5 million events, with a 30-day trial that an agent's owner can start without a contract. Overage fees apply past the event quota, at rates the pricing page does not state. Enterprise is quoted. Whether the trial signup asks for a card was not established (https://www.woopra.com/pricing, checked 2026-10-09).",
      "priceSummary": "$999 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs or on the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 415,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.woopra.com",
      "llmsTxt": "https://docs.woopra.com/llms.txt",
      "capabilities": [
        "analytics.query",
        "analytics.events",
        "analytics.funnels"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "llms-txt",
        "basic-auth",
        "no-oauth",
        "free-trial",
        "status-page",
        "rate-limits",
        "export",
        "sales-led"
      ],
      "lastRelease": "2026-03-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.4,
        "grade": "E",
        "agentReady": false,
        "rank": 1202,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 45,
          "maintenance": 9,
          "payments": 30,
          "reliability": 80,
          "schema": 45,
          "security": 22,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "Woopra's REST API returns saved Trends, Journeys, Retention and Attribution reports, profiles and raw session logs, with published limits of 300 calls a minute and 3,000 a day per project. A report must first be built in the web app, the tracking endpoints accept events without a secret by default, and no changelog or SLA was found.",
        "bestFor": "An agent that reads a company's existing Woopra reports, looks up or edits customer profiles, or exports raw sessions on a schedule.",
        "strengths": [
          "Rate limits are published per project at 300 calls a minute, 600 an hour and 3,000 a day, and limited calls return 429",
          "Report endpoints take `limit`, `offset`, a `snapshot` ID for consistent paging past 1,000 records, and `timeframe_from` and `timeframe_to` overrides",
          "status.woopra.com (Statuspage) lists no incidents for August, September or October 2026 across Data Processing, Data Collection and the front-end application",
          "`/logs/export` returns raw sessions as line-separated JSON, and `/logs/import` loads them in bulk and returns a batch ID to poll",
          "The terms of service (10 December 2025) name nine sub-processors with addresses and countries, and say the customer owns the tracking data"
        ],
        "weaknesses": [
          "Report endpoints run a report saved in the web app by `report_id`. No endpoint to define a query, funnel or segment was found in the reference",
          "`/track/ce` and `/track/identify` accept data with only the project name unless the owner turns on Secure Tracking",
          "No API changelog, deprecation policy or SLA was found. The terms promise commercially reasonable efforts on availability",
          "Server SDKs are old. The Node, Python, Java and Rails repositories were last committed to in 2017, and npm `woopra` is 1.0.2",
          "The terms of service forbid using any robot, spider, scraper or other automated means to access the Site, a term defined to include the Services",
          "Most REST operations document no response schema, and the `/profiles` page repeats the `/trends` description"
        ],
        "agentNotes": [
          "Ask the owner to build and save each report in the web app first, then pass the last path segment of its URL as `report_id`",
          "Authenticate REST calls with HTTP Basic, using the App ID and Secret Key from the Access Keys tab, against `https://www.woopra.com/rest/3.10/`",
          "Stay under 300 calls a minute, 600 an hour and 3,000 a day per project. A 429 carries no documented retry interval, so back off on your own schedule",
          "Reuse the `snapshot` ID from the first response when paging with `offset`, or pages past 1,000 records may not agree",
          "Send `cookie` or a `cv_` identifier such as `cv_email` on every track call. Without one the event lands on a random profile that can't be identified later",
          "When reading `/logs/export`, delete the profile named in each `type: \"delete\"` line. The following lines log its data again under `new_id`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.4
          }
        ],
        "editorialScores": {
          "ergonomics": 45,
          "maintenance": 9,
          "payments": 30,
          "reliability": 80,
          "schema": 45,
          "security": 22,
          "transparency": 45
        },
        "provenanceScore": 78,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-09",
            "maintenance": "2026-10-09",
            "payments": "2026-10-09",
            "reliability": "2026-10-09",
            "schema": "2026-10-09",
            "security": "2026-10-09",
            "transparency": "2026-10-09"
          },
          "last": "2026-10-09",
          "lastMoved": "2026-10-28",
          "oldest": "2026-10-09",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \\\n--user \u003cApp Id\u003e:\u003cSecret Key\u003e \\\n\"https://www.woopra.com/rest/3.10/trends?project=mybusiness.com\u0026start_day=2017-4-12\u0026end_day=2017-5-19\u0026report_id=83mYcoe6jX\""
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/woopra"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Pro, 5 million events a month",
          "unit": "month",
          "usd": 999,
          "note": "starting price, overage fees apply"
        }
      ],
      "provenance": {
        "legalEntity": "Woopra, Inc.",
        "domain": "woopra.com",
        "domainRegistered": "2007-02-23",
        "endpointOnVendorDomain": true,
        "terms": "https://www.woopra.com/tos",
        "privacy": "https://www.woopra.com/privacy",
        "statusPage": "https://status.woopra.com",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-09",
        "notes": [
          "The terms of service (last updated 10 December 2025) are a contract with Woopra, Inc., its subsidiaries and affiliated companies including Appier, and cover the website and the subscription services in one document. They give 600 California St, Fl 11, San Francisco, CA 94108 as the legal address.",
          "The privacy policy (last updated 1 August 2025) covers customers and site visitors and says it does not apply to end-user data that Woopra processes for customers. It names Appier Netherlands B.V. as EU representative. No public DPA was found, and the GDPR page says a copy is sent on request.",
          "The REST and tracking endpoints answer under https://www.woopra.com/rest and https://www.woopra.com/track, on the vendor's own domain. robots.txt on that host disallows both paths, and we sent no request to either.",
          "www.woopra.com/.well-known/security.txt timed out twice with no bytes received, so its presence is unknown.",
          "status.woopra.com is an Atlassian Statuspage site. Its address was not linked from the pages we read and was tried directly.",
          "No changelog for the API was found. docs.woopra.com/changelog returns 404, and the browser tracker's CHANGELOG.md stops at v5.3.0 of 15 September 2021.",
          "RDAP for woopra.com gives a registration date of 2007-02-23 and Spaceship, Inc. as registrar."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/woopra.json",
      "live": {
        "slug": "woopra",
        "probe": {
          "target": "https://www.woopra.com/rest/3.10",
          "method": "get",
          "lastAt": "2026-11-07T18:21:05.868859386Z",
          "lastOk": false,
          "lastStatus": 500,
          "lastMs": 188,
          "lastNote": "server error",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0.01,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 239,
          "samples30d": 7289,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 169,
              "ok": 0
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 0
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 0
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 0
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 0
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 0
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 0
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 1
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 0
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 0
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 0
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 0
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 0
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 0
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 0
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 0
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 0
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-20T07:53:20.901989595Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "HTTP 500 server error"
            },
            {
              "start": "2026-10-09T07:40:43.906309049Z",
              "end": "2026-10-20T07:48:04.809204174Z",
              "note": "HTTP 500 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.woopra.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:22:11.654955136Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Woopra/js-client-tracker",
            "version": "v5.3.0",
            "released": "2021-09-16",
            "seenAt": "2026-11-07T00:17:44.037218844Z"
          },
          {
            "registry": "npm",
            "name": "@woopra/browser-tracker",
            "version": "5.2.0-beta.0",
            "seenAt": "2026-11-07T00:17:42.567871491Z"
          },
          {
            "registry": "npm",
            "name": "woopra",
            "version": "1.0.2",
            "seenAt": "2026-11-07T00:17:41.789176314Z"
          }
        ],
        "githubStars": 15,
        "npmWeekly": 153,
        "securityTxt": {
          "url": "https://woopra.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-07T16:01:40.466479305Z"
        },
        "llmsTxt": {
          "url": "https://docs.woopra.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:23.617781678Z"
        },
        "domain": {
          "domain": "woopra.com",
          "registered": "2007-02-23",
          "source": "https://rdap.verisign.com/com/v1/domain/woopra.com",
          "checkedAt": "2026-11-01T14:12:35.920109892Z"
        },
        "pages": [
          {
            "url": "https://www.woopra.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:37:14.11622214Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0ceb5f681fcb"
          },
          {
            "url": "https://www.woopra.com/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:37:19.403294537Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "49851c70f2d0"
          },
          {
            "url": "https://www.woopra.com/tos",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:37:19.678879986Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c8908e094e7b"
          }
        ],
        "github": {
          "repo": "woopra/js-client-tracker",
          "checkedAt": "2026-11-02T09:38:50.665585704Z",
          "stars": 15,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-03-16T07:42:59Z",
          "openIssues": 0,
          "openPRs": 3,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "replies": {
            "sampled": 2,
            "unanswered": 0,
            "medianDays": 886.7
          }
        },
        "updatedAt": "2026-11-07T18:22:11.654955136Z"
      }
    },
    "edges": [
      {
        "by": 74,
        "category": "maintenance",
        "leads": "flagsmith",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "v2.290.0 was released on 5 November 2026 (30). 34 tagged releases between 8 August and 5 November (20). Commits land daily (60 since 8 August in the 60-commit clone), with a Discord server and support email. We couldn't read issue response times because GitHub's API refused us for its rate limit (15 of 25). Not in the official MCP registry, which returned no Flagsmith entry; official SDKs are current (8 of 15). Renovate updates, CI workflows for the API, frontend, docs and MCP, and a Trivy scan (10). 30+20+15+8+10 = 83.",
          "b": "The newest dated change found is a commit to the browser tracker on 16 March 2026, and the REST intro page was last edited on 13 March 2026, both more than 180 days before the check (0). No releases or dated changelog entries in the last 90 days (0). No API changelog. Support is by email and in-app, and response times were not checked (3). The browser tracker's last tag is v5.3.0 from 2021, iOS and Android were last committed to in November 2024, and the Node, Python, Java and Rails SDKs in 2017 (4). The Node README carries a Travis CI badge and no current CI was found (2). Total 9."
        },
        "scores": {
          "a": 83,
          "b": 9
        }
      },
      {
        "by": 43,
        "category": "security",
        "leads": "flagsmith",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth for interactive MCP clients with Flagsmith as the authorisation server, Organisation API keys in the Authorization header that act as admin or with chosen RBAC roles, and OIDC trust relationships that swap a CI token for a short-lived one. Granular key roles need Scale-Up or Enterprise, so a Free key is all-powerful (25 of 30). RBAC roles can limit a key to reads, and change requests put a flag change through approval on Scale-Up and Enterprise. There is no read-only switch on the MCP server itself (14 of 20). No prompt-injection guidance; tools return names, descriptions and trait values written by people (3 of 15). Audit logs record every admin action and stream by webhook, on Scale-Up and Enterprise (11 of 15). The docs say Flagsmith has a SOC 2 Type 2 report available on request, the terms promise a yearly third-party penetration test, and SECURITY.md routes reports to support email. No security.txt, bug bounty or public advisory process was found (12 of 20). 25+14+3+11+12 = 65.",
          "b": "REST calls use per-user access keys sent by HTTP Basic, with no scopes or rotation guidance found. Tracking calls need only the project name by default, with an optional Secure Tracking secret. Docs examples still show `http://` tracking URLs (15 of 30). The pricing page states group and individual permission controls, but no read-only key or confirmation on `/profile/delete` was found (5). The API returns event and profile text that any caller who knows the project name can write, and no guidance on untrusted content was found (0). No audit log found in the docs (0). No security page, bug bounty or certification was found on the pages read, and security.txt timed out. The privacy policy states Data Privacy Framework certification (2). Total 22."
        },
        "scores": {
          "a": 65,
          "b": 22
        }
      },
      {
        "by": 22,
        "category": "schema",
        "leads": "flagsmith",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "openapi.yaml in the repository is OpenAPI 3.1 with 624 operations, and the MCP server builds its 54 tools from the operations tagged `mcp`, so every tool has a JSON Schema input (25). No llms.txt (404) and no Markdown served for agents on docs.flagsmith.com; the docs are Markdown only in the repository (0). Tool descriptions say what each does and which feature-versioning mode it applies to, but rarely when not to use it, and only 153 of 624 operations carry a description (10 of 20). 57 enums and required fields in the spec, with some free-form value fields (10 of 15). Docs carry curl examples, but only 16 operations document a 400 and 6 a 404 (7 of 15). A /api/v1 path, release-please changelog and dated release notes (15). 25+0+10+10+7+15 = 67.",
          "b": "Each REST reference page embeds an OpenAPI 3.1 fragment in its Markdown copy. No single spec file was found, most operations define no responses, and the tracking endpoints are documented as tables (12). llms.txt and a .md copy of each page, though llms.txt lists four of fourteen REST operations (10). Descriptions are one line. The `/profiles` page repeats the `/trends` text, three profile operations have none, and one page still holds template placeholder text (6). Query parameters carry types and required flags. There are no enums, and profile edits take a JSON string in `data` (6). One curl example for REST and several tracking examples. Tracking response codes are explained, while REST errors are a 400 with an empty object (6). The version sits in the path and 3.10 is the only one supported. No changelog found (5). Total 45."
        },
        "scores": {
          "a": 67,
          "b": 45
        }
      },
      {
        "by": 15,
        "category": "reliability",
        "leads": "woopra",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on Flagsmith Cloud with the hosted lines. Statuspage at status.flagsmith.com with components for the Edge API, Admin API, dashboard and website (20). In the 90 days from 8 August, an Admin and SDK API outage on 28 October marked critical, posted at 21:56 UTC and resolved at 22:12 with no cause given, and a minor delay in processing flag changes on 10 September. The posted span of the outage is 16 minutes and its start isn't stated, so we read it as one serious incident under an hour (15 of 30). The Management API limit of 500 requests a minute is documented (15). No 429 handling, Retry-After or idempotency guidance was found in the docs (0). A public SLA commits to 99.95 per cent monthly uptime with service credits (10). The Management API is generally available, but the MCP docs call the server an early release, so half (5 of 10). 20+15+15+0+10+5 = 65.",
          "b": "Graded on the REST and HTTP tracking APIs with the hosted lines. Statuspage site at status.woopra.com with three components (20). Its history lists no incidents for August, September or October 2026, the three months shown (30). Limits published with numbers, 300 calls a minute, 600 an hour and 3,000 a day per project (15). A 429 status is documented and tracking calls answer 202 when queued, but no Retry-After, backoff guidance or idempotency key was found (5). No SLA found. The terms promise commercially reasonable efforts (0). The API is version 3.10 with no beta label (10). Total 80."
        },
        "scores": {
          "a": 65,
          "b": 80
        }
      },
      {
        "by": 15,
        "category": "transparency",
        "leads": "flagsmith",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "BSD-3-Clause for the core and the MCP server; the about page says most of the product is under that licence and some CI runs with private packages, so not every Cloud feature is in the open repository (25 of 30). The terms set Flagsmith as processor with 48-hour breach notice and EEA transfer rules, and the sub-processor list is dated 13 October 2025. The privacy policy dates from October 2023 and states no retention periods (16 of 30). The Gram-hosted MCP server was retired with a dated notice (30 June 2026), and three spec operations are marked deprecated, without a stated deprecation policy (10 of 20). The sub-processor list names providers and their countries (16 of 20). 25+16+10+16 = 67.",
          "b": "Closed service with dated terms that cover the subscription, and MIT SDKs (15). The terms say the customer owns tracking data, and the pricing page states 24 months of retention. The privacy policy excludes end-user data, the DPA is sent only on request, and the GDPR page still cites Privacy Shield while the privacy policy cites the Data Privacy Framework (14). No deprecation policy or dated notices found (0). Nine sub-processors named in the terms with addresses and countries, eight in the USA and Hetzner in Germany. Where customer data is stored is not stated (16). Total 45."
        },
        "scores": {
          "a": 77,
          "b": 62
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "flagsmith",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "54 tools, more than 30, with no toolsets or read-only subset; enterprise tools only appear where installed (5 of 25). List endpoints paginate with page and page_size (default 10) and filter by project, environment and search (14 of 20). Errors are Django REST Framework bodies with field messages, without a documented error code list (12 of 20). Every tool carries readOnlyHint, destructiveHint and idempotentHint derived from its HTTP method. No idempotency keys for POST (14 of 20). Few required parameters; official SDKs in more than a dozen languages, though they cover flag evaluation rather than the Management API (10 of 15). 5+14+12+14+10 = 55.",
          "b": "Report responses can be capped with `limit`, but a report can only be run from a `report_id` saved in the web app, so an agent can't shape a query through the API (12). `limit`, `offset`, a `snapshot` ID for consistent paging and timeframe overrides on reports, and position headers on log export (14). Tracking codes 401, 402 and 403 each name a cause. REST error bodies are not documented (8). No idempotency key or dedupe field was found, and tracking is by GET. Imports return a batch ID to poll (3). Report calls need two parameters. Official SDKs exist in several languages, but the server ones date from 2017 (8). Total 45."
        },
        "scores": {
          "a": 55,
          "b": 45
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bullet Train Ltd",
        "b": "Woopra, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.flagsmith.com",
        "b": "https://www.woopra.com/rest/3.10",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$999 per month (plan)",
        "name": "Price for event analytics"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "BSD-3-Clause",
        "b": "Proprietary service under Woopra's terms of service. The browser tracker and the SDKs on GitHub are MIT, and the Node package is ISC",
        "name": "Licence"
      },
      {
        "a": "54",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-05",
        "b": "2026-03-16",
        "name": "Last release"
      },
      {
        "a": "2026-09-01",
        "b": "2025-12-10",
        "name": "Terms last updated"
      },
      {
        "a": "2023-10-01",
        "b": "2025-08-01",
        "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": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6.6k stars",
        "b": "415 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.3/5 (4)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Flagsmith scores 61.2 (C) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability.",
        "question": "Which is better for AI agents, Flagsmith or Woopra?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Flagsmith and Woopra need an API key?"
      },
      {
        "answer": "Yes. Flagsmith has a hosted endpoint at https://mcp.flagsmith.com and Woopra at https://www.woopra.com/rest/3.10.",
        "question": "Can an agent call Flagsmith and Woopra without installing anything?"
      },
      {
        "answer": "Flagsmith is open source (BSD-3-Clause). No open-source release is listed for Woopra.",
        "question": "Are Flagsmith and Woopra open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 67 against 45",
          "Agent ergonomics, 55 against 45",
          "Security \u0026 auth, 65 against 22",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 83 against 9",
          "Transparency \u0026 trust, 77 against 62"
        ],
        "also": [
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "Feature flags and experiments for teams that want open source or self-hosting, managed by an agent through MCP.",
        "slug": "flagsmith",
        "watchFor": "The MCP docs call the server an early release, and experiment tools are marked beta"
      },
      {
        "aheadOn": [
          "Reliability, 80 against 65"
        ],
        "also": null,
        "goodFor": "An agent that reads a company's existing Woopra reports, looks up or edits customer profiles, or exports raw sessions on a schedule.",
        "slug": "woopra",
        "watchFor": "Report endpoints run a report saved in the web app by `report_id`. No endpoint to define a query, funnel or segment was found in the reference"
      }
    ],
    "history": {
      "flagsmith": null,
      "woopra": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 44.5,
          "fromGrade": "E",
          "to": 44.4,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 44.4,
          "fromGrade": "E",
          "to": 44.5,
          "toGrade": "E"
        }
      ]
    },
    "job": {
      "capability": "analytics.events",
      "name": "Event analytics"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-woopra.json",
        "title": "Amplitude vs Woopra",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basedash-mcp-vs-woopra.json",
        "title": "Basedash MCP vs Woopra",
        "url": "https://www.anchorterminal.com/compare/basedash-mcp-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-woopra.json",
        "title": "Countly vs Woopra",
        "url": "https://www.anchorterminal.com/compare/countly-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-woopra.json",
        "title": "Fullstory vs Woopra",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-woopra.json",
        "title": "GrowthBook vs Woopra",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/matomo-vs-woopra.json",
        "title": "Matomo vs Woopra",
        "url": "https://www.anchorterminal.com/compare/matomo-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-woopra.json",
        "title": "Mixpanel vs Woopra",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-woopra.json",
        "title": "Mostly Good Metrics vs Woopra",
        "url": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-woopra.json",
        "title": "OpenPanel vs Woopra",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-woopra.json",
        "title": "Optimizely Experimentation vs Woopra",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pendo-vs-woopra.json",
        "title": "Pendo vs Woopra",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/posthog-vs-woopra.json",
        "title": "PostHog vs Woopra",
        "url": "https://www.anchorterminal.com/compare/posthog-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/statsig-vs-woopra.json",
        "title": "Statsig vs Woopra",
        "url": "https://www.anchorterminal.com/compare/statsig-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/userpilot-vs-woopra.json",
        "title": "Userpilot vs Woopra",
        "url": "https://www.anchorterminal.com/compare/userpilot-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-flagsmith.json",
        "title": "Amplitude vs Flagsmith",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-flagsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-flagsmith.json",
        "title": "Countly vs Flagsmith",
        "url": "https://www.anchorterminal.com/compare/countly-vs-flagsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-growthbook.json",
        "title": "Flagsmith vs GrowthBook",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-growthbook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-harness-fme.json",
        "title": "Flagsmith vs Harness Feature Management \u0026 Experimentation",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-harness-fme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-launchdarkly.json",
        "title": "Flagsmith vs LaunchDarkly",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-launchdarkly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-mixpanel.json",
        "title": "Flagsmith vs Mixpanel",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-mixpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-optimizely.json",
        "title": "Flagsmith vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-posthog.json",
        "title": "Flagsmith vs PostHog",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-statsig.json",
        "title": "Flagsmith vs Statsig",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-fullstory.json",
        "title": "Flagsmith vs Fullstory",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-fullstory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-heap.json",
        "title": "Flagsmith vs Heap",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-heap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-openpanel.json",
        "title": "Flagsmith vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-openpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-fme-vs-woopra.json",
        "title": "Harness Feature Management \u0026 Experimentation vs Woopra",
        "url": "https://www.anchorterminal.com/compare/harness-fme-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-woopra.json",
        "title": "Heap vs Woopra",
        "url": "https://www.anchorterminal.com/compare/heap-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-matomo.json",
        "title": "Flagsmith vs Matomo",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-matomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-mostly-good-metrics.json",
        "title": "Flagsmith vs Mostly Good Metrics",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-mostly-good-metrics"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 15,
        "edge": "woopra",
        "flagsmith": 65,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "woopra": 80
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "flagsmith",
        "flagsmith": 67,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "woopra": 45
      },
      {
        "by": 10,
        "edge": "flagsmith",
        "flagsmith": 55,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "woopra": 45
      },
      {
        "by": 43,
        "edge": "flagsmith",
        "flagsmith": 65,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "woopra": 22
      },
      {
        "by": 10,
        "edge": "flagsmith",
        "flagsmith": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "woopra": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 74,
        "edge": "flagsmith",
        "flagsmith": 83,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "woopra": 9
      },
      {
        "by": 15,
        "edge": "flagsmith",
        "flagsmith": 77,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "woopra": 62
      }
    ],
    "summary": "Flagsmith scores 61.2 (C) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability. Both do event analytics.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "flagsmith": "Flagsmith pairs a BSD-licensed core with a hosted MCP server whose 54 tools come from its OpenAPI spec and carry read and destructive hints. A public 99.95 per cent SLA and SOC 2 report back the Cloud service. The MCP server is still an early release, and fine-grained key roles need a paid Scale-Up or Enterprise plan.",
      "woopra": "Woopra's REST API returns saved Trends, Journeys, Retention and Attribution reports, profiles and raw session logs, with published limits of 300 calls a minute and 3,000 a day per project. A report must first be built in the web app, the tracking endpoints accept events without a secret by default, and no changelog or SLA was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/flagsmith-vs-woopra",
    "json": "https://www.anchorterminal.com/compare/flagsmith-vs-woopra.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/flagsmith-vs-woopra.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/flagsmith-vs-woopra.min.md"
  },
  "markdown": "Flagsmith scores 61.2 (C) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability. Both do event analytics.\n\n- Flagsmith: grade C, 61.2/100, rank #620 of 1486. Markdown https://www.anchorterminal.com/tools/flagsmith.md · JSON https://www.anchorterminal.com/api/v1/tools/flagsmith.json\n- Woopra: grade E, 44.4/100, rank #1202 of 1486. Markdown https://www.anchorterminal.com/tools/woopra.md · JSON https://www.anchorterminal.com/api/v1/tools/woopra.json\n- Best product analytics and experimentation tools for AI agents: https://www.anchorterminal.com/best/product-analytics/index.md\n- All 153 product analytics comparisons: https://www.anchorterminal.com/compare/product-analytics/index.md\n\n## Which one, for what\n\n### Flagsmith (C)\n\nGood for: Feature flags and experiments for teams that want open source or self-hosting, managed by an agent through MCP.\n\nAhead on:\n- Schema \u0026 documentation, 67 against 45\n- Agent ergonomics, 55 against 45\n- Security \u0026 auth, 65 against 22\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 83 against 9\n- Transparency \u0026 trust, 77 against 62\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n\nWatch for: The MCP docs call the server an early release, and experiment tools are marked beta\n\n### Woopra (E)\n\nGood for: An agent that reads a company's existing Woopra reports, looks up or edits customer profiles, or exports raw sessions on a schedule.\n\nAhead on:\n- Reliability, 80 against 65\n\nWatch for: Report endpoints run a report saved in the web app by `report_id`. No endpoint to define a query, funnel or segment was found in the reference\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Flagsmith +74\n\n- Flagsmith (83): v2.290.0 was released on 5 November 2026 (30). 34 tagged releases between 8 August and 5 November (20). Commits land daily (60 since 8 August in the 60-commit clone), with a Discord server and support email. We couldn't read issue response times because GitHub's API refused us for its rate limit (15 of 25). Not in the official MCP registry, which returned no Flagsmith entry; official SDKs are current (8 of 15). Renovate updates, CI workflows for the API, frontend, docs and MCP, and a Trivy scan (10). 30+20+15+8+10 = 83.\n- Woopra (9): The newest dated change found is a commit to the browser tracker on 16 March 2026, and the REST intro page was last edited on 13 March 2026, both more than 180 days before the check (0). No releases or dated changelog entries in the last 90 days (0). No API changelog. Support is by email and in-app, and response times were not checked (3). The browser tracker's last tag is v5.3.0 from 2021, iOS and Android were last committed to in November 2024, and the Node, Python, Java and Rails SDKs in 2017 (4). The Node README carries a Travis CI badge and no current CI was found (2). Total 9.\n\n### Security \u0026 auth: Flagsmith +43\n\n- Flagsmith (65): OAuth for interactive MCP clients with Flagsmith as the authorisation server, Organisation API keys in the Authorization header that act as admin or with chosen RBAC roles, and OIDC trust relationships that swap a CI token for a short-lived one. Granular key roles need Scale-Up or Enterprise, so a Free key is all-powerful (25 of 30). RBAC roles can limit a key to reads, and change requests put a flag change through approval on Scale-Up and Enterprise. There is no read-only switch on the MCP server itself (14 of 20). No prompt-injection guidance; tools return names, descriptions and trait values written by people (3 of 15). Audit logs record every admin action and stream by webhook, on Scale-Up and Enterprise (11 of 15). The docs say Flagsmith has a SOC 2 Type 2 report available on request, the terms promise a yearly third-party penetration test, and SECURITY.md routes reports to support email. No security.txt, bug bounty or public advisory process was found (12 of 20). 25+14+3+11+12 = 65.\n- Woopra (22): REST calls use per-user access keys sent by HTTP Basic, with no scopes or rotation guidance found. Tracking calls need only the project name by default, with an optional Secure Tracking secret. Docs examples still show `http://` tracking URLs (15 of 30). The pricing page states group and individual permission controls, but no read-only key or confirmation on `/profile/delete` was found (5). The API returns event and profile text that any caller who knows the project name can write, and no guidance on untrusted content was found (0). No audit log found in the docs (0). No security page, bug bounty or certification was found on the pages read, and security.txt timed out. The privacy policy states Data Privacy Framework certification (2). Total 22.\n\n### Schema \u0026 documentation: Flagsmith +22\n\n- Flagsmith (67): openapi.yaml in the repository is OpenAPI 3.1 with 624 operations, and the MCP server builds its 54 tools from the operations tagged `mcp`, so every tool has a JSON Schema input (25). No llms.txt (404) and no Markdown served for agents on docs.flagsmith.com; the docs are Markdown only in the repository (0). Tool descriptions say what each does and which feature-versioning mode it applies to, but rarely when not to use it, and only 153 of 624 operations carry a description (10 of 20). 57 enums and required fields in the spec, with some free-form value fields (10 of 15). Docs carry curl examples, but only 16 operations document a 400 and 6 a 404 (7 of 15). A /api/v1 path, release-please changelog and dated release notes (15). 25+0+10+10+7+15 = 67.\n- Woopra (45): Each REST reference page embeds an OpenAPI 3.1 fragment in its Markdown copy. No single spec file was found, most operations define no responses, and the tracking endpoints are documented as tables (12). llms.txt and a .md copy of each page, though llms.txt lists four of fourteen REST operations (10). Descriptions are one line. The `/profiles` page repeats the `/trends` text, three profile operations have none, and one page still holds template placeholder text (6). Query parameters carry types and required flags. There are no enums, and profile edits take a JSON string in `data` (6). One curl example for REST and several tracking examples. Tracking response codes are explained, while REST errors are a 400 with an empty object (6). The version sits in the path and 3.10 is the only one supported. No changelog found (5). Total 45.\n\n### Reliability: Woopra +15\n\n- Flagsmith (65): Graded on Flagsmith Cloud with the hosted lines. Statuspage at status.flagsmith.com with components for the Edge API, Admin API, dashboard and website (20). In the 90 days from 8 August, an Admin and SDK API outage on 28 October marked critical, posted at 21:56 UTC and resolved at 22:12 with no cause given, and a minor delay in processing flag changes on 10 September. The posted span of the outage is 16 minutes and its start isn't stated, so we read it as one serious incident under an hour (15 of 30). The Management API limit of 500 requests a minute is documented (15). No 429 handling, Retry-After or idempotency guidance was found in the docs (0). A public SLA commits to 99.95 per cent monthly uptime with service credits (10). The Management API is generally available, but the MCP docs call the server an early release, so half (5 of 10). 20+15+15+0+10+5 = 65.\n- Woopra (80): Graded on the REST and HTTP tracking APIs with the hosted lines. Statuspage site at status.woopra.com with three components (20). Its history lists no incidents for August, September or October 2026, the three months shown (30). Limits published with numbers, 300 calls a minute, 600 an hour and 3,000 a day per project (15). A 429 status is documented and tracking calls answer 202 when queued, but no Retry-After, backoff guidance or idempotency key was found (5). No SLA found. The terms promise commercially reasonable efforts (0). The API is version 3.10 with no beta label (10). Total 80.\n\n### Transparency \u0026 trust: Flagsmith +15\n\n- Flagsmith (77): BSD-3-Clause for the core and the MCP server; the about page says most of the product is under that licence and some CI runs with private packages, so not every Cloud feature is in the open repository (25 of 30). The terms set Flagsmith as processor with 48-hour breach notice and EEA transfer rules, and the sub-processor list is dated 13 October 2025. The privacy policy dates from October 2023 and states no retention periods (16 of 30). The Gram-hosted MCP server was retired with a dated notice (30 June 2026), and three spec operations are marked deprecated, without a stated deprecation policy (10 of 20). The sub-processor list names providers and their countries (16 of 20). 25+16+10+16 = 67.\n- Woopra (62): Closed service with dated terms that cover the subscription, and MIT SDKs (15). The terms say the customer owns tracking data, and the pricing page states 24 months of retention. The privacy policy excludes end-user data, the DPA is sent only on request, and the GDPR page still cites Privacy Shield while the privacy policy cites the Data Privacy Framework (14). No deprecation policy or dated notices found (0). Nine sub-processors named in the terms with addresses and countries, eight in the USA and Hetzner in Germany. Where customer data is stored is not stated (16). Total 45.\n\n### Agent ergonomics: Flagsmith +10\n\n- Flagsmith (55): 54 tools, more than 30, with no toolsets or read-only subset; enterprise tools only appear where installed (5 of 25). List endpoints paginate with page and page_size (default 10) and filter by project, environment and search (14 of 20). Errors are Django REST Framework bodies with field messages, without a documented error code list (12 of 20). Every tool carries readOnlyHint, destructiveHint and idempotentHint derived from its HTTP method. No idempotency keys for POST (14 of 20). Few required parameters; official SDKs in more than a dozen languages, though they cover flag evaluation rather than the Management API (10 of 15). 5+14+12+14+10 = 55.\n- Woopra (45): Report responses can be capped with `limit`, but a report can only be run from a `report_id` saved in the web app, so an agent can't shape a query through the API (12). `limit`, `offset`, a `snapshot` ID for consistent paging and timeframe overrides on reports, and position headers on log export (14). Tracking codes 401, 402 and 403 each name a cause. REST error bodies are not documented (8). No idempotency key or dedupe field was found, and tracking is by GET. Imports return a batch ID to poll (3). Report calls need two parameters. Official SDKs exist in several languages, but the server ones date from 2017 (8). Total 45.\n\n## Score by category\n\n| Category | Weight | Flagsmith | Woopra | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 80 | Woopra +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 45 | Flagsmith +22 |\n| Agent ergonomics | 13% (16.2 this run) | 55 | 45 | Flagsmith +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 22 | Flagsmith +43 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Flagsmith +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 9 | Flagsmith +74 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 62 | Flagsmith +15 |\n| Negative events | ≤15 | -2 | 0 | |\n| **Total** | | **61.2 · C** | **44.4 · E** | |\n\n## Facts side by side\n\n| Fact | Flagsmith | Woopra |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bullet Train Ltd | Woopra, Inc. |\n| Hosted endpoint | `https://mcp.flagsmith.com` | `https://www.woopra.com/rest/3.10` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Paid |\n| Price for event analytics | not published | $999 per month (plan) |\n| x402 | no | no |\n| Licence | BSD-3-Clause | Proprietary service under Woopra's terms of service. The browser tracker and the SDKs on GitHub are MIT, and the Node package is ISC |\n| Tools exposed | 54 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| Last release | 2026-11-05 | 2026-03-16 |\n| Terms last updated | 2026-09-01 | 2025-12-10 |\n| Privacy policy last updated | 2023-10-01 | 2025-08-01 |\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 | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 6.6k stars | 415 npm/wk |\n| Agent reviews | none | 2.3/5 (4) |\n\n## How the scores have moved\n\n### Flagsmith\n\nNo score change since it was listed.\n\n### Woopra\n\n- -0.1 on 28 October 2026: correction\n- +0.1 on 27 October 2026: checklist\n\n## Verdicts\n\n**Flagsmith.** Flagsmith pairs a BSD-licensed core with a hosted MCP server whose 54 tools come from its OpenAPI spec and carry read and destructive hints. A public 99.95 per cent SLA and SOC 2 report back the Cloud service. The MCP server is still an early release, and fine-grained key roles need a paid Scale-Up or Enterprise plan.\n\n**Woopra.** Woopra's REST API returns saved Trends, Journeys, Retention and Attribution reports, profiles and raw session logs, with published limits of 300 calls a minute and 3,000 a day per project. A report must first be built in the web app, the tracking endpoints accept events without a secret by default, and no changelog or SLA was found.\n\n## Before you call either\n\n### Flagsmith\n\n1. Send the key as `Authorization: Api-Key \u003ckey\u003e`; the `Api-Key ` prefix is required and a bare key fails\n2. Check whether the environment uses v2 feature versioning before choosing between segment-override and version-state tools\n3. Use a key with a read-only RBAC role for analysis tasks, since a Free plan key has organisation admin rights\n4. Pace Management API calls under 500 a minute; no Retry-After guidance is documented\n5. Treat experiment results as possibly null until Flagsmith has computed them\n\n### Woopra\n\n1. Ask the owner to build and save each report in the web app first, then pass the last path segment of its URL as `report_id`\n2. Authenticate REST calls with HTTP Basic, using the App ID and Secret Key from the Access Keys tab, against `https://www.woopra.com/rest/3.10/`\n3. Stay under 300 calls a minute, 600 an hour and 3,000 a day per project. A 429 carries no documented retry interval, so back off on your own schedule\n4. Reuse the `snapshot` ID from the first response when paging with `offset`, or pages past 1,000 records may not agree\n5. Send `cookie` or a `cv_` identifier such as `cv_email` on every track call. Without one the event lands on a random profile that can't be identified later\n6. When reading `/logs/export`, delete the profile named in each `type: \"delete\"` line. The following lines log its data again under `new_id`\n\n## Questions\n\n### Which is better for AI agents, Flagsmith or Woopra?\n\nFlagsmith scores 61.2 (C) on agent readiness against Woopra's 44.4 (E), and leads in 6 of 7 scored categories. Woopra leads on reliability.\n\n### Do Flagsmith and Woopra need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Flagsmith and Woopra without installing anything?\n\nYes. Flagsmith has a hosted endpoint at https://mcp.flagsmith.com and Woopra at https://www.woopra.com/rest/3.10.\n\n### Are Flagsmith and Woopra open source?\n\nFlagsmith is open source (BSD-3-Clause). No open-source release is listed for Woopra.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/flagsmith-vs-woopra.json, and with the fewest tokens: https://www.anchorterminal.com/compare/flagsmith-vs-woopra.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"flagsmith\", \"b\": \"woopra\"}`. From a terminal: `anchor compare flagsmith woopra`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/flagsmith.json and https://www.anchorterminal.com/api/v1/tools/woopra.json\n\n## Other comparisons with Flagsmith or Woopra\n\n- [Amplitude vs Woopra](https://www.anchorterminal.com/compare/amplitude-vs-woopra.md)\n- [Basedash MCP vs Woopra](https://www.anchorterminal.com/compare/basedash-mcp-vs-woopra.md)\n- [Countly vs Woopra](https://www.anchorterminal.com/compare/countly-vs-woopra.md)\n- [Fullstory vs Woopra](https://www.anchorterminal.com/compare/fullstory-vs-woopra.md)\n- [GrowthBook vs Woopra](https://www.anchorterminal.com/compare/growthbook-vs-woopra.md)\n- [Matomo vs Woopra](https://www.anchorterminal.com/compare/matomo-vs-woopra.md)\n- [Mixpanel vs Woopra](https://www.anchorterminal.com/compare/mixpanel-vs-woopra.md)\n- [Mostly Good Metrics vs Woopra](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-woopra.md)\n- [OpenPanel vs Woopra](https://www.anchorterminal.com/compare/openpanel-vs-woopra.md)\n- [Optimizely Experimentation vs Woopra](https://www.anchorterminal.com/compare/optimizely-vs-woopra.md)\n- [Pendo vs Woopra](https://www.anchorterminal.com/compare/pendo-vs-woopra.md)\n- [PostHog vs Woopra](https://www.anchorterminal.com/compare/posthog-vs-woopra.md)\n- [Statsig vs Woopra](https://www.anchorterminal.com/compare/statsig-vs-woopra.md)\n- [Userpilot vs Woopra](https://www.anchorterminal.com/compare/userpilot-vs-woopra.md)\n- [Amplitude vs Flagsmith](https://www.anchorterminal.com/compare/amplitude-vs-flagsmith.md)\n- [Countly vs Flagsmith](https://www.anchorterminal.com/compare/countly-vs-flagsmith.md)\n- [Flagsmith vs GrowthBook](https://www.anchorterminal.com/compare/flagsmith-vs-growthbook.md)\n- [Flagsmith vs Harness Feature Management \u0026 Experimentation](https://www.anchorterminal.com/compare/flagsmith-vs-harness-fme.md)\n- [Flagsmith vs LaunchDarkly](https://www.anchorterminal.com/compare/flagsmith-vs-launchdarkly.md)\n- [Flagsmith vs Mixpanel](https://www.anchorterminal.com/compare/flagsmith-vs-mixpanel.md)\n- [Flagsmith vs Optimizely Experimentation](https://www.anchorterminal.com/compare/flagsmith-vs-optimizely.md)\n- [Flagsmith vs PostHog](https://www.anchorterminal.com/compare/flagsmith-vs-posthog.md)\n- [Flagsmith vs Statsig](https://www.anchorterminal.com/compare/flagsmith-vs-statsig.md)\n- [Flagsmith vs Fullstory](https://www.anchorterminal.com/compare/flagsmith-vs-fullstory.md)\n- [Flagsmith vs Heap](https://www.anchorterminal.com/compare/flagsmith-vs-heap.md)\n- [Flagsmith vs OpenPanel](https://www.anchorterminal.com/compare/flagsmith-vs-openpanel.md)\n- [Harness Feature Management \u0026 Experimentation vs Woopra](https://www.anchorterminal.com/compare/harness-fme-vs-woopra.md)\n- [Heap vs Woopra](https://www.anchorterminal.com/compare/heap-vs-woopra.md)\n- [Flagsmith vs Matomo](https://www.anchorterminal.com/compare/flagsmith-vs-matomo.md)\n- [Flagsmith vs Mostly Good Metrics](https://www.anchorterminal.com/compare/flagsmith-vs-mostly-good-metrics.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Flagsmith vs Woopra",
        "url": ""
      }
    ],
    "description": "Flagsmith scores 61.2 (C) to Woopra's 44.4 (E) for event analytics. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Flagsmith C 61.2",
      "Woopra E 44.4",
      "scores"
    ],
    "h1": "Flagsmith vs Woopra",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/flagsmith-vs-woopra",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Flagsmith vs Woopra for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/flagsmith-vs-woopra"
  },
  "tokens": {
    "markdown": 4950,
    "slim": 2930
  },
  "version": 1
}
