Head to head · Analytics queries · October 2026 research run

Mostly Good Metrics vs Optimizely Experimentation

Optimizely Experimentation scores 64.9 (B) on agent readiness against Mostly Good Metrics's 41.7 (E), and leads in 6 of 7 scored categories. Mostly Good Metrics leads on payments & pricing. Both do analytics queries.

Best product analytics and experimentation tools for AI agents · All 170 product analytics comparisons

Which one, for what

Mostly Good Metrics E

Best for Indie and small-team apps that want simple funnels and retention an agent can query.

Ahead on

  • Payments & pricing, 30 against 0

Also in its favour

  • Free to start without a card

Watch for

Public beta run by one developer, with no named legal entity in the terms

Optimizely Experimentation B

Best 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.

Ahead on

  • Reliability, 83 against 29
  • Schema & documentation, 76 against 49
  • Agent ergonomics, 68 against 49
  • Security & auth, 66 against 33
  • Transparency & trust, 75 against 45

Watch for

No price is published. The plans page asks for details to build a custom quote

Why the edge

Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.

Reliability Optimizely Experimentation +54

Mostly Good Metrics 29

Graded on the hosted service with the hosted lines. No status page was found (0) and no incident history could be read (5). Ingestion limits are documented per plan (1,000 to 100,000 events a minute and 10,000 to 1,000,000 an hour), but no limit for MCP or query calls was found (12 of 15). 429 with Retry-After in the header and body, and the SDKs queue events and back off. No idempotency or safe-retry guidance for writes (12 of 15). No SLA (0). The press kit calls the product a public beta (0). 0+5+12+12+0+0 = 29.

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.

Security & auth Optimizely Experimentation +33

Mostly Good Metrics 33

OAuth 2.0 with PKCE, dynamic client registration and a revocation endpoint for MCP and the CLI; project ingest keys in a Bearer header that can be pinned to origins or app IDs. The only tool scope advertised is mcp:tools, so a connection gets every tool the user can use (24 of 30). Restricted keys and a confirmation step for unrestricted keys in the CLI; no read-only MCP mode or approval for deletes was found (6 of 20). Event properties come from apps and end users and reach the agent, and no prompt-injection guidance was found (3 of 15). No audit log was found (0). No security.txt, disclosure policy or certification was found (0). 24+6+3+0+0 = 33.

Optimizely Experimentation 66

The MCP server uses OAuth 2.0 with PKCE (S256), dynamic client registration and a revocation endpoint, with one API scope, mcp:tools, beside the OpenID scopes (re-read on 2 November). REST personal access tokens are revocable, named and sent in a header, and administrators can revoke any collaborator's token. The REST OAuth flow has the single scope all, described as full access to the account (22 of 30). Sessions and tokens carry the user's role, Feature Experimentation has granular roles for flags, environments and audiences, and change approvals have routed flag changes to reviewers since 6 August 2026. No read-only mode for the MCP server was found, and confirmation before a write is left to the client (13 of 20). No guidance on prompt injection was found, though tools return names, descriptions and hypotheses that people wrote (3 of 15). Change history for projects and flags is in the application, at /v2/changes and in webhooks (12 of 15). ISO 27001, ISO 27017, ISO 27018, SOC 2 Type 2 and PCI DSS are stated for Web and Feature Experimentation, with annual penetration tests and a bug bounty programme reachable at securityeng@optimizely.com. No security.txt and no public programme link (16 of 20).

Payments & pricing Mostly Good Metrics +30

Mostly Good Metrics 30

No x402, MPP or L402 (0). Plan prices with event allowances are on the home page; no per-event price (10). Free plan with no card, stated on the home and about pages (20). Signup and OAuth approval happen in a browser (0). 0+10+20+0 = 30.

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).

Transparency & trust Optimizely Experimentation +30

Mostly Good Metrics 45

The service is closed; the SDKs and CLI are MIT. Terms of December 2025 with no legal entity named (18 of 30). The privacy policy and terms agree on raw-event retention for the subscription's life and deletion within 14 days of account deletion; the about page says data is not used to train models. No DPA was found (18 of 30). The legacy X-MGM-Key header is still supported, and no deprecation policy was found (3 of 20). The terms name eight sub-processors with their purpose, without data locations (12 of 20). 18+18+3+12 = 51.

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).

Schema & documentation Optimizely Experimentation +27

Mostly Good Metrics 49

