{
  "data": {
    "a": {
      "slug": "optimizely",
      "name": "Optimizely Experimentation",
      "vendor": "Optimizely",
      "vendorUrl": "https://www.optimizely.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Optimizely Experimentation is a hosted platform for A/B tests, feature flags and personalisation, covering Web Experimentation and Feature Experimentation. Agents reach it through a hosted MCP server with seven tools and through REST APIs.",
      "url": "https://www.anchorterminal.com/tools/optimizely",
      "markdownUrl": "https://www.anchorterminal.com/tools/optimizely.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/optimizely.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/optimizely.json",
      "repo": "https://github.com/optimizely/javascript-sdk",
      "license": "Proprietary hosted service under Optimizely's Online Software Subscription Agreement and its API, SDK and MCP terms. The Feature Experimentation SDKs on GitHub are Apache 2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://exp.mcp.opal.optimizely.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@optimizely/optimizely-sdk"
        },
        {
          "registry": "pypi",
          "name": "optimizely-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "Sales-led. Access needs a subscription. The MCP server uses OAuth 2.0 through Opti ID with PKCE and dynamic client registration, and needs an account with Opal enabled and linked to a Feature Experimentation or Web Experimentation instance. The REST APIs take a personal access token, created under Profile then API Access, in the `Authorization: Bearer` header, or OAuth 2.0 for a registered application. Tokens and MCP sessions act with the user's role.",
      "pricing": "paid",
      "pricingNotes": "No price is published. The plans page says every plan is individually packaged and leads to a demo request. No free plan, trial or sandbox was found, so an agent cannot start without a contract. MCP use does not consume Opal credits (https://www.optimizely.com/plans/, checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the v2 Swagger spec or the plans page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 460480,
        "pypiWeekly": 85924,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.optimizely.com/experimentation-strategy/docs/optimizely-experimentation-mcp-server-overview",
      "llmsTxt": "https://docs.optimizely.com/llms.txt",
      "openapi": "https://api.optimizely.com/v2/swagger.json",
      "capabilities": [
        "analytics.experiments",
        "analytics.flags",
        "analytics.query"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "closed-source",
        "sales-led",
        "enterprise",
        "webhooks",
        "status-page",
        "sla",
        "soc2",
        "iso27001",
        "bug-bounty"
      ],
      "lastRelease": "2026-09-18",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.6,
        "grade": "B",
        "agentReady": false,
        "rank": 330,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 78,
          "payments": 0,
          "reliability": 73,
          "schema": 74,
          "security": 66,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Optimizely Experimentation suits agents working for an existing customer that manage flags and experiments and read results. The hosted MCP server has seven tools behind OAuth and carries the user's permissions, and the main REST API has a public Swagger spec. No price, free plan or trial is published, and no 429 or idempotency guidance was found.",
        "bestFor": "An agent working for an existing Optimizely customer that lists and creates flags, experiments and audiences, reads experiment results and writes SDK integration code.",
        "strengths": [
          "Hosted MCP server with seven tools for querying, managing and implementing flags and experiments, released on 29 April 2026",
          "MCP sign-in is OAuth 2.0 with PKCE and dynamic client registration, and the server sees only what the user's account can see",
          "Public Swagger 2.0 spec for the Optimizely API with 93 operations, each with a description, plus llms.txt and a Markdown copy of every docs page",
          "Rate limits are published with numbers, 120 requests a minute on the Feature Experimentation API and 100 a minute on the Optimizely API",
          "Change history is readable through the REST API, and change approvals route flag changes to reviewers since 6 August 2026"
        ],
        "weaknesses": [
          "No price is published. The plans page says every plan is individually packaged and leads to a demo request",
          "No free plan or trial was found, and the MCP server needs an account with Opal enabled",
          "No 429 response, `Retry-After` header or idempotency key was found in the spec or the pages read",
          "The REST OAuth flow has one scope, `all`, described as full access to the account",
          "The spec for the Feature Experimentation API at `/flags/v1` answers 401 without a token, and the MCP server is not in the official MCP registry"
        ],
        "agentNotes": [
          "Connect to https://exp.mcp.opal.optimizely.com/mcp and complete OAuth in a browser. The session is time-limited, so expect to sign in again",
          "Call `exp_get_schemas` before `exp_execute_query`, and `exp_get_entity_templates` before `exp_manage_entity_lifecycle`, to learn the fields each entity needs",
          "Confirm the project and environment with the user before any create or update. Changes go to live Optimizely data",
          "Use the Visual Editor for Web Experimentation variation code. The MCP server does not write custom HTML, CSS or JavaScript",
          "Over REST, stay under 2 requests a second on `/flags/v1`, 100 a minute on `/v2` and 20 a minute on the results endpoints"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.6
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 78,
          "payments": 0,
          "reliability": 73,
          "schema": 74,
          "security": 66,
          "transparency": 63
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \"https://api.optimizely.com/v2/projects\"",
        "claudeCode": "claude mcp add --transport http optimizely-exp https://exp.mcp.opal.optimizely.com/mcp",
        "config": {
          "mcpServers": {
            "optimizely-exp": {
              "type": "http",
              "url": "https://exp.mcp.opal.optimizely.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.experiments",
        "tool": "https://letme.dev/optimizely"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "Optimizely North America Inc.",
        "domain": "optimizely.com",
        "domainRegistered": "2010-01-11",
        "endpointOnVendorDomain": true,
        "terms": "https://www.optimizely.com/legal/terms/",
        "privacy": "https://www.optimizely.com/legal/privacy-notice/",
        "statusPage": "https://status.optimizely.com",
        "changelog": "https://docs.optimizely.com/feature-experimentation/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Online Software Subscription Agreement 2025-11, published 10 November 2025, names Optimizely North America Inc as the contracting entity for customers in the USA, Canada, Mexico, Australia, New Zealand, APJ and the rest of the world, Optimizely AB for the Nordics, UK, Ireland, EU, UAE and Saudi Arabia, and Optimizely GmbH for DACH.",
          "The API, SDK and MCP terms, version 2026-08 published 26 August 2026, are a PDF linked from https://www.optimizely.com/legal/api-sdk-mcp-terms/ and form part of the subscription agreement.",
          "The privacy notice, V 2026-07 published 1 July 2026, says it does not apply to customer data, which Optimizely processes under the subscription agreement and the Data Processing Agreement (V 2026-01).",
          "The MCP server answers at exp.mcp.opal.optimizely.com and the REST APIs at api.optimizely.com.",
          "www.optimizely.com/.well-known/security.txt and www.optimizely.com/security.txt both return 404.",
          "RDAP for optimizely.com gives a registration date of 2010-01-11."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/optimizely.json",
      "live": {
        "slug": "optimizely",
        "probe": {
          "target": "https://exp.mcp.opal.optimizely.com/mcp",
          "method": "get",
          "lastAt": "2026-10-08T21:12:17.737693254Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 147,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 146,
          "p95ms24h": 196,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.optimizely.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:19.531982091Z"
        },
        "updatedAt": "2026-10-08T21:12:17.737693254Z"
      }
    },
    "answer": "PostHog scores 68.4 (B) on agent readiness against Optimizely Experimentation's 62.6 (B), and leads in every scored category.",
    "b": {
      "slug": "posthog",
      "name": "PostHog",
      "vendor": "PostHog Inc.",
      "vendorUrl": "https://posthog.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "PostHog is an open-source product analytics platform with session replay, feature flags, experiments, error tracking and a data warehouse. Agents reach PostHog Cloud through a REST API with a public OpenAPI spec and an official hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/posthog",
      "markdownUrl": "https://www.anchorterminal.com/tools/posthog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/posthog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/posthog.json",
      "repo": "https://github.com/PostHog/posthog",
      "license": "MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://us.posthog.com",
      "packages": [
        {
          "registry": "npm",
          "name": "posthog-node"
        },
        {
          "registry": "npm",
          "name": "posthog-js"
        },
        {
          "registry": "pypi",
          "name": "posthog"
        },
        {
          "registry": "npm",
          "name": "@posthog/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. Private endpoints take a Bearer personal API key (`phx_`) that a signed-in user creates with chosen scopes and project or organisation access, or an OAuth access token. OAuth at oauth.posthog.com supports PKCE, dynamic client registration and client ID metadata documents, with no app review needed to go live. The MCP server uses OAuth by default or a personal API key made with the MCP Server preset. Project secret API keys are in beta. Capture and flag evaluation take the public project token.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with no card, covering 1 million analytics events and 1 million flag requests a month. The paid plan has no base fee and no seat charge, and bills per unit above the free allowance (analytics events from $0.00005). API and MCP calls are not billed, but personal API key queries draw on an hourly read budget that is larger on a paid plan (https://posthog.com/pricing, checked 2026-10-07).",
      "priceSummary": "$0.0001 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI spec or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": 1096,
      "popularity": {
        "githubStars": 40176,
        "npmWeekly": 15243417,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://posthog.com/docs/api",
      "llmsTxt": "https://posthog.com/llms.txt",
      "openapi": "https://app.posthog.com/api/schema/",
      "registryName": "io.github.PostHog/mcp",
      "capabilities": [
        "analytics.query",
        "analytics.events",
        "analytics.funnels",
        "analytics.experiments",
        "analytics.flags",
        "observability.errors",
        "observability.logs"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "free-tier",
        "no-card",
        "eu-region",
        "status-page",
        "soc2",
        "typescript",
        "python"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.4,
        "grade": "B",
        "agentReady": false,
        "rank": 181,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 89,
          "payments": 40,
          "reliability": 74,
          "schema": 81,
          "security": 84,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-07"
        },
        "negative": -7,
        "negativeNotes": [
          "-3: 2025-11-24. Malicious versions of posthog-node, posthog-js and six other npm packages were published with a stolen token after an attacker took CI secrets through a pull request workflow. PostHog removed them in about five hours and published a post-mortem on 26 November 2025, so the deduction is reduced (https://posthog.com/blog/nov-24-shai-hulud-attack-post-mortem).",
          "-2: 2026-05-29, disclosed 2026-06-02 as PSA-2026-00001 (critical). Researchers used an unsandboxed, outdated Chromium to reach a US Cloud pod and read internal production credentials. PostHog says no customer data was accessed and the credentials were rotated. Fixed and documented (https://posthog.com/handbook/company/security-advisories).",
          "-2: 2026-07-11 to 2026-08-04, disclosed 2026-08-21 as PSA-2026-00002 (high). Customer-run nginx proxies set up as PostHog's guide showed sent traffic to released AWS addresses, and a researcher read traffic from six EU customers. The report sat in triage for five weeks. Fixed and documented (https://posthog.com/handbook/company/security-advisories)."
        ],
        "verdict": "PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,096 tools. The status page shows 31 incidents in 90 days, four on analytics queries, and three security incidents were disclosed in the last year.",
        "bestFor": "An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 2,347 operations and a scope on most of them, plus llms.txt and a Markdown copy of every docs page",
          "Hosted MCP server with OAuth, a read-only switch, filters by product area or tool name and pinning to one project",
          "CLI mode registers one `exec` tool that searches, inspects and calls the 1,096 tools on demand",
          "Free plan without a card, with 1 million analytics events and 1 million flag requests a month, and public per-unit prices above that",
          "MIT source outside the `ee` directory, a public SOC 2 Type 2 report and a public security advisories page"
        ],
        "weaknesses": [
          "31 incidents on the status page between 9 July and 6 October 2026, four of them analytics query timeouts or failures",
          "Three security incidents in twelve months, among them malicious npm SDK versions on 24 November 2025",
          "API queries stop at 10 seconds of execution, three at a time per project, with an hourly read budget on personal API keys",
          "No API versioning or deprecation policy was found, and the query docs reserve the right to restrict export-like queries without notice",
          "Customer content can be used to train PostHog's own models unless the customer opts out in settings"
        ],
        "agentNotes": [
          "Add `?readonly=true` or the `x-posthog-read-only` header to the MCP URL unless the task needs writes",
          "Pin the session with `x-posthog-project-id`, which also removes the `switch-project` and `switch-organization` tools",
          "In CLI mode run `info \u003ctool\u003e` once before `call`, and send one `exec` command per request",
          "On a 429 with code `api_queries_budget_exceeded`, wait for `Retry-After` and read `X-PostHog-Query-Budget-Remaining-Bytes`",
          "Page SQL results by keyset on `timestamp`. `OFFSET` returns 400 for personal API keys, and results cap at 50,000 rows"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.4
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 89,
          "payments": 40,
          "reliability": 74,
          "schema": 81,
          "security": 84,
          "transparency": 71
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "npx @posthog/wizard mcp add",
        "http": "curl \\\n  -H 'Content-Type: application/json' \\\n  -H \"Authorization: Bearer $POSTHOG_PERSONAL_API_KEY\" \\\n  https://us.posthog.com/api/projects/:project_id/query/ \\\n  -d '{\"query\": {\"kind\": \"HogQLQuery\", \"query\": \"select event, count() from events group by event limit 100\"}}'",
        "claudeCode": "claude mcp add --transport http posthog https://mcp.posthog.com/mcp -s user",
        "config": {
          "mcpServers": {
            "posthog": {
              "url": "https://mcp.posthog.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/posthog"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Product analytics event",
          "unit": "tx",
          "usd": 0.00005,
          "note": "1 to 2 million a month, first 1 million free, lower above"
        },
        {
          "item": "Feature flag request",
          "unit": "tx",
          "usd": 0.0001,
          "note": "1 to 2 million a month, first 1 million free, lower above"
        },
        {
          "item": "Session recording",
          "unit": "tx",
          "usd": 0.005,
          "note": "5,001 to 15,000 a month, first 5,000 free"
        },
        {
          "item": "Data warehouse row",
          "unit": "record",
          "usd": 0.000015,
          "note": "1 to 10 million a month, first 1 million free"
        },
        {
          "item": "Boost package",
          "unit": "month",
          "usd": 250
        },
        {
          "item": "Scale package",
          "unit": "month",
          "usd": 750
        },
        {
          "item": "Enterprise package",
          "unit": "month",
          "usd": 2000
        }
      ],
      "provenance": {
        "legalEntity": "PostHog Inc. (formerly Hiberly Inc.)",
        "domain": "posthog.com",
        "domainRegistered": "2020-01-23",
        "endpointOnVendorDomain": true,
        "terms": "https://posthog.com/terms",
        "privacy": "https://posthog.com/privacy",
        "statusPage": "https://www.posthogstatus.com",
        "changelog": "https://posthog.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-07",
        "notes": [
          "The privacy policy names PostHog Inc., formerly known as Hiberly Inc., and its subsidiaries. The security handbook names Hiberly Ltd. as the UK entity.",
          "posthog.com/.well-known/security.txt expires 2027-08-30 and points to the security handbook. The copy on us.posthog.com expired 2024-03-14.",
          "status.posthog.com redirects to www.posthogstatus.com.",
          "RDAP for posthog.com gives a registration date of 2020-01-23.",
          "The API, OAuth server and MCP server answer on posthog.com subdomains."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/posthog.json",
      "live": {
        "slug": "posthog",
        "probe": {
          "target": "https://us.posthog.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:19.002394754Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 352,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 363,
          "p95ms24h": 449,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.posthogstatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:04.368348073Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "PostHog/posthog",
            "version": "posthog-cli/v0.18.10",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:26:05.264718319Z"
          },
          {
            "registry": "npm",
            "name": "@posthog/cli",
            "version": "0.18.10",
            "seenAt": "2026-10-08T16:26:03.360315129Z"
          },
          {
            "registry": "npm",
            "name": "posthog-js",
            "version": "1.438.2",
            "seenAt": "2026-10-08T16:26:01.219902492Z"
          },
          {
            "registry": "npm",
            "name": "posthog-node",
            "version": "5.55.0",
            "seenAt": "2026-10-08T16:26:00.932213759Z"
          },
          {
            "registry": "pypi",
            "name": "posthog",
            "version": "7.66.0",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:26:03.179505005Z"
          }
        ],
        "githubStars": 40189,
        "npmWeekly": 15243417,
        "pypiWeekly": 10625439,
        "securityTxt": {
          "url": "https://posthog.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-30T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:33.305841715Z"
        },
        "pages": [
          {
            "url": "https://posthog.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:13.700564471Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ede31863795a"
          },
          {
            "url": "https://posthog.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:16.013448729Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2cc031ef02b6"
          },
          {
            "url": "https://posthog.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:17.807151985Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4cbb2a93a904"
          },
          {
            "url": "https://posthog.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:20.222126648Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8b42f8ddf893"
          }
        ],
        "updatedAt": "2026-10-08T21:12:19.002394754Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Optimizely",
        "b": "PostHog Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://exp.mcp.opal.optimizely.com/mcp",
        "b": "https://us.posthog.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary hosted service under Optimizely's Online Software Subscription Agreement and its API, SDK and MCP terms. The Feature Experimentation SDKs on GitHub are Apache 2.0",
        "b": "MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms",
        "name": "Licence"
      },
      {
        "a": "7",
        "b": "1096",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.PostHog/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-18",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-06-29",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-06-29",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes, with an opt-out",
        "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": "460k npm/wk, 86k PyPI/wk",
        "b": "40k stars, 15.2M npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "PostHog scores 68.4 (B) on agent readiness against Optimizely Experimentation's 62.6 (B), and leads in every scored category.",
        "question": "Which is better for AI agents, Optimizely Experimentation or PostHog?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Optimizely Experimentation and PostHog need an API key?"
      },
      {
        "answer": "Yes. Optimizely Experimentation has a hosted endpoint at https://exp.mcp.opal.optimizely.com/mcp and PostHog at https://us.posthog.com.",
        "question": "Can an agent call Optimizely Experimentation and PostHog without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Optimizely Experimentation. PostHog is open source (MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms).",
        "question": "Are Optimizely Experimentation and PostHog open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where PostHog loses 7 points for them"
        ],
        "goodFor": "An agent working for an existing Optimizely customer that lists and creates flags, experiments and audiences, reads experiment results and writes SDK integration code.",
        "slug": "optimizely",
        "watchFor": "No price is published. The plans page says every plan is individually packaged and leads to a demo request"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 81 against 74",
          "Agent ergonomics, 78 against 68",
          "Security \u0026 auth, 84 against 66",
          "Payments \u0026 pricing, 40 against 0",
          "Maintenance \u0026 community, 89 against 78",
          "Transparency \u0026 trust, 83 against 75"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.",
        "slug": "posthog",
        "watchFor": "31 incidents on the status page between 9 July and 6 October 2026, four of them analytics query timeouts or failures"
      }
    ],
    "job": {
      "capability": "analytics.experiments",
      "name": "Analytics experiments"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-optimizely.json",
        "title": "Amplitude vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-posthog.json",
        "title": "Amplitude vs PostHog",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-optimizely.json",
        "title": "Fullstory vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-posthog.json",
        "title": "Fullstory vs PostHog",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-optimizely.json",
        "title": "Mixpanel vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-posthog.json",
        "title": "Mixpanel vs PostHog",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-pendo.json",
        "title": "Optimizely Experimentation vs Pendo",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-pendo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pendo-vs-posthog.json",
        "title": "Pendo vs PostHog",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/posthog-vs-statsig.json",
        "title": "PostHog vs Statsig",
        "url": "https://www.anchorterminal.com/compare/posthog-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-posthog.json",
        "title": "Heap vs PostHog",
        "url": "https://www.anchorterminal.com/compare/heap-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-optimizely.json",
        "title": "GrowthBook vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-posthog.json",
        "title": "GrowthBook vs PostHog",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-statsig.json",
        "title": "Optimizely Experimentation vs Statsig",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/launchdarkly-vs-optimizely.json",
        "title": "LaunchDarkly vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/launchdarkly-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/launchdarkly-vs-posthog.json",
        "title": "LaunchDarkly vs PostHog",
        "url": "https://www.anchorterminal.com/compare/launchdarkly-vs-posthog"
      }
    ],
    "scores": [
      {
        "by": 1,
        "edge": "posthog",
        "key": "reliability",
        "name": "Reliability",
        "optimizely": 73,
        "posthog": 74,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "posthog",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "optimizely": 74,
        "posthog": 81,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "posthog",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "optimizely": 68,
        "posthog": 78,
        "weight": 13
      },
      {
        "by": 18,
        "edge": "posthog",
        "key": "security",
        "name": "Security \u0026 auth",
        "optimizely": 66,
        "posthog": 84,
        "weight": 14
      },
      {
        "by": 40,
        "edge": "posthog",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "optimizely": 0,
        "posthog": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "edge": "posthog",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "optimizely": 78,
        "posthog": 89,
        "weight": 7
      },
      {
        "by": 8,
        "edge": "posthog",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "optimizely": 75,
        "posthog": 83,
        "weight": 7
      }
    ],
    "summary": "PostHog scores 68.4 (B) on agent readiness against Optimizely Experimentation's 62.6 (B), and leads in every scored category. Both do analytics experiments.",
    "verdicts": {
      "optimizely": "Optimizely Experimentation suits agents working for an existing customer that manage flags and experiments and read results. The hosted MCP server has seven tools behind OAuth and carries the user's permissions, and the main REST API has a public Swagger spec. No price, free plan or trial is published, and no 429 or idempotency guidance was found.",
      "posthog": "PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,096 tools. The status page shows 31 incidents in 90 days, four on analytics queries, and three security incidents were disclosed in the last year."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/optimizely-vs-posthog",
    "json": "https://www.anchorterminal.com/compare/optimizely-vs-posthog.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/optimizely-vs-posthog.md",
    "slim": "https://www.anchorterminal.com/compare/optimizely-vs-posthog.min.md"
  },
  "markdown": "PostHog scores 68.4 (B) on agent readiness against Optimizely Experimentation's 62.6 (B), and leads in every scored category. Both do analytics experiments.\n\n- Optimizely Experimentation: grade B, 62.6/100, rank #330 of 722. Markdown https://www.anchorterminal.com/tools/optimizely.md · JSON https://www.anchorterminal.com/api/v1/tools/optimizely.json\n- PostHog: grade B, 68.4/100, rank #181 of 722. Markdown https://www.anchorterminal.com/tools/posthog.md · JSON https://www.anchorterminal.com/api/v1/tools/posthog.json\n\n## Which one, for what\n\n### Optimizely Experimentation (B)\n\nGood for: An agent working for an existing Optimizely customer that lists and creates flags, experiments and audiences, reads experiment results and writes SDK integration code.\n\nAlso in its favour:\n- No incidents deducted, where PostHog loses 7 points for them\n\nWatch for: No price is published. The plans page says every plan is individually packaged and leads to a demo request\n\n### PostHog (B)\n\nGood for: An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.\n\nAhead on:\n- Schema \u0026 documentation, 81 against 74\n- Agent ergonomics, 78 against 68\n- Security \u0026 auth, 84 against 66\n- Payments \u0026 pricing, 40 against 0\n- Maintenance \u0026 community, 89 against 78\n- Transparency \u0026 trust, 83 against 75\n\nAlso in its favour:\n- Free to start without a card\n- Open source\n\nWatch for: 31 incidents on the status page between 9 July and 6 October 2026, four of them analytics query timeouts or failures\n\n\n## Score by category\n\n| Category | Weight | Optimizely Experimentation | PostHog | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 73 | 74 | PostHog +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 81 | PostHog +7 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 78 | PostHog +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 84 | PostHog +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 40 | PostHog +40 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 89 | PostHog +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 83 | PostHog +8 |\n| Negative events | ≤15 | 0 | -7 | |\n| **Total** | | **62.6 · B** | **68.4 · B** | |\n\n## Facts side by side\n\n| Fact | Optimizely Experimentation | PostHog |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Optimizely | PostHog Inc. |\n| Hosted endpoint | `https://exp.mcp.opal.optimizely.com/mcp` | `https://us.posthog.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary hosted service under Optimizely's Online Software Subscription Agreement and its API, SDK and MCP terms. The Feature Experimentation SDKs on GitHub are Apache 2.0 | MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms |\n| Tools exposed | 7 | 1096 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.PostHog/mcp` |\n| Last release | 2026-09-18 | 2026-10-05 |\n| Terms last updated | no date given | 2026-06-29 |\n| Privacy policy last updated | no date given | 2026-06-29 |\n| Customer content may train models | not found in the text | yes, with an opt-out |\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 | 460k npm/wk, 86k PyPI/wk | 40k stars, 15.2M npm/wk |\n\n## Verdicts\n\n**Optimizely Experimentation.** Optimizely Experimentation suits agents working for an existing customer that manage flags and experiments and read results. The hosted MCP server has seven tools behind OAuth and carries the user's permissions, and the main REST API has a public Swagger spec. No price, free plan or trial is published, and no 429 or idempotency guidance was found.\n\n**PostHog.** PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,096 tools. The status page shows 31 incidents in 90 days, four on analytics queries, and three security incidents were disclosed in the last year.\n\n## Before you call either\n\n### Optimizely Experimentation\n\n1. Connect to https://exp.mcp.opal.optimizely.com/mcp and complete OAuth in a browser. The session is time-limited, so expect to sign in again\n2. Call `exp_get_schemas` before `exp_execute_query`, and `exp_get_entity_templates` before `exp_manage_entity_lifecycle`, to learn the fields each entity needs\n3. Confirm the project and environment with the user before any create or update. Changes go to live Optimizely data\n4. Use the Visual Editor for Web Experimentation variation code. The MCP server does not write custom HTML, CSS or JavaScript\n5. Over REST, stay under 2 requests a second on `/flags/v1`, 100 a minute on `/v2` and 20 a minute on the results endpoints\n\n### PostHog\n\n1. Add `?readonly=true` or the `x-posthog-read-only` header to the MCP URL unless the task needs writes\n2. Pin the session with `x-posthog-project-id`, which also removes the `switch-project` and `switch-organization` tools\n3. In CLI mode run `info \u003ctool\u003e` once before `call`, and send one `exec` command per request\n4. On a 429 with code `api_queries_budget_exceeded`, wait for `Retry-After` and read `X-PostHog-Query-Budget-Remaining-Bytes`\n5. Page SQL results by keyset on `timestamp`. `OFFSET` returns 400 for personal API keys, and results cap at 50,000 rows\n\n## Questions\n\n### Which is better for AI agents, Optimizely Experimentation or PostHog?\n\nPostHog scores 68.4 (B) on agent readiness against Optimizely Experimentation's 62.6 (B), and leads in every scored category.\n\n### Do Optimizely Experimentation and PostHog need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Optimizely Experimentation and PostHog without installing anything?\n\nYes. Optimizely Experimentation has a hosted endpoint at https://exp.mcp.opal.optimizely.com/mcp and PostHog at https://us.posthog.com.\n\n### Are Optimizely Experimentation and PostHog open source?\n\nNo open-source release is listed for Optimizely Experimentation. PostHog is open source (MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/optimizely-vs-posthog.json, and with the fewest tokens: https://www.anchorterminal.com/compare/optimizely-vs-posthog.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"optimizely\", \"b\": \"posthog\"}`. From a terminal: `anchor compare optimizely posthog`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/optimizely.json and https://www.anchorterminal.com/api/v1/tools/posthog.json\n\n## Other comparisons with Optimizely Experimentation or PostHog\n\n- [Amplitude vs Optimizely Experimentation](https://www.anchorterminal.com/compare/amplitude-vs-optimizely.md)\n- [Amplitude vs PostHog](https://www.anchorterminal.com/compare/amplitude-vs-posthog.md)\n- [Fullstory vs Optimizely Experimentation](https://www.anchorterminal.com/compare/fullstory-vs-optimizely.md)\n- [Fullstory vs PostHog](https://www.anchorterminal.com/compare/fullstory-vs-posthog.md)\n- [Mixpanel vs Optimizely Experimentation](https://www.anchorterminal.com/compare/mixpanel-vs-optimizely.md)\n- [Mixpanel vs PostHog](https://www.anchorterminal.com/compare/mixpanel-vs-posthog.md)\n- [Optimizely Experimentation vs Pendo](https://www.anchorterminal.com/compare/optimizely-vs-pendo.md)\n- [Pendo vs PostHog](https://www.anchorterminal.com/compare/pendo-vs-posthog.md)\n- [PostHog vs Statsig](https://www.anchorterminal.com/compare/posthog-vs-statsig.md)\n- [Heap vs PostHog](https://www.anchorterminal.com/compare/heap-vs-posthog.md)\n- [GrowthBook vs Optimizely Experimentation](https://www.anchorterminal.com/compare/growthbook-vs-optimizely.md)\n- [GrowthBook vs PostHog](https://www.anchorterminal.com/compare/growthbook-vs-posthog.md)\n- [Optimizely Experimentation vs Statsig](https://www.anchorterminal.com/compare/optimizely-vs-statsig.md)\n- [LaunchDarkly vs Optimizely Experimentation](https://www.anchorterminal.com/compare/launchdarkly-vs-optimizely.md)\n- [LaunchDarkly vs PostHog](https://www.anchorterminal.com/compare/launchdarkly-vs-posthog.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": "Optimizely Experimentation vs PostHog",
        "url": ""
      }
    ],
    "description": "PostHog scores 68.4 (B) on agent readiness against Optimizely Experimentation's 62.6 (B), and leads in every scored category. Both do analytics experiments. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Optimizely Experimentation B 62.6",
      "PostHog B 68.4",
      "scores"
    ],
    "h1": "Optimizely Experimentation vs PostHog",
    "image": "https://www.anchorterminal.com/assets/og/compare-optimizely-vs-posthog.png",
    "path": "/compare/optimizely-vs-posthog",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Optimizely Experimentation vs PostHog for AI agents, B 62.6 vs B 68.4",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/optimizely-vs-posthog"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 730
  },
  "version": 1
}
