{
  "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"
  },
  "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"
    }
  }
}