No OpenAPI file was found. The docs say every MCP tool describes its own parameters, and the query definition object is documented in full; we didn't open an MCP session to read the schemas (12 of 25). No llms.txt (404) and no Markdown pages served for agents (0). Each tool area is documented with examples, and the docs say when to use query_metrics instead of repeated execute_query calls (10 of 20). The query definition lists metrics, dimensions, date ranges and filter operators (9 of 15). The ingestion API documents its error body and status codes, and query_metrics reports per-item errors (11 of 15). /v1 and /api/v2 paths and dated SDK tags, but no product changelog (7 of 15). 12+0+10+9+11+7 = 49.

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.

Agent ergonomics Optimizely Experimentation +19

Mostly Good Metrics 49

53 tools, more than 30 (5). We added 3 because Goals and Alerts tools load only where enabled and query_metrics batches up to 10 queries (8 of 25). Date ranges, grouping and filters on queries; no documented page or limit parameters for lists (12 of 20). JSON errors with a message, and per-item status in batch results (13 of 20). Annotations weren't readable without a session, the tool list includes deletes and key revocation, and no idempotency keys were found (4 of 20). Five client SDKs and a CLI with --json output (12 of 15). 8+12+13+4+12 = 49.

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).

Score by category

CategoryWeight this runMostly Good MetricsOptimizely ExperimentationEdge
Reliability16%202983Optimizely Experimentation +54
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.24976Optimizely Experimentation +27
Agent ergonomics13%16.24968Optimizely Experimentation +19
Security & auth14%17.53366Optimizely Experimentation +33
Payments & pricing10%12.5300Mostly Good Metrics +30
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.87478Optimizely Experimentation +4
Transparency & trust7%8.84575Optimizely Experimentation +30
Negative events≤1500
TotalE 41.7/100B 64.9/100

Facts side by side

FactMostly Good MetricsOptimizely Experimentation
KindHTTP APIHTTP API
VendorMostly Good MetricsOptimizely
Hosted endpointhttps://app.mostlygoodmetrics.com/mcphttps://exp.mcp.opal.optimizely.com/mcp
TransportsHTTP, Streamable HTTPHTTP, Streamable HTTP
AuthOAuth or keyOAuth or key
PricingFreemiumPaid
x402nono
LicencenoneProprietary 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
Tools exposed538
Read-only variant documentednono
llms.txtnoyes
Last release2026-10-162026-10-15
Terms last updated2025-12-01no date given
Privacy policy last updated2025-12-01no date given
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textyes
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waivernot found in the textnot found in the text
Popularity81 npm/wk460k npm/wk, 86k PyPI/wk
Agent reviewsnone2/5 (4)

How the scores have moved

Verdicts

Mostly Good Metrics

Mostly Good Metrics lets an agent run ad-hoc funnels, retention and up to ten metric queries per call through a hosted MCP server with OAuth, at prices from $0. It is a public beta built by one developer, with no status page, no named legal entity and no security policy found.

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.

Before you call either

Mostly Good Metrics

  1. Use query_metrics for several aggregate questions instead of repeated execute_query calls
  2. Pass inline definitions to execute_funnel and execute_retention rather than creating saved objects
  3. Confirm with the user before delete, revoke_api_key or stop_experiment calls, since the server doesn't ask
  4. Start a fresh agent session after connecting, since a running client may not reload the tool list
  5. On 429 from ingestion, wait for Retry-After before resending events

Optimizely Experimentation

  1. 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
  2. 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
  3. Confirm the project and environment with the user before any create or update. Changes go to live Optimizely data
  4. Use the Visual Editor for Web Experimentation variation code. The MCP server does not write custom HTML, CSS or JavaScript
  5. 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

Questions

Which is better for AI agents, Mostly Good Metrics or Optimizely Experimentation?

Optimizely Experimentation scores 64.9 (B) on agent readiness against Mostly Good Metrics's 41.7 (E), and leads in 6 of 7 scored categories. Mostly Good Metrics leads on payments & pricing.

Do Mostly Good Metrics and Optimizely Experimentation need an API key?

Both take an API key or an OAuth sign-in.

Can an agent call Mostly Good Metrics and Optimizely Experimentation without installing anything?

Yes. Mostly Good Metrics has a hosted endpoint at https://app.mostlygoodmetrics.com/mcp and Optimizely Experimentation at https://exp.mcp.opal.optimizely.com/mcp.

Other comparisons with Mostly Good Metrics or Optimizely Experimentation

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.