{
  "data": {
    "similar": [
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/amplitude.json",
        "name": "Amplitude",
        "score": 69.3,
        "shared": [
          "analytics.query",
          "analytics.funnels",
          "analytics.experiments",
          "analytics.events"
        ],
        "slug": "amplitude"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/posthog.json",
        "name": "PostHog",
        "score": 67.4,
        "shared": [
          "analytics.query",
          "analytics.events",
          "analytics.funnels",
          "analytics.experiments"
        ],
        "slug": "posthog"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/mixpanel.json",
        "name": "Mixpanel",
        "score": 62,
        "shared": [
          "analytics.query",
          "analytics.funnels",
          "analytics.events",
          "analytics.experiments"
        ],
        "slug": "mixpanel"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/matomo.json",
        "name": "Matomo",
        "score": 61.7,
        "shared": [
          "analytics.query",
          "analytics.events",
          "analytics.funnels",
          "analytics.experiments"
        ],
        "slug": "matomo"
      },
      {
        "grade": "E",
        "json": "https://www.anchorterminal.com/tools/countly.json",
        "name": "Countly",
        "score": 38.8,
        "shared": [
          "analytics.query",
          "analytics.events",
          "analytics.funnels",
          "analytics.experiments"
        ],
        "slug": "countly"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/statsig.json",
        "name": "Statsig",
        "score": 72.4,
        "shared": [
          "analytics.experiments",
          "analytics.query",
          "analytics.events"
        ],
        "slug": "statsig"
      }
    ],
    "tool": {
      "slug": "mostly-good-metrics",
      "name": "Mostly Good Metrics",
      "vendor": "Mostly Good Metrics",
      "vendorUrl": "https://mostlygoodmetrics.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Mostly Good Metrics is a product analytics service in public beta for indie developers and small teams. Apps send events through five SDKs or an HTTP API, and agents query funnels, retention and experiments through a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/mostly-good-metrics",
      "markdownUrl": "https://www.anchorterminal.com/tools/mostly-good-metrics.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mostly-good-metrics.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mostly-good-metrics.json",
      "dns": "mostly-good-metrics.grade.anchorterminal.com",
      "repo": "https://github.com/Mostly-Good-Metrics",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://app.mostlygoodmetrics.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@mostly-good-metrics/javascript"
        },
        {
          "registry": "npm",
          "name": "@mostly-good-metrics/react-native"
        }
      ],
      "auth": "mixed",
      "authNotes": "The MCP server and the `mgm` CLI use browser OAuth 2.0 with PKCE (S256) and dynamic client registration; the advertised scopes are mcp:tools plus support and newsletter scopes. Event ingestion uses a project API key as a Bearer token, which can be pinned to web origins, Apple bundle IDs or Android package names. Keys are created in the dashboard, the CLI or through MCP tools.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with 50,000 to 100,000 events a month and no card. Starter $9 a month ($90 a year) for 500,000 events and Pro $29 a month ($290 a year) for 5,000,000, both quoted as lifetime beta prices against $12 and $49. Enterprise has unlimited ingestion.",
      "priceSummary": "$9 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or on the pricing section of the home page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 53,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 81,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.mostlygoodmetrics.com",
      "mcpTools": {
        "url": "https://app.mostlygoodmetrics.com/mcp",
        "checkedAt": "2026-11-07T01:46:16.716952564Z",
        "status": "auth",
        "note": "asks for credentials before listing its tools",
        "changedAt": "2026-11-07T01:46:16.716952564Z"
      },
      "capabilities": [
        "analytics.query",
        "analytics.funnels",
        "analytics.events",
        "analytics.experiments"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "free-tier",
        "no-card",
        "beta",
        "closed-source",
        "typescript",
        "cli"
      ],
      "lastRelease": "2026-10-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.7,
        "grade": "E",
        "agentReady": false,
        "rank": 1277,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 74,
          "payments": 30,
          "reliability": 29,
          "schema": 49,
          "security": 33,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 29,
            "points": 5.8,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 49,
            "points": 7.96,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 49,
            "points": 7.96,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 33,
            "points": 5.78,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 30,
            "points": 3.75,
            "reason": "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.",
            "checked": "2026-11-06"
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 74,
            "points": 6.48,
            "reason": "CLI v0.1.4 was tagged on 16 October 2026 (30). The JavaScript SDK released 0.12.0, 0.13.0 and 0.13.1 between 5 September and 2 October, and the Swift SDK 1.0.0 and 1.0.1 on 2 October (20). A closed service with no public changelog, support by email and GitHub repositories for the SDKs; issue activity wasn't read because the GitHub API refused us for its rate limit (6 of 25). Not in the official MCP registry; official SDKs in five languages are current (10 of 15). CI workflows on the SDK and CLI repositories (8 of 10). 30+20+6+10+8 = 74.",
            "checked": "2026-11-06"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 45,
            "points": 3.94,
            "note": "editorial 51, provenance 39",
            "reason": "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.",
            "checked": "2026-11-06"
          }
        ],
        "assessment": {
          "date": "2026-11-06",
          "basis": "public evidence",
          "confidence": "low",
          "notes": {
            "ergonomics": "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.",
            "maintenance": "CLI v0.1.4 was tagged on 16 October 2026 (30). The JavaScript SDK released 0.12.0, 0.13.0 and 0.13.1 between 5 September and 2 October, and the Swift SDK 1.0.0 and 1.0.1 on 2 October (20). A closed service with no public changelog, support by email and GitHub repositories for the SDKs; issue activity wasn't read because the GitHub API refused us for its rate limit (6 of 25). Not in the official MCP registry; official SDKs in five languages are current (10 of 15). CI workflows on the SDK and CLI repositories (8 of 10). 30+20+6+10+8 = 74.",
            "payments": "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.",
            "reliability": "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.",
            "schema": "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.",
            "security": "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.",
            "transparency": "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."
          },
          "sources": [
            {
              "what": "MCP server docs",
              "url": "https://docs.mostlygoodmetrics.com/integrations/mcp-server",
              "seen": "2026-11-06"
            },
            {
              "what": "HTTP API docs",
              "url": "https://docs.mostlygoodmetrics.com/api",
              "seen": "2026-11-06"
            },
            {
              "what": "CLI docs",
              "url": "https://docs.mostlygoodmetrics.com/cli",
              "seen": "2026-11-06"
            },
            {
              "what": "privacy and data controls",
              "url": "https://docs.mostlygoodmetrics.com/features/privacy",
              "seen": "2026-11-06"
            },
            {
              "what": "OAuth metadata",
              "url": "https://app.mostlygoodmetrics.com/.well-known/oauth-authorization-server",
              "seen": "2026-11-06"
            },
            {
              "what": "home page and pricing",
              "url": "https://mostlygoodmetrics.com/",
              "seen": "2026-11-06"
            },
            {
              "what": "about page",
              "url": "https://mostlygoodmetrics.com/about",
              "seen": "2026-11-06"
            },
            {
              "what": "press kit",
              "url": "https://mostlygoodmetrics.com/press",
              "seen": "2026-11-06"
            },
            {
              "what": "terms",
              "url": "https://mostlygoodmetrics.com/terms",
              "seen": "2026-11-06"
            },
            {
              "what": "privacy policy",
              "url": "https://mostlygoodmetrics.com/privacy",
              "seen": "2026-11-06"
            },
            {
              "what": "CLI repository",
              "url": "https://github.com/Mostly-Good-Metrics/cli",
              "seen": "2026-11-06"
            },
            {
              "what": "JavaScript SDK on npm",
              "url": "https://registry.npmjs.org/@mostly-good-metrics/javascript",
              "seen": "2026-11-06"
            }
          ],
          "openQuestions": [
            "unchecked: MCP tool input schemas and annotations, which need an MCP session",
            "unchecked: GitHub issue activity, because the GitHub API refused us for its rate limit",
            "No legal entity, address or governing law appears in the terms or privacy policy",
            "Rate limits for MCP and query calls aren't documented"
          ]
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Indie and small-team apps that want simple funnels and retention an agent can query.",
        "strengths": [
          "Hosted MCP server with OAuth, PKCE and dynamic client registration; no API key to copy",
          "execute_funnel, execute_retention and execute_query accept inline definitions without saving anything",
          "query_metrics runs 1 to 10 aggregate queries in one call with per-item results",
          "Free plan with no card, and paid plans from $9 a month",
          "Ingestion keys can be pinned to web origins and app bundle IDs"
        ],
        "weaknesses": [
          "Public beta run by one developer, with no named legal entity in the terms",
          "No status page, SLA, security.txt or disclosure policy found",
          "53 MCP tools load at once and one scope grants all of them, including deletes and key revocation",
          "No OpenAPI file or llms.txt",
          "The CLI is installed from source because it isn't on npm yet"
        ],
        "agentNotes": [
          "Use query_metrics for several aggregate questions instead of repeated execute_query calls",
          "Pass inline definitions to execute_funnel and execute_retention rather than creating saved objects",
          "Confirm with the user before delete, revoke_api_key or stop_experiment calls, since the server doesn't ask",
          "Start a fresh agent session after connecting, since a running client may not reload the tool list",
          "On 429 from ingestion, wait for Retry-After before resending events"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.7
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 74,
          "payments": 30,
          "reliability": 29,
          "schema": 49,
          "security": 33,
          "transparency": 51
        },
        "provenanceScore": 39,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        },
        "scoreHistory": [
          {
            "date": "2026-11-06",
            "grade": "E",
            "kind": "listed",
            "method": "0.7",
            "score": 41.7
          }
        ]
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http mgm https://app.mostlygoodmetrics.com/mcp",
        "config": {
          "mcpServers": {
            "mgm": {
              "url": "https://app.mostlygoodmetrics.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/mostly-good-metrics"
      },
      "notable": [
        "The MCP docs list 53 tools in nine areas, from execute_funnel and execute_retention to create_api_key, revoke_api_key and delete tools, and query_metrics runs 1 to 10 queries in one call (https://docs.mostlygoodmetrics.com/integrations/mcp-server)",
        "Goals and Alerts tools are in limited preview behind a feature flag and appear only for organisations that have it (https://docs.mostlygoodmetrics.com/integrations/mcp-server)",
        "Ingestion limits per API key are 1,000 events a minute on Free up to 100,000 on Pro, and 429 responses carry Retry-After (https://docs.mostlygoodmetrics.com/api)",
        "The about page says the product is built by Josh Holtz, is not venture-backed, and that customer data is not sold, shared or used to train models (https://mostlygoodmetrics.com/about)",
        "The CLI is not yet on npm and is installed from source; its repository has tags v0.1.0 to v0.1.4, the newest on 16 October 2026 (https://docs.mostlygoodmetrics.com/cli)",
        "The press kit describes the product as a public beta with a free plan (https://mostlygoodmetrics.com/press)"
      ],
      "area": "business",
      "details": [
        {
          "label": "Surface listed",
          "value": "The hosted MCP server at app.mostlygoodmetrics.com/mcp and the ingestion API at ingest.mostlygoodmetrics.com, read from docs.mostlygoodmetrics.com, mostlygoodmetrics.com (home, about, press, terms, privacy), the OAuth metadata and the Mostly-Good-Metrics repositories on 6 November 2026. No account was made and no tool was called"
        },
        {
          "label": "MCP tools",
          "value": "Account and projects (6), dashboard (6), events (3), funnels (6), retention (6), queries (7), experiments (7), alerts (5) and goals (7)"
        },
        {
          "label": "HTTP API",
          "value": "POST /v1/events, GET /v1/experiments and GET /v1/experiments/configs on ingest.mostlygoodmetrics.com, plus a Goals API at api.mostlygoodmetrics.com/api/v2 in limited preview"
        },
        {
          "label": "SDKs",
          "value": "Swift, Kotlin (Android), React Native, Flutter and JavaScript, plus Capacitor, all MIT on GitHub"
        },
        {
          "label": "Data retention",
          "value": "Raw event history is kept for the life of a paid subscription; on account deletion data is removed within 14 days, per the privacy policy"
        },
        {
          "label": "Operator",
          "value": "No legal entity is named in the terms or privacy policy; the about and press pages say Josh Holtz builds it"
        },
        {
          "label": "Sub-processors",
          "value": "Neon, Resend, Sentry, RevenueCat, Fly.io, MaxMind, GitHub and Google, named in the terms"
        }
      ],
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 9,
          "note": "500,000 events a month, lifetime beta price"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 29,
          "note": "5,000,000 events a month, lifetime beta price"
        }
      ],
      "provenance": {
        "legalEntity": "",
        "domain": "mostlygoodmetrics.com",
        "domainRegistered": "2025-12-05",
        "endpointOnVendorDomain": true,
        "terms": "https://mostlygoodmetrics.com/terms",
        "privacy": "https://mostlygoodmetrics.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The terms and privacy policy, both last updated December 2025, name only Mostly Good Metrics and give no legal entity, address or governing law.",
          "mostlygoodmetrics.com/robots.txt has every rule commented out; docs.mostlygoodmetrics.com has no robots.txt.",
          "/.well-known/security.txt returned 404 and no status page was found.",
          "RDAP gives mostlygoodmetrics.com a registration date of 5 December 2025."
        ],
        "score": 39,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "not found",
            "points": 0,
            "max": 20,
            "state": "no"
          },
          {
            "check": "Domain age",
            "value": "mostlygoodmetrics.com, registered 2025-12-05 (under a year)",
            "points": 0,
            "max": 15,
            "state": "no"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "app.mostlygoodmetrics.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 4 of the 7 things a reader expects",
            "points": 7.4,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 5 of the 8 things a reader expects",
            "points": 7.8,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "Changelog",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "People named",
            "value": "1 named with their role, 1 with a public profile",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Support route",
            "value": "a support address, help pages",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://mostlygoodmetrics.com/terms",
            "state": "read",
            "readAt": "2026-11-06",
            "statedDate": "2025-12-01",
            "words": 718,
            "points": 7.4,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last updated: December 2025",
                "says": "Last updated 2025-12-01"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": false
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "To the maximum extent permitted by law, Mostly Good Metrics shall not be liable for any indirect, incidental, special, consequential, or punitive damages resulting from your use of the Service.",
                "says": "Rules out indirect and consequential losses, with no cap named in this sentence"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "We may modify, suspend, or discontinue the Service at any time with reasonable notice."
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": false
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "Your use of the Service is also governed by our Privacy Policy."
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": false
              }
            ],
            "toKnow": [
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "We may modify, suspend, or discontinue the Service at any time with reasonable notice."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://mostlygoodmetrics.com/privacy",
            "state": "read",
            "readAt": "2026-11-06",
            "statedDate": "2025-12-01",
            "words": 524,
            "points": 7.8,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last updated: December 2025",
                "says": "Last updated 2025-12-01"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "This Privacy Policy explains how we collect, use, and protect your information when you use our analytics platform."
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": false
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "With trusted third parties who help us operate our service (e.g., payment processing, hosting)"
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": false
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": false
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "To exercise these rights, please contact us at privacy@mostlygoodmetrics.com.",
                "says": "privacy@mostlygoodmetrics.com"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "We ensure appropriate safeguards are in place for any international data transfers."
              }
            ]
          }
        ]
      },
      "humans": {
        "slug": "mostly-good-metrics",
        "checked": "2026-11-06",
        "company": "Mostly Good Metrics",
        "people": [
          {
            "name": "Josh Holtz",
            "role": "Founder",
            "founder": true,
            "x": "https://x.com/joshdholtz",
            "github": "https://github.com/joshdholtz",
            "page": "/people/josh-holtz/"
          }
        ],
        "peopleNote": "The about page is written by Josh Holtz ('Hi, I'm Josh'), links his GitHub, X (@joshdholtz) and blog, and says he built the product; the press kit says Mostly Good Metrics is built by Josh Holtz, lead maintainer of fastlane. No legal entity is named in the terms or privacy policy, and the about page calls it \"A tool I built for myself and share with others\", so its status is recorded as a project. The about page says it isn't \"VC-backed with a growth team\", so no investors are listed.",
        "companySocial": {
          "x": "https://x.com/MostlyGoodMx",
          "github": "https://github.com/Mostly-Good-Metrics"
        },
        "support": {
          "emails": [
            "support@mostlygoodmetrics.com"
          ],
          "urls": [
            "https://docs.mostlygoodmetrics.com"
          ],
          "contactEmails": [
            "hi@mostlygoodmetrics.com",
            "privacy@mostlygoodmetrics.com"
          ]
        },
        "sources": [
          "https://mostlygoodmetrics.com/about",
          "https://mostlygoodmetrics.com/press",
          "https://mostlygoodmetrics.com/",
          "https://mostlygoodmetrics.com/privacy"
        ],
        "ownership": {
          "status": "project",
          "checked": "2026-11-06",
          "sources": [
            "https://mostlygoodmetrics.com/about",
            "https://mostlygoodmetrics.com/terms"
          ]
        }
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mostly-good-metrics.json",
      "live": {
        "slug": "mostly-good-metrics",
        "probe": {
          "target": "https://app.mostlygoodmetrics.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:40.455487214Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 220,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 167,
          "p95ms24h": 298,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@mostly-good-metrics/javascript",
            "version": "0.13.1",
            "seenAt": "2026-11-06T23:47:33.682933227Z"
          },
          {
            "registry": "npm",
            "name": "@mostly-good-metrics/react-native",
            "version": "0.9.1",
            "seenAt": "2026-11-06T23:47:34.884784704Z"
          }
        ],
        "npmWeekly": 81,
        "securityTxt": {
          "url": "https://mostlygoodmetrics.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:38.90553607Z"
        },
        "pages": [
          {
            "url": "https://mostlygoodmetrics.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:39.017388202Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f43e747ad9a3"
          },
          {
            "url": "https://mostlygoodmetrics.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:14:41.227658165Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99ed64144abf"
          }
        ],
        "mcpTools": {
          "url": "https://app.mostlygoodmetrics.com/mcp",
          "checkedAt": "2026-11-07T01:46:16.716952564Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:16.716952564Z"
        },
        "updatedAt": "2026-11-07T18:20:40.455487214Z"
      }
    },
    "verify": {
      "accepts": "a page on mostlygoodmetrics.com or one of its subdomains",
      "badgeUrl": "https://www.anchorterminal.com/badges/mostly-good-metrics.svg",
      "body": {
        "slug": "mostly-good-metrics",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/mostly-good-metrics",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/mostly-good-metrics\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/mostly-good-metrics.svg\" alt=\"Mostly Good Metrics on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Mostly Good Metrics on Anchor Terminal](https://www.anchorterminal.com/badges/mostly-good-metrics.svg)](https://www.anchorterminal.com/tools/mostly-good-metrics)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/mostly-good-metrics\"\u003eMostly Good Metrics on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/mostly-good-metrics",
    "json": "https://www.anchorterminal.com/tools/mostly-good-metrics.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/mostly-good-metrics.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/mostly-good-metrics#pricing",
    "reviews": "https://www.anchorterminal.com/tools/mostly-good-metrics#reviews",
    "slim": "https://www.anchorterminal.com/tools/mostly-good-metrics.min.md"
  },
  "markdown": "## Overview\n\n**Grade E · 41.7/100 · rank #1277 of 1486 · #17 in Product analytics \u0026 experimentation · not agent-ready · confidence low**\n\n\n## Assessment\n\nMostly 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.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Mostly Good Metrics (https://mostlygoodmetrics.com) |\n| Kind | HTTP API |\n| Category | Product analytics \u0026 experimentation (https://www.anchorterminal.com/categories/product-analytics) |\n| Transport | HTTP, Streamable HTTP |\n| Endpoint | `https://app.mostlygoodmetrics.com/mcp` |\n| Auth | OAuth or key · The MCP server and the `mgm` CLI use browser OAuth 2.0 with PKCE (S256) and dynamic client registration; the advertised scopes are mcp:tools plus support and newsletter scopes. Event ingestion uses a project API key as a Bearer token, which can be pinned to web origins, Apple bundle IDs or Android package names. Keys are created in the dashboard, the CLI or through MCP tools. |\n| Pricing | Freemium ($9 / mo) · Free plan at $0 with 50,000 to 100,000 events a month and no card. Starter $9 a month ($90 a year) for 500,000 events and Pro $29 a month ($290 a year) for 5,000,000, both quoted as lifetime beta prices against $12 and $49. Enterprise has unlimited ingestion. |\n| x402 | No · No x402, MPP or L402 in the docs or on the pricing section of the home page (checked 2026-11-06). |\n| Licence | unknown |\n| Tools exposed | 53 |\n| Packages | npm: `@mostly-good-metrics/javascript`; npm: `@mostly-good-metrics/react-native` |\n| Source | https://github.com/Mostly-Good-Metrics |\n| Docs | https://docs.mostlygoodmetrics.com |\n| llms.txt | not found |\n| Last release | 2026-10-16 |\n| npm downloads / week | 81 |\n| Surface listed | The hosted MCP server at app.mostlygoodmetrics.com/mcp and the ingestion API at ingest.mostlygoodmetrics.com, read from docs.mostlygoodmetrics.com, mostlygoodmetrics.com (home, about, press, terms, privacy), the OAuth metadata and the Mostly-Good-Metrics repositories on 6 November 2026. No account was made and no tool was called |\n| MCP tools | Account and projects (6), dashboard (6), events (3), funnels (6), retention (6), queries (7), experiments (7), alerts (5) and goals (7) |\n| HTTP API | POST /v1/events, GET /v1/experiments and GET /v1/experiments/configs on ingest.mostlygoodmetrics.com, plus a Goals API at api.mostlygoodmetrics.com/api/v2 in limited preview |\n| SDKs | Swift, Kotlin (Android), React Native, Flutter and JavaScript, plus Capacitor, all MIT on GitHub |\n| Data retention | Raw event history is kept for the life of a paid subscription; on account deletion data is removed within 14 days, per the privacy policy |\n| Operator | No legal entity is named in the terms or privacy policy; the about and press pages say Josh Holtz builds it |\n| Sub-processors | Neon, Resend, Sentry, RevenueCat, Fly.io, MaxMind, GitHub and Google, named in the terms |\n| Capabilities | analytics.query, analytics.funnels, analytics.events, analytics.experiments |\n| Tags | hosted, mcp, remote-mcp, oauth, free-tier, no-card, beta, closed-source, typescript, cli |\n| JSON | https://www.anchorterminal.com/api/v1/tools/mostly-good-metrics.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-06 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: low. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 29 | 5.8 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 49 | 8.0 |\n| Agent ergonomics | 13% | 16.2 | 49 | 8.0 |\n| Security \u0026 auth | 14% | 17.5 | 33 | 5.8 |\n| Payments \u0026 pricing | 10% | 12.5 | 30 | 3.8 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 74 | 6.5 |\n| Transparency \u0026 trust (editorial 51, provenance 39) | 7% | 8.8 | 45 | 3.9 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **41.7 → E** |\n\n### Why each score\n\n- Reliability 29 (checked 2026-11-06): 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.\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 49 (checked 2026-11-06): 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.\n- Agent ergonomics 49 (checked 2026-11-06): 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.\n- Security \u0026 auth 33 (checked 2026-11-06): 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.\n- Payments \u0026 pricing 30 (checked 2026-11-06): 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.\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 74 (checked 2026-11-06): CLI v0.1.4 was tagged on 16 October 2026 (30). The JavaScript SDK released 0.12.0, 0.13.0 and 0.13.1 between 5 September and 2 October, and the Swift SDK 1.0.0 and 1.0.1 on 2 October (20). A closed service with no public changelog, support by email and GitHub repositories for the SDKs; issue activity wasn't read because the GitHub API refused us for its rate limit (6 of 25). Not in the official MCP registry; official SDKs in five languages are current (10 of 15). CI workflows on the SDK and CLI repositories (8 of 10). 30+20+6+10+8 = 74.\n- Transparency \u0026 trust 45 (checked 2026-11-06): 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.\n\nFix list, everything this grade says the listing lacks, the biggest gain first (18 items). What it covers is at https://www.anchorterminal.com/fixes/mostly-good-metrics.md (JSON https://www.anchorterminal.com/fixes/mostly-good-metrics.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"mostly-good-metrics\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- unchecked: MCP tool input schemas and annotations, which need an MCP session\n- unchecked: GitHub issue activity, because the GitHub API refused us for its rate limit\n- No legal entity, address or governing law appears in the terms or privacy policy\n- Rate limits for MCP and query calls aren't documented\n\n### Sources\n\n- MCP server docs: \u003chttps://docs.mostlygoodmetrics.com/integrations/mcp-server\u003e (seen 2026-11-06)\n- HTTP API docs: \u003chttps://docs.mostlygoodmetrics.com/api\u003e (seen 2026-11-06)\n- CLI docs: \u003chttps://docs.mostlygoodmetrics.com/cli\u003e (seen 2026-11-06)\n- privacy and data controls: \u003chttps://docs.mostlygoodmetrics.com/features/privacy\u003e (seen 2026-11-06)\n- OAuth metadata: \u003chttps://app.mostlygoodmetrics.com/.well-known/oauth-authorization-server\u003e (seen 2026-11-06)\n- home page and pricing: \u003chttps://mostlygoodmetrics.com/\u003e (seen 2026-11-06)\n- about page: \u003chttps://mostlygoodmetrics.com/about\u003e (seen 2026-11-06)\n- press kit: \u003chttps://mostlygoodmetrics.com/press\u003e (seen 2026-11-06)\n- terms: \u003chttps://mostlygoodmetrics.com/terms\u003e (seen 2026-11-06)\n- privacy policy: \u003chttps://mostlygoodmetrics.com/privacy\u003e (seen 2026-11-06)\n- CLI repository: \u003chttps://github.com/Mostly-Good-Metrics/cli\u003e (seen 2026-11-06)\n- JavaScript SDK on npm: \u003chttps://registry.npmjs.org/@mostly-good-metrics/javascript\u003e (seen 2026-11-06)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/mostly-good-metrics/history.json\n\n- 2026-11-06: graded 41.7 E (methodology 0.7)\n\n## Who's behind it (provenance 39/100, checked 2026-11-06)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | not found | 0/20 |\n| Domain age | mostlygoodmetrics.com, registered 2025-12-05 (under a year) | 0/15 |\n| Endpoint on the vendor's domain | app.mostlygoodmetrics.com | 15/15 |\n| Terms of service | read, states 4 of the 7 things a reader expects | 7.4/10 |\n| Privacy policy | read, states 5 of the 8 things a reader expects | 7.8/10 |\n| Status page | not found | 0/10 |\n| Changelog | not found | 0/10 |\n| security.txt | not found | 0/10 |\n| People named | 1 named with their role, 1 with a public profile | 10/10 |\n| Support route | a support address, help pages | 5/5 |\n\nThe terms and privacy policy, both last updated December 2025, name only Mostly Good Metrics and give no legal entity, address or governing law.\n\nmostlygoodmetrics.com/robots.txt has every rule commented out; docs.mostlygoodmetrics.com has no robots.txt.\n\n/.well-known/security.txt returned 404 and no status page was found.\n\nRDAP gives mostlygoodmetrics.com a registration date of 5 December 2025.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://mostlygoodmetrics.com/terms), read 2026-11-06, dated 2025-12-01, states 4 of the 7 things a reader expects.\n\n- To know. Says access can be ended without notice or for any reason. \"We may modify, suspend, or discontinue the Service at any time with reasonable notice.\"\n- Gives the date it was last updated. Last updated 2025-12-01.\n- Not found in the text. Names the governing law or courts.\n- States a limit on its liability. Rules out indirect and consequential losses, with no cap named in this sentence.\n- Not found in the text. Says how changes to the terms are announced.\n- Not found in the text. Refers to a service level or uptime commitment.\n\n**Privacy policy** (https://mostlygoodmetrics.com/privacy), read 2026-11-06, dated 2025-12-01, states 5 of the 8 things a reader expects.\n\n- Gives the date it was last updated. Last updated 2025-12-01.\n- Not found in the text. Says how long data is kept.\n- Not found in the text. Says whether personal data is sold or shared for advertising.\n- Not found in the text. Says what rights people have over their data.\n- Gives a privacy contact. privacy@mostlygoodmetrics.com.\n\n## Humans behind the project (researched 2026-11-06 from public pages, not part of the grade)\n\n### Key people\n\n- Josh Holtz, Founder. X: https://x.com/joshdholtz. GitHub: https://github.com/joshdholtz\n- Note: The about page is written by Josh Holtz ('Hi, I'm Josh'), links his GitHub, X (@joshdholtz) and blog, and says he built the product; the press kit says Mostly Good Metrics is built by Josh Holtz, lead maintainer of fastlane. No legal entity is named in the terms or privacy policy, and the about page calls it \"A tool I built for myself and share with others\", so its status is recorded as a project. The about page says it isn't \"VC-backed with a growth team\", so no investors are listed.\n- Mostly Good Metrics: X https://x.com/MostlyGoodMx GitHub https://github.com/Mostly-Good-Metrics\n\n### Getting support\n\n- Support email: support@mostlygoodmetrics.com\n- Help: https://docs.mostlygoodmetrics.com\n- Sources: https://mostlygoodmetrics.com/about, https://mostlygoodmetrics.com/press, https://mostlygoodmetrics.com/, https://mostlygoodmetrics.com/privacy\n\n## Live (updated 2026-11-07 18:20 UTC)\n\n- Right now: up, HTTP 401, 220 ms, checked 2026-11-07 18:20 UTC (get on `https://app.mostlygoodmetrics.com/mcp`, asks for auth)\n- Uptime 24h 100.0% (200 probes) · 30 days 100.0% (200 probes) · p50 167 ms · p95 298 ms\n- npm `@mostly-good-metrics/javascript` 0.13.1\n- npm `@mostly-good-metrics/react-native` 0.9.1\n- security.txt: none\n- Watching privacy \u003chttps://mostlygoodmetrics.com/privacy\u003e\n- Watching terms \u003chttps://mostlygoodmetrics.com/terms\u003e\n- Tools: the endpoint asks for credentials before listing them (checked 2026-11-07 01:46 UTC)\n- Always current: https://www.anchorterminal.com/api/v1/live/mostly-good-metrics.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Starter plan | $9 | per month (plan) | 500,000 events a month, lifetime beta price |\n| Pro plan | $29 | per month (plan) | 5,000,000 events a month, lifetime beta price |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- Hosted MCP server with OAuth, PKCE and dynamic client registration; no API key to copy\n- execute_funnel, execute_retention and execute_query accept inline definitions without saving anything\n- query_metrics runs 1 to 10 aggregate queries in one call with per-item results\n- Free plan with no card, and paid plans from $9 a month\n- Ingestion keys can be pinned to web origins and app bundle IDs\n\n## Weaknesses\n\n- Public beta run by one developer, with no named legal entity in the terms\n- No status page, SLA, security.txt or disclosure policy found\n- 53 MCP tools load at once and one scope grants all of them, including deletes and key revocation\n- No OpenAPI file or llms.txt\n- The CLI is installed from source because it isn't on npm yet\n\n\n\n## Before you call it (notes for agents)\n\n1. Use query_metrics for several aggregate questions instead of repeated execute_query calls\n2. Pass inline definitions to execute_funnel and execute_retention rather than creating saved objects\n3. Confirm with the user before delete, revoke_api_key or stop_experiment calls, since the server doesn't ask\n4. Start a fresh agent session after connecting, since a running client may not reload the tool list\n5. On 429 from ingestion, wait for Retry-After before resending events\n\n## Connect\n\nClaude Code:\n\n```bash\nclaude mcp add --transport http mgm https://app.mostlygoodmetrics.com/mcp\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"mgm\": {\n      \"url\": \"https://app.mostlygoodmetrics.com/mcp\"\n    }\n  }\n}\n```\n\nThrough letme: https://letme.dev/mostly-good-metrics. letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Amplitude | B | 69.3 | 249 | analytics.query, analytics.funnels, analytics.experiments, analytics.events | no | https://www.anchorterminal.com/tools/amplitude.md |\n| PostHog | B | 67.4 | 327 | analytics.query, analytics.events, analytics.funnels, analytics.experiments | no | https://www.anchorterminal.com/tools/posthog.md |\n| Mixpanel | B | 62 | 577 | analytics.query, analytics.funnels, analytics.events, analytics.experiments | no | https://www.anchorterminal.com/tools/mixpanel.md |\n| Matomo | C | 61.7 | 594 | analytics.query, analytics.events, analytics.funnels, analytics.experiments | no | https://www.anchorterminal.com/tools/matomo.md |\n| Countly | E | 38.8 | 1332 | analytics.query, analytics.events, analytics.funnels, analytics.experiments | no | https://www.anchorterminal.com/tools/countly.md |\n| Statsig | BB | 72.4 | 127 | analytics.experiments, analytics.query, analytics.events | no | https://www.anchorterminal.com/tools/statsig.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The MCP docs list 53 tools in nine areas, from execute_funnel and execute_retention to create_api_key, revoke_api_key and delete tools, and query_metrics runs 1 to 10 queries in one call (source: \u003chttps://docs.mostlygoodmetrics.com/integrations/mcp-server\u003e)\n- Goals and Alerts tools are in limited preview behind a feature flag and appear only for organisations that have it (source: \u003chttps://docs.mostlygoodmetrics.com/integrations/mcp-server\u003e)\n- Ingestion limits per API key are 1,000 events a minute on Free up to 100,000 on Pro, and 429 responses carry Retry-After (source: \u003chttps://docs.mostlygoodmetrics.com/api\u003e)\n- The about page says the product is built by Josh Holtz, is not venture-backed, and that customer data is not sold, shared or used to train models (source: \u003chttps://mostlygoodmetrics.com/about\u003e)\n- The CLI is not yet on npm and is installed from source; its repository has tags v0.1.0 to v0.1.4, the newest on 16 October 2026 (source: \u003chttps://docs.mostlygoodmetrics.com/cli\u003e)\n- The press kit describes the product as a public beta with a free plan (source: \u003chttps://mostlygoodmetrics.com/press\u003e)\n\n- #17 of 18 in Best product analytics and experimentation tools for AI agents: https://www.anchorterminal.com/best/product-analytics/index.md\n- All 153 product analytics comparisons: https://www.anchorterminal.com/compare/product-analytics/index.md\n\n## Compare\n\n- [Amplitude vs Mostly Good Metrics](https://www.anchorterminal.com/compare/amplitude-vs-mostly-good-metrics.md): B 69.3 vs E 41.7\n- [Basedash MCP vs Mostly Good Metrics](https://www.anchorterminal.com/compare/basedash-mcp-vs-mostly-good-metrics.md): C 61.1 vs E 41.7\n- [Countly vs Mostly Good Metrics](https://www.anchorterminal.com/compare/countly-vs-mostly-good-metrics.md): E 38.8 vs E 41.7\n- [Fullstory vs Mostly Good Metrics](https://www.anchorterminal.com/compare/fullstory-vs-mostly-good-metrics.md): B 63.3 vs E 41.7\n- [Matomo vs Mostly Good Metrics](https://www.anchorterminal.com/compare/matomo-vs-mostly-good-metrics.md): C 61.7 vs E 41.7\n- [Mixpanel vs Mostly Good Metrics](https://www.anchorterminal.com/compare/mixpanel-vs-mostly-good-metrics.md): B 62 vs E 41.7\n- [Mostly Good Metrics vs OpenPanel](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-openpanel.md): E 41.7 vs C 61\n- [Mostly Good Metrics vs Optimizely Experimentation](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-optimizely.md): E 41.7 vs B 64.9\n- [Mostly Good Metrics vs Pendo](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-pendo.md): E 41.7 vs E 44\n- [Mostly Good Metrics vs PostHog](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-posthog.md): E 41.7 vs B 67.4\n- [Mostly Good Metrics vs Statsig](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-statsig.md): E 41.7 vs BB 72.4\n- [Mostly Good Metrics vs Userpilot](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-userpilot.md): E 41.7 vs B 64.4\n- [Mostly Good Metrics vs Woopra](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-woopra.md): E 41.7 vs E 44.4\n- [Heap vs Mostly Good Metrics](https://www.anchorterminal.com/compare/heap-vs-mostly-good-metrics.md): D 48.2 vs E 41.7\n- [Flagsmith vs Mostly Good Metrics](https://www.anchorterminal.com/compare/flagsmith-vs-mostly-good-metrics.md): C 61.2 vs E 41.7\n- [GrowthBook vs Mostly Good Metrics](https://www.anchorterminal.com/compare/growthbook-vs-mostly-good-metrics.md): B 68.6 vs E 41.7\n- [Harness Feature Management \u0026 Experimentation vs Mostly Good Metrics](https://www.anchorterminal.com/compare/harness-fme-vs-mostly-good-metrics.md): B 69.2 vs E 41.7\n- [LaunchDarkly vs Mostly Good Metrics](https://www.anchorterminal.com/compare/launchdarkly-vs-mostly-good-metrics.md): BB 71.3 vs E 41.7\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on mostlygoodmetrics.com or one of its subdomains. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"mostly-good-metrics\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/mostly-good-metrics\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/mostly-good-metrics.svg\" alt=\"Mostly Good Metrics on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Mostly Good Metrics on Anchor Terminal](https://www.anchorterminal.com/badges/mostly-good-metrics.svg)](https://www.anchorterminal.com/tools/mostly-good-metrics)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/mostly-good-metrics\"\u003eMostly Good Metrics on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Mostly Good Metrics is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/mostly-good-metrics-dark.png\n- Light: https://www.anchorterminal.com/assets/share/mostly-good-metrics-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Product analytics \u0026 experimentation",
        "url": "https://www.anchorterminal.com/categories/product-analytics"
      },
      {
        "name": "Mostly Good Metrics",
        "url": ""
      }
    ],
    "description": "Mostly Good Metrics is a product analytics service in public beta for indie developers and small teams. Apps send events through five SDKs or an HTTP API, and agents query funnels, retention and experiments through a hosted MCP server.",
    "facts": [
      "rank #1277 of 1486",
      "OAuth or key auth",
      "0 desk reviews"
    ],
    "h1": "Mostly Good Metrics",
    "image": "https://www.anchorterminal.com/assets/og/tools-mostly-good-metrics.png",
    "path": "/tools/mostly-good-metrics",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Mostly Good Metrics review (2026): pricing, alternatives and grade E",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/tools/mostly-good-metrics"
  },
  "tokens": {
    "markdown": 6300,
    "slim": 1430
  },
  "version": 1
}
