{
  "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 eight 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",
      "dns": "optimizely.grade.anchorterminal.com",
      "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 asks for details to build a custom quote, with no free plan, trial or sandbox found, so an agent cannot start without a contract. MCP use does not consume Opal credits (https://www.optimizely.com/plans, checked 2026-11-02).",
      "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": 8,
      "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-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.9,
        "grade": "B",
        "agentReady": false,
        "rank": 445,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 78,
          "payments": 0,
          "reliability": 83,
          "schema": 76,
          "security": 66,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-02"
        },
        "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 eight tools behind OAuth and carries the user's permissions, and 429s come with rate-limit reset headers. No price, free plan or trial is published, and no idempotency or safe-retry guidance for writes 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 eight tools for querying, managing and implementing flags and experiments, released on 29 April 2026 and extended on 13 October",
          "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",
          "Each API reference page carries the operation's structured definition, 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 asks for details to build a custom quote",
          "No free plan or trial was found, and the MCP server needs an account with Opal enabled",
          "No idempotency key or safe-retry guidance for writes was found, though 429s carry reset headers",
          "The REST OAuth flow has one scope, `all`, described as full access to the account",
          "The Swagger file sits on api.optimizely.com, which disallows crawlers, the `/flags/v1` spec needs 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, and on a 429 wait until `X-RATELIMIT-RESET`"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.9
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 78,
          "payments": 0,
          "reliability": 83,
          "schema": 76,
          "security": 66,
          "transparency": 63
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-02",
            "maintenance": "2026-11-02",
            "payments": "2026-11-02",
            "reliability": "2026-11-02",
            "schema": "2026-11-02",
            "security": "2026-11-02",
            "transparency": "2026-11-02"
          },
          "last": "2026-11-02",
          "lastMoved": "2026-11-02",
          "oldest": "2026-11-02",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -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": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/optimizely.json",
      "live": {
        "slug": "optimizely",
        "probe": {
          "target": "https://exp.mcp.opal.optimizely.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T23:14:41.291176661Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 159,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 99.48,
          "p50ms24h": 159,
          "p95ms24h": 272,
          "samples24h": 244,
          "samples30d": 7469,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 249
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 251
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 250
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 245
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 246
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 247
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 243
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 248
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 245
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 243
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 180
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 236
            },
            {
              "date": "2026-11-07",
              "probes": 236,
              "ok": 236
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.optimizely.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T23:08:32.229347439Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "optimizely/javascript-sdk",
            "version": "v6.7.0",
            "released": "2026-11-03",
            "seenAt": "2026-11-06T23:53:37.267648234Z"
          },
          {
            "registry": "npm",
            "name": "@optimizely/optimizely-sdk",
            "version": "6.7.0",
            "seenAt": "2026-11-06T23:53:35.91997008Z"
          },
          {
            "registry": "pypi",
            "name": "optimizely-sdk",
            "version": "5.8.0",
            "released": "2026-11-02",
            "seenAt": "2026-11-06T23:53:37.079973391Z"
          }
        ],
        "githubStars": 81,
        "npmWeekly": 472122,
        "pypiWeekly": 103304,
        "securityTxt": {
          "url": "https://optimizely.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:45.131005405Z"
        },
        "llmsTxt": {
          "url": "https://docs.optimizely.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:34.028062644Z"
        },
        "domain": {
          "domain": "optimizely.com",
          "registered": "2010-01-11",
          "source": "https://rdap.verisign.com/com/v1/domain/optimizely.com",
          "checkedAt": "2026-11-01T14:22:15.393951346Z"
        },
        "pages": [
          {
            "url": "https://docs.optimizely.com/feature-experimentation/release-notes",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:07:22.970203338Z",
            "changedAt": "2026-11-03T07:48:14.847067801Z",
            "fingerprint": "38df67d7ab67"
          },
          {
            "url": "https://www.optimizely.com/legal/privacy-notice/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:30.088370307Z",
            "changedAt": "2026-10-16T22:39:40.582475053Z",
            "fingerprint": "5bc7e15596b9"
          },
          {
            "url": "https://www.optimizely.com/legal/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:32:32.405261433Z",
            "changedAt": "2026-10-16T22:39:42.973507661Z",
            "fingerprint": "ac5c2a563553"
          }
        ],
        "mcpTools": {
          "url": "https://exp.mcp.opal.optimizely.com/mcp",
          "checkedAt": "2026-11-07T01:46:36.362963266Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:36.362963266Z"
        },
        "github": {
          "repo": "optimizely/javascript-sdk",
          "checkedAt": "2026-11-02T09:13:59.44721614Z",
          "stars": 81,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-30T18:30:22Z",
          "openIssues": 3,
          "openPRs": 3,
          "issuesOpened90d": 2,
          "issuesClosed90d": 0,
          "prsMerged90d": 9,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 34,
            "failure": 16,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-29T17:47:42Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 3,
            "medianDays": 29
          }
        },
        "updatedAt": "2026-11-07T23:14:41.291176661Z"
      }
    },
    "answer": "Optimizely Experimentation scores 64.9 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in 5 of 7 scored categories. RudderStack MCP leads on payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "rudderstack-mcp",
      "name": "RudderStack MCP",
      "vendor": "RudderStack, Inc.",
      "vendorUrl": "https://www.rudderstack.com",
      "kind": "mcp",
      "category": "product-analytics",
      "summary": "RudderStack MCP is a hosted server that lets an agent debug event delivery, warehouse loads and tracking-plan violations, and manage transformations, Reverse ETL and audiences in a RudderStack workspace, over OAuth.",
      "url": "https://www.anchorterminal.com/tools/rudderstack-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/rudderstack-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rudderstack-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rudderstack-mcp.json",
      "dns": "rudderstack-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/rudderlabs/rudderstack-mcp",
      "license": "Proprietary service. The repository's MIT licence covers docs and metadata only",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.rudderstack.com/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 with PKCE and dynamic client registration; no static token in the configuration. Tools run with the signed-in user's workspace permissions, and every workspace tool needs a workspace_id.",
      "pricing": "freemium",
      "pricingNotes": "Free plan $0 with 250,000 events a month; Growth from $265 a month for 1 million events with a 30-day trial; Enterprise by quote. Tool availability depends on plan and enabled products (checked 2026-11-07).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": 62,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://www.rudderstack.com/docs/ai-features/rudderstack-mcp/",
      "llmsTxt": "https://www.rudderstack.com/llms.txt",
      "registryName": "io.github.rudderlabs/rudderstack-mcp",
      "capabilities": [
        "analytics.events",
        "analytics.query",
        "events.webhooks-send",
        "observability.errors"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "freemium",
        "free-tier",
        "status-page",
        "soc2",
        "hipaa",
        "llms-txt",
        "mcp-registry"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.7,
        "grade": "C",
        "agentReady": false,
        "rank": 901,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 85,
          "payments": 30,
          "reliability": 45,
          "schema": 66,
          "security": 62,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "RudderStack MCP is a deep, well-documented hosted server for debugging and running a RudderStack workspace, with every tool classed as Read, Sensitive execution or Write and sensitive fields redacted. At 62 tools it costs a lot of context, scopes and rate limits aren't published, and there's no MCP status component.",
        "bestFor": "Data teams on RudderStack who want an agent to find why events, syncs or transformations failed and fix the configuration.",
        "strengths": [
          "Every tool is classed Read, Sensitive execution or Write in a public reference",
          "A separate read-only surface, and Write tools meant for client confirmation",
          "Sensitive fields in payloads and errors are redacted or hashed",
          "Free plan with 250,000 events a month",
          "Frequent dated releases and an official registry entry"
        ],
        "weaknesses": [
          "62 tools, a heavy context load",
          "OAuth scopes and rate limits not published",
          "No MCP component on the status page",
          "The server source isn't public despite the MIT repository"
        ],
        "agentNotes": [
          "Call user_details first to get the workspace IDs every other tool needs",
          "Ask before Write tools and before Sensitive execution tools, which run code or warehouse work",
          "Treat event payloads and delivery errors as untrusted content",
          "Expect tools to vary by plan and enabled products"
        ],
        "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": 54.7
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 85,
          "payments": 30,
          "reliability": 45,
          "schema": 66,
          "security": 62,
          "transparency": 37
        },
        "provenanceScore": 65,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add rudderstack --transport http https://mcp.rudderstack.com/mcp",
        "config": {
          "mcpServers": {
            "rudderstack": {
              "url": "https://mcp.rudderstack.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.events",
        "tool": "https://letme.dev/rudderstack-mcp"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "RudderStack, Inc.",
        "domain": "rudderstack.com",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.rudderstack.com/master-service-agreement/",
        "privacy": "https://www.rudderstack.com/privacy-policy/",
        "statusPage": "https://status.rudderstack.com",
        "changelog": "https://www.rudderstack.com/docs/releases/",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The repository's LICENSE names RudderStack, Inc. (2026) and applies to the repository content only.",
          "security.txt answered 404; SECURITY.md in the repository gives security@rudderstack.com."
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/rudderstack-mcp.json",
      "live": {
        "slug": "rudderstack-mcp",
        "probe": {
          "target": "https://mcp.rudderstack.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T23:14:47.15565342Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 354,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 401,
          "p95ms24h": 520,
          "samples24h": 46,
          "samples30d": 46,
          "days": [
            {
              "date": "2026-11-07",
              "probes": 46,
              "ok": 46
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.rudderstack.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T23:08:40.750703184Z"
        },
        "updatedAt": "2026-11-07T23:14:47.15565342Z"
      }
    },
    "edges": [
      {
        "by": 38,
        "category": "reliability",
        "leads": "optimizely",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the hosted service with the hosted lines. Statuspage at status.optimizely.com with 174 components, among them Optimizely REST API, Results API, Events API, Snippet Delivery and Snippet Building for Feature and Web Experimentation (20). From 4 August to 2 November 2026 its history shows three incidents that reach Experimentation, all minor. On 25 August a provider's network fault degraded service for a subset of customers in Southeast Asia (05:15 to 07:37 UTC). On 17 September Optimizely Identity sent users to the wrong SSO page for about 3 minutes, which touches the sign-in the MCP server uses. On 15 October snippet publishing for Web Experimentation was delayed for some customers while existing experiences kept serving. The 23 July Okta sign-in incident has left the window (20 of 30). The Feature Experimentation API is limited to 2 requests a second and 120 a minute, the Optimizely API to 100 a minute and the results endpoints to 20 a minute. No limit was found for the MCP server (13 of 15). The API conventions page documents `429 - Too Many Requests` with `X-RATELIMIT-LIMIT`, `X-RATELIMIT-REMAINING` and `X-RATELIMIT-RESET` on every response and says to wait for the reset, but no idempotency key or safe-retry guidance for writes was found (10 of 15). The Service Level Agreement V 2024-05 gives credits from 10 per cent once downtime passes 43 minutes in a month, capped at 50 per cent (10). The REST APIs are versioned and the MCP pages carry no beta label (10). 20 + 20 + 13 + 10 + 10 + 10 = 83.",
          "b": "Statuspage at status.rudderstack.com with regional components and none for MCP (15). Since August the history shows an EU ingestion issue, increased US latency, a Python transformations issue, free-tier processing delays and scheduled maintenance (20, minor incidents). No MCP rate limits found (0). No retry guidance for the MCP server found (0). No SLA found in the pages read (0). Not labelled beta (10). 15 + 20 + 0 + 0 + 0 + 10 = 45."
        },
        "scores": {
          "a": 83,
          "b": 45
        }
      },
      {
        "by": 30,
        "category": "payments",
        "leads": "rudderstack-mcp",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). No price is published. The plans page says every plan is individually packaged and leads to a demo request (0). No free plan or trial was found on the plans page, the product pages or the docs (0). Access needs a subscription and a browser sign-in through Opti ID (0).",
          "b": "No machine payment protocol (0). Public plan prices with event allowances, nothing per call (10). Free plan with 250,000 events a month (20). A person signs up in a browser and approves OAuth (0). 0 + 10 + 20 + 0 = 30."
        },
        "scores": {
          "a": 0,
          "b": 30
        }
      },
      {
        "by": 24,
        "category": "transparency",
        "leads": "optimizely",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed hosted service under a published Online Software Subscription Agreement and API, SDK and MCP terms. The SDKs are open source under Apache 2.0 (17 of 30). The privacy notice of 1 July 2026 says it does not cover customer data and points to the subscription agreement and the Data Processing Agreement (V 2026-01), which agree. Event data is kept 18 months, and customer data may be deleted 30 days after a subscription ends. How the MCP server and Opal handle prompts for Experimentation is not stated on the MCP pages (22 of 30). The API, SDK and MCP terms let Optimizely revise, suspend or cancel any API or MCP at any time under its documentation and policies. An SDK compatibility matrix exists. No deprecation policy with a notice period was found for the APIs (6 of 20). The sub-processor list, updated 14 September 2026, names providers by product with hosting locations. Web and Feature Experimentation list Amazon Web Services in the United States and Google Cloud in the United States and Europe (18 of 20).",
          "b": "The server's source is closed; the repository's MIT licence covers only its docs and metadata. Terms in a master service agreement naming RudderStack, Inc. (15). Privacy policy read, retention given by purpose, not as periods (12 of 30). No deprecation policy for the MCP server (5 of 20). Subprocessors not found in the pages read (5 of 20). The MCP docs say live events, schemas, profile artifacts, transformation code and audit data stay within the workspace view. 15 + 12 + 5 + 5 = 37."
        },
        "scores": {
          "a": 75,
          "b": 51
        }
      },
      {
        "by": 16,
        "category": "ergonomics",
        "leads": "optimizely",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The MCP server lists eight tools since `exp_program_reporting_execute_query` was added on 13 October 2026, which is 25 on the checklist. We took 2 off because the tool definitions were unread and their size is unknown (23 of 25). `per_page` up to 100 and `page` on the v2 lists, `page_token`, `sort` and `query` on the flags list, and time windows on results (17 of 20). The Optimizely API returns `code`, `message` and a `uuid`, and the Feature Experimentation API returns a problem detail object. MCP error results were unread (13 of 20). No idempotency keys were found and the tool annotations were unread. The docs say the agent confirms project, environment and details before a change, which is client behaviour, and entities are archived through the lifecycle tool (5 of 20). The MCP server needs only a URL. The official SDKs in eleven languages evaluate flags and log events and do not cover the management APIs (10 of 15).",
          "b": "62 tools (5), plus a separately controlled read-only web surface (5). Filters on some list tools, not documented generally (8 of 20). One documented error (5 of 20). Read, Sensitive execution and Write classes, with Write tools to be confirmed by the client; annotations not read (14 of 20). One URL with OAuth and RudderStack SDKs in many languages (15). 10 + 8 + 5 + 14 + 15 = 52."
        },
        "scores": {
          "a": 68,
          "b": 52
        }
      },
      {
        "by": 10,
        "category": "schema",
        "leads": "optimizely",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The Swagger 2.0 file for the Optimizely API sits at api.optimizely.com, whose robots.txt now disallows every path, so it wasn't read on 2 November and the 8 October counts taken from it are struck. Each reference page on docs.optimizely.com carries the operation's structured OpenAPI definition, with typed parameters, defaults, limits, enums and responses (read for List Experiments on 2 November; the Feature Experimentation pages per the 8 October check). We could not read the MCP tool schemas, which need a sign-in (20 of 25). llms.txt and a Markdown copy of every docs page (10). Reference pages describe each operation's purpose. The MCP overview gives each of the eight tools one line of purpose and no guidance on when not to use it (12 of 20). Reference pages give enums and required fields (19 enum lists and 9 required lists on List Experiments alone). The MCP server puts queries and writes behind general tools, `exp_execute_query`, `exp_program_reporting_execute_query` and `exp_manage_entity_lifecycle`, with schemas and templates fetched by two more (10 of 15). Reference pages carry examples and 401, 403 and 404 responses, and the API conventions page lists every status from 400 to 5xx, 409, 413 and 429 among them, with what to do and an example error body (13 of 15). Versions are in the path (`/v2`, `/flags/v1`) and each product has dated release notes with an RSS feed. No changelog for the APIs alone was found (11 of 15). 20 + 10 + 12 + 10 + 13 + 11 = 76.",
          "b": "The public repository's docs/tools.md lists 62 tools with an access class for each; JSON Schemas not read without a session (15 of 25). llms.txt (10). Every tool has a one-line purpose and a Read, Sensitive execution or Write class (15 of 20). Inputs not verifiable (5 of 15). Example prompts and a documented 'workspace_id is required' error (6 of 15). Versioned in the registry (0.43.1, 6 November) and dated release notes (15). 15 + 10 + 15 + 5 + 6 + 15 = 66."
        },
        "scores": {
          "a": 76,
          "b": 66
        }
      },
      {
        "by": 7,
        "category": "maintenance",
        "leads": "rudderstack-mcp",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The newest Feature Experimentation release notes are dated 15 October (Flutter SDK 4.0.0) and 13 October 2026 (a new MCP tool), 18 and 20 days before this check (30). Feature Experimentation notes on 6 August, 3 September, 13 and 15 October 2026, monthly Web Experimentation notes, plus `@optimizely/optimizely-sdk` 6.6.0 (3 September) and 6.6.1 (18 September) and `optimizely-sdk` 5.7.0 for Python (tag 7 September) (20). Closed service with public release notes, an RSS feed and a support centre. We did not read how quickly questions are answered (9 of 15). Official SDKs are current in eleven languages. The MCP server is not in the official MCP registry, where a search for optimizely returns nothing on 2 November (12 of 15). The JavaScript SDK repository has six CI workflow files and 9 commits since 4 August 2026, the last on 29 October (7 of 10). 30 + 20 + 9 + 12 + 7 = 78.",
          "b": "Release notes dated 4 November 2026 and a registry version on 6 November (30). Many dated releases in 90 days (20). Public issue templates on the MCP repository, issues not read, plus release notes (10 of 25). Official registry entry io.github.rudderlabs/rudderstack-mcp and current official SDKs (15). A repository workflow publishes to the registry (10). 30 + 20 + 10 + 15 + 10 = 85. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API."
        },
        "scores": {
          "a": 78,
          "b": 85
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "Optimizely",
        "b": "RudderStack, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://exp.mcp.opal.optimizely.com/mcp",
        "b": "https://mcp.rudderstack.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "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": "Proprietary service. The repository's MIT licence covers docs and metadata only",
        "name": "Licence"
      },
      {
        "a": "8",
        "b": "62",
        "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.rudderlabs/rudderstack-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-15",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "not read yet",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "not read yet",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "460k npm/wk, 86k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "2/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Optimizely Experimentation scores 64.9 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in 5 of 7 scored categories. RudderStack MCP leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Optimizely Experimentation or RudderStack MCP?"
      },
      {
        "answer": "Optimizely Experimentation takes an API key or an OAuth sign-in. RudderStack MCP uses an OAuth sign-in.",
        "question": "Do Optimizely Experimentation and RudderStack MCP need an API key?"
      },
      {
        "answer": "Yes. Optimizely Experimentation has a hosted endpoint at https://exp.mcp.opal.optimizely.com/mcp and RudderStack MCP at https://mcp.rudderstack.com/mcp.",
        "question": "Can an agent call Optimizely Experimentation and RudderStack MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 83 against 45",
          "Schema \u0026 documentation, 76 against 66",
          "Agent ergonomics, 68 against 52",
          "Transparency \u0026 trust, 75 against 51"
        ],
        "also": null,
        "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 asks for details to build a custom quote"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 0",
          "Maintenance \u0026 community, 85 against 78"
        ],
        "also": null,
        "goodFor": "Data teams on RudderStack who want an agent to find why events, syncs or transformations failed and fix the configuration.",
        "slug": "rudderstack-mcp",
        "watchFor": "62 tools, a heavy context load"
      }
    ],
    "history": {
      "optimizely": [
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-11-02",
          "delta": 2.3,
          "from": 62.6,
          "fromGrade": "B",
          "to": 64.9,
          "toGrade": "B"
        }
      ],
      "rudderstack-mcp": null
    },
    "job": {
      "capability": "analytics.query",
      "name": "Analytics queries"
    },
    "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-rudderstack-mcp.json",
        "title": "Amplitude vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-optimizely.json",
        "title": "Countly vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/countly-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-rudderstack-mcp.json",
        "title": "Countly vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/countly-vs-rudderstack-mcp"
      },
      {
        "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-rudderstack-mcp.json",
        "title": "Fullstory vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/matomo-vs-optimizely.json",
        "title": "Matomo vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/matomo-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/matomo-vs-rudderstack-mcp.json",
        "title": "Matomo vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/matomo-vs-rudderstack-mcp"
      },
      {
        "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-rudderstack-mcp.json",
        "title": "Mixpanel vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-optimizely.json",
        "title": "Mostly Good Metrics vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-rudderstack-mcp.json",
        "title": "Mostly Good Metrics vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-optimizely.json",
        "title": "OpenPanel vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-rudderstack-mcp.json",
        "title": "OpenPanel vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-rudderstack-mcp"
      },
      {
        "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/optimizely-vs-userpilot.json",
        "title": "Optimizely Experimentation vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-userpilot"
      },
      {
        "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-rudderstack-mcp.json",
        "title": "Pendo vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp.json",
        "title": "PostHog vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-rudderstack-mcp.json",
        "title": "Flagsmith vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-rudderstack-mcp.json",
        "title": "GrowthBook vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-fme-vs-rudderstack-mcp.json",
        "title": "Harness Feature Management \u0026 Experimentation vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/harness-fme-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-rudderstack-mcp.json",
        "title": "Heap vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/heap-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-statsig.json",
        "title": "RudderStack MCP vs Statsig",
        "url": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-userpilot.json",
        "title": "RudderStack MCP vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-woopra.json",
        "title": "RudderStack MCP vs Woopra",
        "url": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-woopra"
      },
      {
        "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/harness-fme-vs-optimizely.json",
        "title": "Harness Feature Management \u0026 Experimentation vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/harness-fme-vs-optimizely"
      },
      {
        "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/growthbook-vs-optimizely.json",
        "title": "GrowthBook vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-posthog.json",
        "title": "Optimizely Experimentation vs PostHog",
        "url": "https://www.anchorterminal.com/compare/optimizely-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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 38,
        "edge": "optimizely",
        "key": "reliability",
        "name": "Reliability",
        "optimizely": 83,
        "rudderstack-mcp": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "optimizely",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "optimizely": 76,
        "rudderstack-mcp": 66,
        "weight": 13
      },
      {
        "by": 16,
        "edge": "optimizely",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "optimizely": 68,
        "rudderstack-mcp": 52,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "optimizely",
        "key": "security",
        "name": "Security \u0026 auth",
        "optimizely": 66,
        "rudderstack-mcp": 62,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "rudderstack-mcp",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "optimizely": 0,
        "rudderstack-mcp": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "rudderstack-mcp",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "optimizely": 78,
        "rudderstack-mcp": 85,
        "weight": 7
      },
      {
        "by": 24,
        "edge": "optimizely",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "optimizely": 75,
        "rudderstack-mcp": 51,
        "weight": 7
      }
    ],
    "summary": "Optimizely Experimentation scores 64.9 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in 5 of 7 scored categories. RudderStack MCP leads on payments \u0026 pricing and maintenance \u0026 community. Both do analytics queries.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "optimizely": "Optimizely Experimentation suits agents working for an existing customer that manage flags and experiments and read results. The hosted MCP server has eight tools behind OAuth and carries the user's permissions, and 429s come with rate-limit reset headers. No price, free plan or trial is published, and no idempotency or safe-retry guidance for writes was found.",
      "rudderstack-mcp": "RudderStack MCP is a deep, well-documented hosted server for debugging and running a RudderStack workspace, with every tool classed as Read, Sensitive execution or Write and sensitive fields redacted. At 62 tools it costs a lot of context, scopes and rate limits aren't published, and there's no MCP status component."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp",
    "json": "https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp.min.md"
  },
  "markdown": "Optimizely Experimentation scores 64.9 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in 5 of 7 scored categories. RudderStack MCP leads on payments \u0026 pricing and maintenance \u0026 community. Both do analytics queries.\n\n- Optimizely Experimentation: grade B, 64.9/100, rank #445 of 1510. Markdown https://www.anchorterminal.com/tools/optimizely.md · JSON https://www.anchorterminal.com/api/v1/tools/optimizely.json\n- RudderStack MCP: grade C, 54.7/100, rank #901 of 1510. Markdown https://www.anchorterminal.com/tools/rudderstack-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/rudderstack-mcp.json\n- Best product analytics and experimentation tools for AI agents: https://www.anchorterminal.com/best/product-analytics/index.md\n- All 170 product analytics comparisons: https://www.anchorterminal.com/compare/product-analytics/index.md\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\nAhead on:\n- Reliability, 83 against 45\n- Schema \u0026 documentation, 76 against 66\n- Agent ergonomics, 68 against 52\n- Transparency \u0026 trust, 75 against 51\n\nWatch for: No price is published. The plans page asks for details to build a custom quote\n\n### RudderStack MCP (C)\n\nGood for: Data teams on RudderStack who want an agent to find why events, syncs or transformations failed and fix the configuration.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 0\n- Maintenance \u0026 community, 85 against 78\n\nWatch for: 62 tools, a heavy context load\n\n\n## Why the edge\n\n### Reliability: Optimizely Experimentation +38\n\n- Optimizely Experimentation (83): Graded on the hosted service with the hosted lines. Statuspage at status.optimizely.com with 174 components, among them Optimizely REST API, Results API, Events API, Snippet Delivery and Snippet Building for Feature and Web Experimentation (20). From 4 August to 2 November 2026 its history shows three incidents that reach Experimentation, all minor. On 25 August a provider's network fault degraded service for a subset of customers in Southeast Asia (05:15 to 07:37 UTC). On 17 September Optimizely Identity sent users to the wrong SSO page for about 3 minutes, which touches the sign-in the MCP server uses. On 15 October snippet publishing for Web Experimentation was delayed for some customers while existing experiences kept serving. The 23 July Okta sign-in incident has left the window (20 of 30). The Feature Experimentation API is limited to 2 requests a second and 120 a minute, the Optimizely API to 100 a minute and the results endpoints to 20 a minute. No limit was found for the MCP server (13 of 15). The API conventions page documents `429 - Too Many Requests` with `X-RATELIMIT-LIMIT`, `X-RATELIMIT-REMAINING` and `X-RATELIMIT-RESET` on every response and says to wait for the reset, but no idempotency key or safe-retry guidance for writes was found (10 of 15). The Service Level Agreement V 2024-05 gives credits from 10 per cent once downtime passes 43 minutes in a month, capped at 50 per cent (10). The REST APIs are versioned and the MCP pages carry no beta label (10). 20 + 20 + 13 + 10 + 10 + 10 = 83.\n- RudderStack MCP (45): Statuspage at status.rudderstack.com with regional components and none for MCP (15). Since August the history shows an EU ingestion issue, increased US latency, a Python transformations issue, free-tier processing delays and scheduled maintenance (20, minor incidents). No MCP rate limits found (0). No retry guidance for the MCP server found (0). No SLA found in the pages read (0). Not labelled beta (10). 15 + 20 + 0 + 0 + 0 + 10 = 45.\n\n### Payments \u0026 pricing: RudderStack MCP +30\n\n- Optimizely Experimentation (0): No x402, MPP or L402 (0). No price is published. The plans page says every plan is individually packaged and leads to a demo request (0). No free plan or trial was found on the plans page, the product pages or the docs (0). Access needs a subscription and a browser sign-in through Opti ID (0).\n- RudderStack MCP (30): No machine payment protocol (0). Public plan prices with event allowances, nothing per call (10). Free plan with 250,000 events a month (20). A person signs up in a browser and approves OAuth (0). 0 + 10 + 20 + 0 = 30.\n\n### Transparency \u0026 trust: Optimizely Experimentation +24\n\n- Optimizely Experimentation (75): Closed hosted service under a published Online Software Subscription Agreement and API, SDK and MCP terms. The SDKs are open source under Apache 2.0 (17 of 30). The privacy notice of 1 July 2026 says it does not cover customer data and points to the subscription agreement and the Data Processing Agreement (V 2026-01), which agree. Event data is kept 18 months, and customer data may be deleted 30 days after a subscription ends. How the MCP server and Opal handle prompts for Experimentation is not stated on the MCP pages (22 of 30). The API, SDK and MCP terms let Optimizely revise, suspend or cancel any API or MCP at any time under its documentation and policies. An SDK compatibility matrix exists. No deprecation policy with a notice period was found for the APIs (6 of 20). The sub-processor list, updated 14 September 2026, names providers by product with hosting locations. Web and Feature Experimentation list Amazon Web Services in the United States and Google Cloud in the United States and Europe (18 of 20).\n- RudderStack MCP (51): The server's source is closed; the repository's MIT licence covers only its docs and metadata. Terms in a master service agreement naming RudderStack, Inc. (15). Privacy policy read, retention given by purpose, not as periods (12 of 30). No deprecation policy for the MCP server (5 of 20). Subprocessors not found in the pages read (5 of 20). The MCP docs say live events, schemas, profile artifacts, transformation code and audit data stay within the workspace view. 15 + 12 + 5 + 5 = 37.\n\n### Agent ergonomics: Optimizely Experimentation +16\n\n- Optimizely Experimentation (68): The MCP server lists eight tools since `exp_program_reporting_execute_query` was added on 13 October 2026, which is 25 on the checklist. We took 2 off because the tool definitions were unread and their size is unknown (23 of 25). `per_page` up to 100 and `page` on the v2 lists, `page_token`, `sort` and `query` on the flags list, and time windows on results (17 of 20). The Optimizely API returns `code`, `message` and a `uuid`, and the Feature Experimentation API returns a problem detail object. MCP error results were unread (13 of 20). No idempotency keys were found and the tool annotations were unread. The docs say the agent confirms project, environment and details before a change, which is client behaviour, and entities are archived through the lifecycle tool (5 of 20). The MCP server needs only a URL. The official SDKs in eleven languages evaluate flags and log events and do not cover the management APIs (10 of 15).\n- RudderStack MCP (52): 62 tools (5), plus a separately controlled read-only web surface (5). Filters on some list tools, not documented generally (8 of 20). One documented error (5 of 20). Read, Sensitive execution and Write classes, with Write tools to be confirmed by the client; annotations not read (14 of 20). One URL with OAuth and RudderStack SDKs in many languages (15). 10 + 8 + 5 + 14 + 15 = 52.\n\n### Schema \u0026 documentation: Optimizely Experimentation +10\n\n- Optimizely Experimentation (76): The Swagger 2.0 file for the Optimizely API sits at api.optimizely.com, whose robots.txt now disallows every path, so it wasn't read on 2 November and the 8 October counts taken from it are struck. Each reference page on docs.optimizely.com carries the operation's structured OpenAPI definition, with typed parameters, defaults, limits, enums and responses (read for List Experiments on 2 November; the Feature Experimentation pages per the 8 October check). We could not read the MCP tool schemas, which need a sign-in (20 of 25). llms.txt and a Markdown copy of every docs page (10). Reference pages describe each operation's purpose. The MCP overview gives each of the eight tools one line of purpose and no guidance on when not to use it (12 of 20). Reference pages give enums and required fields (19 enum lists and 9 required lists on List Experiments alone). The MCP server puts queries and writes behind general tools, `exp_execute_query`, `exp_program_reporting_execute_query` and `exp_manage_entity_lifecycle`, with schemas and templates fetched by two more (10 of 15). Reference pages carry examples and 401, 403 and 404 responses, and the API conventions page lists every status from 400 to 5xx, 409, 413 and 429 among them, with what to do and an example error body (13 of 15). Versions are in the path (`/v2`, `/flags/v1`) and each product has dated release notes with an RSS feed. No changelog for the APIs alone was found (11 of 15). 20 + 10 + 12 + 10 + 13 + 11 = 76.\n- RudderStack MCP (66): The public repository's docs/tools.md lists 62 tools with an access class for each; JSON Schemas not read without a session (15 of 25). llms.txt (10). Every tool has a one-line purpose and a Read, Sensitive execution or Write class (15 of 20). Inputs not verifiable (5 of 15). Example prompts and a documented 'workspace_id is required' error (6 of 15). Versioned in the registry (0.43.1, 6 November) and dated release notes (15). 15 + 10 + 15 + 5 + 6 + 15 = 66.\n\n### Maintenance \u0026 community: RudderStack MCP +7\n\n- Optimizely Experimentation (78): The newest Feature Experimentation release notes are dated 15 October (Flutter SDK 4.0.0) and 13 October 2026 (a new MCP tool), 18 and 20 days before this check (30). Feature Experimentation notes on 6 August, 3 September, 13 and 15 October 2026, monthly Web Experimentation notes, plus `@optimizely/optimizely-sdk` 6.6.0 (3 September) and 6.6.1 (18 September) and `optimizely-sdk` 5.7.0 for Python (tag 7 September) (20). Closed service with public release notes, an RSS feed and a support centre. We did not read how quickly questions are answered (9 of 15). Official SDKs are current in eleven languages. The MCP server is not in the official MCP registry, where a search for optimizely returns nothing on 2 November (12 of 15). The JavaScript SDK repository has six CI workflow files and 9 commits since 4 August 2026, the last on 29 October (7 of 10). 30 + 20 + 9 + 12 + 7 = 78.\n- RudderStack MCP (85): Release notes dated 4 November 2026 and a registry version on 6 November (30). Many dated releases in 90 days (20). Public issue templates on the MCP repository, issues not read, plus release notes (10 of 25). Official registry entry io.github.rudderlabs/rudderstack-mcp and current official SDKs (15). A repository workflow publishes to the registry (10). 30 + 20 + 10 + 15 + 10 = 85. Registry presence read from Anchor Terminal's own daily import of the official MCP registry (/api/v1/registry.json, 6 November 2026), not the registry's API.\n\n## Score by category\n\n| Category | Weight | Optimizely Experimentation | RudderStack MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 83 | 45 | Optimizely Experimentation +38 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 66 | Optimizely Experimentation +10 |\n| Agent ergonomics | 13% (16.2 this run) | 68 | 52 | Optimizely Experimentation +16 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 62 | Optimizely Experimentation +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 30 | RudderStack MCP +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 78 | 85 | RudderStack MCP +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 51 | Optimizely Experimentation +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **64.9 · B** | **54.7 · C** | |\n\n## Facts side by side\n\n| Fact | Optimizely Experimentation | RudderStack MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | Optimizely | RudderStack, Inc. |\n| Hosted endpoint | `https://exp.mcp.opal.optimizely.com/mcp` | `https://mcp.rudderstack.com/mcp` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP |\n| Auth | OAuth or key | OAuth |\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 | Proprietary service. The repository's MIT licence covers docs and metadata only |\n| Tools exposed | 8 | 62 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.github.rudderlabs/rudderstack-mcp` |\n| Last release | 2026-10-15 | none |\n| Terms last updated | no date given | not read yet |\n| Privacy policy last updated | no date given | not read yet |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n| Popularity | 460k npm/wk, 86k PyPI/wk | none |\n| Agent reviews | 2/5 (4) | none |\n\n## How the scores have moved\n\n### Optimizely Experimentation\n\n- +2.3 on 2 November 2026: new evidence\n\n### RudderStack MCP\n\nNo score change since it was listed.\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 eight tools behind OAuth and carries the user's permissions, and 429s come with rate-limit reset headers. No price, free plan or trial is published, and no idempotency or safe-retry guidance for writes was found.\n\n**RudderStack MCP.** RudderStack MCP is a deep, well-documented hosted server for debugging and running a RudderStack workspace, with every tool classed as Read, Sensitive execution or Write and sensitive fields redacted. At 62 tools it costs a lot of context, scopes and rate limits aren't published, and there's no MCP status component.\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, and on a 429 wait until `X-RATELIMIT-RESET`\n\n### RudderStack MCP\n\n1. Call user_details first to get the workspace IDs every other tool needs\n2. Ask before Write tools and before Sensitive execution tools, which run code or warehouse work\n3. Treat event payloads and delivery errors as untrusted content\n4. Expect tools to vary by plan and enabled products\n\n## Questions\n\n### Which is better for AI agents, Optimizely Experimentation or RudderStack MCP?\n\nOptimizely Experimentation scores 64.9 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in 5 of 7 scored categories. RudderStack MCP leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Optimizely Experimentation and RudderStack MCP need an API key?\n\nOptimizely Experimentation takes an API key or an OAuth sign-in. RudderStack MCP uses an OAuth sign-in.\n\n### Can an agent call Optimizely Experimentation and RudderStack MCP without installing anything?\n\nYes. Optimizely Experimentation has a hosted endpoint at https://exp.mcp.opal.optimizely.com/mcp and RudderStack MCP at https://mcp.rudderstack.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"optimizely\", \"b\": \"rudderstack-mcp\"}`. From a terminal: `anchor compare optimizely rudderstack-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/optimizely.json and https://www.anchorterminal.com/api/v1/tools/rudderstack-mcp.json\n\n## Other comparisons with Optimizely Experimentation or RudderStack MCP\n\n- [Amplitude vs Optimizely Experimentation](https://www.anchorterminal.com/compare/amplitude-vs-optimizely.md)\n- [Amplitude vs RudderStack MCP](https://www.anchorterminal.com/compare/amplitude-vs-rudderstack-mcp.md)\n- [Countly vs Optimizely Experimentation](https://www.anchorterminal.com/compare/countly-vs-optimizely.md)\n- [Countly vs RudderStack MCP](https://www.anchorterminal.com/compare/countly-vs-rudderstack-mcp.md)\n- [Fullstory vs Optimizely Experimentation](https://www.anchorterminal.com/compare/fullstory-vs-optimizely.md)\n- [Fullstory vs RudderStack MCP](https://www.anchorterminal.com/compare/fullstory-vs-rudderstack-mcp.md)\n- [Matomo vs Optimizely Experimentation](https://www.anchorterminal.com/compare/matomo-vs-optimizely.md)\n- [Matomo vs RudderStack MCP](https://www.anchorterminal.com/compare/matomo-vs-rudderstack-mcp.md)\n- [Mixpanel vs Optimizely Experimentation](https://www.anchorterminal.com/compare/mixpanel-vs-optimizely.md)\n- [Mixpanel vs RudderStack MCP](https://www.anchorterminal.com/compare/mixpanel-vs-rudderstack-mcp.md)\n- [Mostly Good Metrics vs Optimizely Experimentation](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-optimizely.md)\n- [Mostly Good Metrics vs RudderStack MCP](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-rudderstack-mcp.md)\n- [OpenPanel vs Optimizely Experimentation](https://www.anchorterminal.com/compare/openpanel-vs-optimizely.md)\n- [OpenPanel vs RudderStack MCP](https://www.anchorterminal.com/compare/openpanel-vs-rudderstack-mcp.md)\n- [Optimizely Experimentation vs Pendo](https://www.anchorterminal.com/compare/optimizely-vs-pendo.md)\n- [Optimizely Experimentation vs Userpilot](https://www.anchorterminal.com/compare/optimizely-vs-userpilot.md)\n- [Optimizely Experimentation vs Woopra](https://www.anchorterminal.com/compare/optimizely-vs-woopra.md)\n- [Pendo vs RudderStack MCP](https://www.anchorterminal.com/compare/pendo-vs-rudderstack-mcp.md)\n- [PostHog vs RudderStack MCP](https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp.md)\n- [Flagsmith vs RudderStack MCP](https://www.anchorterminal.com/compare/flagsmith-vs-rudderstack-mcp.md)\n- [GrowthBook vs RudderStack MCP](https://www.anchorterminal.com/compare/growthbook-vs-rudderstack-mcp.md)\n- [Harness Feature Management \u0026 Experimentation vs RudderStack MCP](https://www.anchorterminal.com/compare/harness-fme-vs-rudderstack-mcp.md)\n- [Heap vs RudderStack MCP](https://www.anchorterminal.com/compare/heap-vs-rudderstack-mcp.md)\n- [RudderStack MCP vs Statsig](https://www.anchorterminal.com/compare/rudderstack-mcp-vs-statsig.md)\n- [RudderStack MCP vs Userpilot](https://www.anchorterminal.com/compare/rudderstack-mcp-vs-userpilot.md)\n- [RudderStack MCP vs Woopra](https://www.anchorterminal.com/compare/rudderstack-mcp-vs-woopra.md)\n- [Flagsmith vs Optimizely Experimentation](https://www.anchorterminal.com/compare/flagsmith-vs-optimizely.md)\n- [Harness Feature Management \u0026 Experimentation vs Optimizely Experimentation](https://www.anchorterminal.com/compare/harness-fme-vs-optimizely.md)\n- [LaunchDarkly vs Optimizely Experimentation](https://www.anchorterminal.com/compare/launchdarkly-vs-optimizely.md)\n- [GrowthBook vs Optimizely Experimentation](https://www.anchorterminal.com/compare/growthbook-vs-optimizely.md)\n- [Optimizely Experimentation vs PostHog](https://www.anchorterminal.com/compare/optimizely-vs-posthog.md)\n- [Optimizely Experimentation vs Statsig](https://www.anchorterminal.com/compare/optimizely-vs-statsig.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": "Optimizely Experimentation vs RudderStack MCP",
        "url": ""
      }
    ],
    "description": "Optimizely Experimentation scores 64.9 (B) to RudderStack MCP's 54.7 (C) for analytics queries. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Optimizely Experimentation B 64.9",
      "RudderStack MCP C 54.7",
      "scores"
    ],
    "h1": "Optimizely Experimentation vs RudderStack MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/optimizely-vs-rudderstack-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Optimizely Experimentation vs RudderStack MCP for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp"
  },
  "tokens": {
    "markdown": 5250,
    "slim": 3180
  },
  "version": 1
}
