{
  "data": {
    "a": {
      "slug": "countly",
      "name": "Countly",
      "vendor": "Countly Ltd",
      "vendorUrl": "https://countly.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Countly is a product analytics platform sold as a managed private-cloud server (Flex), a self-hosted Enterprise edition and the open-source Countly Lite. Agents reach a Countly server through its HTTP API or the official `countly-mcp-server`.",
      "url": "https://www.anchorterminal.com/tools/countly",
      "markdownUrl": "https://www.anchorterminal.com/tools/countly.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/countly.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/countly.json",
      "dns": "countly.grade.anchorterminal.com",
      "repo": "https://github.com/Countly/countly-server",
      "license": "Countly Lite is AGPL-3.0 with added branding terms under Section 7. Enterprise plugins are proprietary. Flex is a hosted service under Countly's terms. The MCP server is MIT",
      "transports": [
        "http",
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.count.ly/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "countly-mcp-server"
        },
        {
          "registry": "npm",
          "name": "countly-sdk-web"
        },
        {
          "registry": "npm",
          "name": "countly-sdk-nodejs"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve once a server exists. A dashboard user copies an `api_key`, which has that user's full read and write access, or creates an auth token in the Token Manager or with `/i/token/create`, limited by app, endpoint pattern and lifetime. Tokens go in the `countly-token` header or the `auth_token` query parameter. The MCP server takes `COUNTLY_SERVER_URL` and `COUNTLY_AUTH_TOKEN`, or `X-Countly-Server-Url` and `X-Countly-Auth-Token` headers over HTTP. SDKs send the write-only `app_key`.",
      "pricing": "paid",
      "pricingNotes": "Flex starts at $175 a month, billed by tier on monthly active users and data points, with a 14-day trial that needs a credit card. Tier prices appear during signup. Funnels, retention and flows sit in the Intelligence add-on. Enterprise is on custom pricing. Countly Lite is free to self-host. API and MCP calls are not billed (https://countly.com/pricing, checked 2026-11-04).",
      "priceSummary": "$175 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference source, the MCP server README or the pricing page (checked 2026-11-04).",
        "endpoints": []
      },
      "toolCount": 209,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 27579,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://api.count.ly/",
      "llmsTxt": "https://countly.com/llms.txt",
      "capabilities": [
        "analytics.query",
        "analytics.events",
        "analytics.funnels",
        "analytics.experiments",
        "analytics.flags",
        "observability.errors"
      ],
      "tags": [
        "official",
        "hosted",
        "self-hosted",
        "open-source",
        "mcp",
        "api-key",
        "llms-txt",
        "paid",
        "trial",
        "typescript"
      ],
      "lastRelease": "2026-10-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 38.8,
        "grade": "E",
        "agentReady": false,
        "rank": 1332,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 80,
          "payments": 17,
          "reliability": 23,
          "schema": 75,
          "security": 62,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -15,
        "negativeNotes": [
          "2026-10-16. Countly published four GitHub advisories for its own countly-server code, CVE-2026-44977 (stored XSS, CVSS 3.1 9.0 Critical), CVE-2026-41582 (unauthenticated path traversal, 7.5 High), CVE-2026-42270 (unauthenticated denial of service, 7.5 High) and CVE-2026-42269 (path traversal in delete_import, 8.1 High), fixed in 24.05.50 and 25.03.44. Fixed, under two months old, 2 each (-8). https://osv.dev/list?q=countly",
          "2026-09-10. CVE-2026-87803, a DBViewer authorisation bypass that reaches password-reset tokens, CVSS 4.0 7.1 High, published by Snyk as CNA and fixed in 25.03.53-LTS. A fixed third-party High under two months old (-2, falling to -1 after 10 November). https://osv.dev/vulnerability/CVE-2026-87803",
          "2026-10-27. Server 25.03.58 lists 10 security fixes to Countly's own code (token permissions and revocation, single-use tokens, read rights on endpoints), after 25.03.54 (22 September, 20 fixes) and MCP server 1.5.0 (25 August) and 1.7.0 (7 October). No advisory was found for them. Released fixes with no advisory, folded (-3). https://github.com/Countly/countly-server/blob/master/CHANGELOG.md",
          "2026-10-07. `countly-mcp-server` 1.7.0, a minor release, removed the `databases_stats` tool (committed on 6 October as a breaking refactor), with no earlier notice found. A breaking change in a minor release without notice (-3). https://github.com/Countly/countly-mcp-server/blob/main/CHANGELOG.md",
          "2026-10-27. Server 25.03.58 limits existing app-restricted tokens without permissions to their owner's rights and makes endpoint restrictions match exact API paths, so requests that earlier tokens were allowed to make can now fail. The change was posted with the release, with no earlier notice found. A published behaviour changed for existing clients on the day it took effect (-3). https://github.com/Countly/countly-server/blob/master/CHANGELOG.md",
          "The five terms add to -19, held at the -15 limit."
        ],
        "verdict": "Countly suits an agent working against a server its owner already runs. The official MCP server filters its 209 tools by edition, plugin and permission and has per-category read-only settings. Five countly-server CVEs were published since September, all fixed, and no status page, OpenAPI document or published API rate limit was found.",
        "bestFor": "An agent whose owner runs Countly on its own infrastructure or a dedicated Flex server and wants analytics, crash and remote-config data through MCP with per-category permissions.",
        "strengths": [
          "Official MIT MCP server, `countly-mcp-server` 1.7.0 of 7 October 2026, with read-only, destructive and idempotent annotations on its tools",
          "`COUNTLY_TOOLS_ALL=R` makes every MCP tool read-only, and per-category settings take None, R, CR, CRU or CRUD",
          "Auth tokens can be limited to named apps and endpoint patterns, carry a lifetime in seconds and are revocable",
          "API reference at api.count.ly is versioned (26.01, 25.03, 24.05) with parameters, examples and error responses per endpoint",
          "Flex terms, privacy policy, DPA, sub-processor list and a telemetry notice, all dated 20 October 2026, with 30 days' notice of sub-processor changes"
        ],
        "weaknesses": [
          "No public status page or incident history was found for Flex servers or for mcp.count.ly",
          "Five CVEs in countly-server were published between 10 September and 16 October 2026, one Critical and four High, all fixed",
          "`countly-mcp-server` 1.7.0 removed the `databases_stats` tool in a minor release with no earlier notice",
          "The API accepts `api_key` and `auth_token` in the URL query string, and the `api_key` has its user's full read and write access",
          "Flex starts at $175 a month, its 14-day trial needs a credit card, and tier prices appear only during signup",
          "Servers and the MCP server report usage to stats.count.ly by default until it is switched off"
        ],
        "agentNotes": [
          "Create a dedicated token in the Token Manager, limited to the apps and endpoints the task needs, and send it in the `countly-token` header, not the URL",
          "Set `COUNTLY_TOOLS_ALL=R` unless the task needs writes. The token's own permissions still apply and the stricter of the two wins",
          "Call `apps_list` first. Most tools need `app_id` or an exact `app_name`",
          "Check `get_version` for the detected edition before planning funnel, retention or cohort queries, which need Enterprise plugins",
          "Set `ENABLE_ANALYTICS=false` to stop MCP usage reports to stats.count.ly, and ask the server owner to check the tracking settings for server reports"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 38.8
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 80,
          "payments": 17,
          "reliability": 23,
          "schema": 75,
          "security": 62,
          "transparency": 73
        },
        "provenanceScore": 70,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx -y countly-mcp-server",
        "http": "curl -H \"countly-token: YOUR_TOKEN\" \"https://your-countly-url.com/o?app_id=APP_ID\u0026method=funneldata\u0026funnels=[%22FUNNEL_ID%22]\"",
        "claudeCode": "claude mcp add countly -e COUNTLY_SERVER_URL=https://your-countly-url.com -e COUNTLY_AUTH_TOKEN=YOUR_TOKEN -- npx -y --prefer-online countly-mcp-server@latest",
        "config": {
          "mcpServers": {
            "countly": {
              "args": [
                "-y",
                "--prefer-online",
                "countly-mcp-server@latest"
              ],
              "command": "npx",
              "env": {
                "COUNTLY_AUTH_TOKEN": "YOUR_TOKEN",
                "COUNTLY_SERVER_URL": "https://your-countly-url.com"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/countly"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Flex, lowest tier",
          "unit": "month",
          "usd": 175,
          "note": "starting price, by monthly active users and data points, add-ons extra"
        }
      ],
      "provenance": {
        "legalEntity": "Countly Ltd",
        "domain": "countly.com",
        "domainRegistered": "2011-09-05",
        "endpointOnVendorDomain": true,
        "terms": "https://countly.com/legal/flex-terms",
        "privacy": "https://countly.com/legal/flex-privacy",
        "statusPage": "",
        "changelog": "https://github.com/Countly/countly-server/blob/master/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "Countly's legal pages were split on 20 October 2026 into website, Flex and Enterprise documents. The Flex terms (last updated 20 October 2026) name Countly Ltd, incorporated in England and Wales with registered number 8568329, registered at 1 Bow Churchyard, London EC4M 9DQ. The former terms URL now holds the Enterprise terms.",
          "The Flex privacy policy (last updated 20 October 2026) covers Flex accounts and the Flex console and excludes data customers process in their Flex servers, which the Flex DPA at countly.com/legal/flex-dpa covers.",
          "The hosted MCP server answers at mcp.count.ly and the API reference at api.count.ly, a second domain of the vendor's. Each customer's API answers on that customer's own server address.",
          "countly.com/.well-known/security.txt returns 404. SECURITY.md in the repositories gives a disclosure address at count.ly.",
          "No status page was found. status.countly.com did not resolve on 4 November 2026.",
          "RDAP for countly.com gave a registration date of 2011-09-05, per the 8 October check, not re-read on 4 November."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/countly.json",
      "live": {
        "slug": "countly",
        "probe": {
          "target": "https://mcp.count.ly/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:18.976805602Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "DNS lookup failed",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 239,
          "samples30d": 7289,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 169,
              "ok": 0
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 0
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 0
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 0
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 0
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 0
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 0
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 0
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 0
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 0
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 0
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 0
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 0
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 0
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 0
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 0
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 0
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 0
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 0
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-09T07:40:23.474688008Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "HTTP 500 server error"
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "Countly/countly-server",
            "version": "25.03.58",
            "released": "2026-10-27",
            "seenAt": "2026-11-06T23:18:01.436887578Z"
          },
          {
            "registry": "npm",
            "name": "countly-mcp-server",
            "version": "1.7.0",
            "seenAt": "2026-11-06T23:17:57.231778538Z"
          },
          {
            "registry": "npm",
            "name": "countly-sdk-nodejs",
            "version": "26.8.0",
            "seenAt": "2026-11-06T23:17:59.854974474Z"
          },
          {
            "registry": "npm",
            "name": "countly-sdk-web",
            "version": "26.8.1",
            "seenAt": "2026-11-06T23:17:57.446036177Z"
          }
        ],
        "githubStars": 5926,
        "npmWeekly": 98,
        "securityTxt": {
          "url": "https://countly.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-11-01T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:01:40.278221054Z"
        },
        "llmsTxt": {
          "url": "https://countly.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:12.439042164Z"
        },
        "domain": {
          "domain": "countly.com",
          "registered": "2011-09-05",
          "source": "https://rdap.verisign.com/com/v1/domain/countly.com",
          "checkedAt": "2026-11-01T14:23:11.366008393Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Countly/countly-server/master/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:18:15.260633274Z",
            "changedAt": "2026-10-28T04:41:57.810807375Z",
            "fingerprint": "464bd4917794"
          },
          {
            "url": "https://countly.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:07.279637492Z",
            "changedAt": "2026-11-07T14:02:07.279637492Z",
            "fingerprint": "25a1aa31c1a8"
          },
          {
            "url": "https://countly.com/legal/flex-privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:03.050349438Z",
            "changedAt": "2026-11-07T14:02:03.050349438Z",
            "fingerprint": "67c45cb07861"
          },
          {
            "url": "https://countly.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-04T08:17:18.582896946Z",
            "changedAt": "2026-10-30T05:33:48.300790761Z",
            "fingerprint": "524fd19db10d"
          },
          {
            "url": "https://countly.com/legal/flex-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:02:05.263811859Z",
            "changedAt": "2026-11-07T14:02:05.263811859Z",
            "fingerprint": "e6833f089a23"
          },
          {
            "url": "https://countly.com/legal/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-04T08:17:20.792676441Z",
            "changedAt": "2026-10-30T05:33:50.469505336Z",
            "fingerprint": "917431844060"
          }
        ],
        "github": {
          "repo": "countly/countly-server",
          "checkedAt": "2026-11-02T08:41:46.317370507Z",
          "stars": 5926,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-01T20:04:22Z",
          "openIssues": 1,
          "openPRs": 9,
          "issuesOpened90d": 1,
          "issuesClosed90d": 8,
          "prsMerged90d": 281,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 25,
            "failure": 25,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-01T19:21:22Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-gx33-qqr5-376j",
              "severity": "medium",
              "published": "2026-10-26T18:20:22Z"
            },
            {
              "ghsa": "GHSA-p78q-3v9r-c8qg",
              "severity": "high",
              "published": "2026-10-26T18:19:48Z"
            },
            {
              "ghsa": "GHSA-fqgp-6rm9-8696",
              "cve": "CVE-2026-41582",
              "severity": "high",
              "published": "2026-07-15T12:52:34Z"
            },
            {
              "ghsa": "GHSA-86cv-qwp9-jwp3",
              "cve": "CVE-2026-42270",
              "severity": "high",
              "published": "2026-07-15T12:49:59Z"
            },
            {
              "ghsa": "GHSA-5pmc-54j6-jcgq",
              "cve": "CVE-2026-42269",
              "severity": "high",
              "published": "2026-07-15T12:49:06Z"
            },
            {
              "ghsa": "GHSA-jqp4-p86c-phxc",
              "cve": "CVE-2026-44977",
              "severity": "high",
              "published": "2026-07-15T12:48:11Z"
            },
            {
              "ghsa": "GHSA-98vh-wqw5-p23v",
              "cve": "CVE-2022-29174",
              "severity": "high",
              "published": "2022-05-17T17:17:14Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 0,
            "medianDays": 67
          }
        },
        "updatedAt": "2026-11-07T18:20:18.976805602Z"
      }
    },
    "answer": "Userpilot scores 64.4 (B) on agent readiness against Countly's 38.8 (E), and leads in 2 of 7 scored categories. Countly leads on agent ergonomics and transparency \u0026 trust.",
    "b": {
      "slug": "userpilot",
      "name": "Userpilot",
      "vendor": "Userpilot, Inc.",
      "vendorUrl": "https://userpilot.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "Userpilot is a product adoption platform with in-app guides, surveys and product analytics for SaaS and mobile apps. Agents query funnels, trends, retention, users and companies through its hosted MCP server, and send or export data through HTTP APIs.",
      "url": "https://www.anchorterminal.com/tools/userpilot",
      "markdownUrl": "https://www.anchorterminal.com/tools/userpilot.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/userpilot.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/userpilot.json",
      "dns": "userpilot.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.userpilot.io/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "userpilot"
        }
      ],
      "auth": "mixed",
      "authNotes": "The hosted MCP server uses OAuth 2.0 with PKCE, dynamic client registration and a permission screen. Scopes are data:read (always required), people:read, sessions:read, segments:write, reports:write, feedback:write and offline_access; the connection runs under the user's own role and can't delete or reach administration. The HTTP APIs take one environment API key as `Authorization: Token \u003ckey\u003e`, shown on the Environment page; the docs say to contact support to regenerate it.",
      "pricing": "paid",
      "pricingNotes": "Starter $299 a month for up to 2,000 MAU with basic trends and funnels; Growth from $849 a month with advanced analytics and the HTTP API; Enterprise by quote with SSO, activity logs and a custom SLA. Bulk export, import and data warehouse sync are add-ons. 14-day free trial with no card required.",
      "priceSummary": "$299 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt, the MCP docs or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 235722,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.userpilot.com/api-references/overview",
      "llmsTxt": "https://docs.userpilot.com/llms.txt",
      "registryName": "io.userpilot/mcp",
      "capabilities": [
        "analytics.query",
        "analytics.funnels",
        "analytics.events"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "mcp-registry",
        "oauth",
        "llms-txt",
        "no-card",
        "status-page",
        "soc2",
        "closed-source",
        "webhooks",
        "eu-region"
      ],
      "lastRelease": "2026-10-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.4,
        "grade": "B",
        "agentReady": false,
        "rank": 471,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 60,
          "maintenance": 79,
          "payments": 30,
          "reliability": 82,
          "schema": 71,
          "security": 62,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Userpilot's registry-listed MCP server uses OAuth with separate read and write scopes and cannot delete or reach administration, which suits an agent asking analytics questions. Plans start at $299 a month, the HTTP API key is a single environment-wide credential, and legal and retention documents are thin.",
        "bestFor": "SaaS teams already using Userpilot for onboarding who want an agent to answer analytics questions and draft segments and surveys.",
        "strengths": [
          "Hosted MCP server in the official registry as io.userpilot/mcp, with OAuth and PKCE",
          "Scopes split reads of analytics, profiles and session replay from writes of segments, reports and survey drafts",
          "No delete, publish or administration actions are reachable through MCP",
          "Status page with three ingestion regions and no incidents from August to November 2026",
          "llms.txt and Markdown docs, with OpenAPI 3.0 on each API reference page"
        ],
        "weaknesses": [
          "Plans start at $299 a month, and the HTTP API needs Growth from $849",
          "The HTTP API uses one environment-wide key that support has to regenerate",
          "The MCP tool list and its rate limits aren't published",
          "No security.txt, disclosure policy or bug bounty found",
          "The privacy policy and security page name different sub-processors"
        ],
        "agentNotes": [
          "Ask for only the scopes the task needs; profile and session replay reads are separate grants",
          "Expect survey writes to stay drafts that a person reviews and publishes in Userpilot",
          "Refresh the connector's tool list after Userpilot adds tools, since clients cache it",
          "Back off exponentially on 429 from Identify and Track, which allow 600 requests a minute",
          "Use the bulk export job API for raw events rather than looping over analytics tools"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.4
          }
        ],
        "editorialScores": {
          "ergonomics": 60,
          "maintenance": 79,
          "payments": 30,
          "reliability": 82,
          "schema": 71,
          "security": 62,
          "transparency": 42
        },
        "provenanceScore": 76,
        "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
        }
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http userpilot https://mcp.userpilot.io/mcp",
        "config": {
          "mcpServers": {
            "userpilot": {
              "url": "https://mcp.userpilot.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/userpilot"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 299,
          "note": "Up to 2,000 MAU"
        },
        {
          "item": "Growth plan",
          "unit": "month",
          "usd": 849,
          "note": "Starting price; includes advanced product analytics and the HTTP API"
        }
      ],
      "provenance": {
        "legalEntity": "Userpilot, Inc.",
        "domain": "userpilot.com",
        "domainRegistered": "2011-01-08",
        "endpointOnVendorDomain": false,
        "terms": "https://userpilot.com/terms-of-use/",
        "privacy": "https://userpilot.com/privacy-policy/",
        "statusPage": "https://status.userpilot.io",
        "changelog": "https://docs.userpilot.com/developer/installation/mobile/ios/mobile-ios-release-notes",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "The MCP server and APIs are on userpilot.io; the website and legal pages are on userpilot.com.",
          "The terms were last updated on 23 April 2024 and the privacy policy on 11 March 2025, which names a DPO and Userpilot, Inc. in Austin, Texas.",
          "docs.userpilot.com/robots.txt carries Content-Signal ai-train=yes, search=yes, ai-input=yes. userpilot.com/robots.txt disallows only search paths.",
          "userpilot.com/.well-known/security.txt returned 404, and the security page names no disclosure policy or bug bounty.",
          "RDAP gives userpilot.com a registration date of 8 January 2011."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/userpilot.json",
      "live": {
        "slug": "userpilot",
        "probe": {
          "target": "https://mcp.userpilot.io/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:21:02.792914465Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 563,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 495,
          "p95ms24h": 585,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.userpilot.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:54.858690533Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.userpilot/mcp",
            "version": "1.0.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "userpilot",
            "version": "1.4.3",
            "seenAt": "2026-11-07T00:14:26.929507083Z"
          }
        ],
        "npmWeekly": 235722,
        "securityTxt": {
          "url": "https://userpilot.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:10.604728076Z"
        },
        "llmsTxt": {
          "url": "https://docs.userpilot.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:15.247254272Z"
        },
        "pages": [
          {
            "url": "https://docs.userpilot.com/developer/installation/mobile/ios/mobile-ios-release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:32.05689434Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b489ebf9a491"
          },
          {
            "url": "https://userpilot.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:23:01.88432514Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "299f9d9cd275"
          },
          {
            "url": "https://userpilot.com/terms-of-use/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:23:04.076461926Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dea374efccdb"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.userpilot.io/mcp",
          "checkedAt": "2026-11-07T01:48:55.558250288Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:48:55.558250288Z"
        },
        "updatedAt": "2026-11-07T18:21:02.792914465Z"
      }
    },
    "edges": [
      {
        "by": 59,
        "category": "reliability",
        "leads": "userpilot",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on the hosted lines, for a Countly Flex server reached through its HTTP API and the official MCP server. No status page was found on countly.com, the Flex page, the docs or the legal pages, and status.countly.com did not resolve on 4 November (0). With no page there is no readable incident history (5). The MCP server's HTTP endpoint is limited to 120 requests a minute per IP, but the Countly server's own `api_rate_limit_requests` setting ships at 0 (off), and the Flex terms of 20 October 2026 reserve usage limits without numbers (8 of 15, the earlier partial kept). No 429 or retry guidance and no idempotency keys were found in the API reference source (0). The pricing page lists an SLA as optional on Flex and included in Enterprise, with no SLA document published, which this run scores 0 (0). The API and MCP server 1.7.0 are generally available (10).",
          "b": "Graded on the hosted service with the hosted lines. Better Stack status page at status.userpilot.io with components for ingestion in three regions, the SDKs, the web application APIs and the website (20). From August to November 2026 the page shows only scheduled maintenance windows of two to four hours, with no incidents; the MCP server isn't a component (30). 600 requests a minute per token for the real-time APIs, but no numbers for MCP or export (12 of 15). 429 documented with exponential backoff guidance; no Retry-After or idempotency guidance (10 of 15). The SLA is a custom Enterprise contract term, not published (0). The MCP server is 1.0.0 in the registry with no beta label (10). 20+30+12+10+0+10 = 82."
        },
        "scores": {
          "a": 23,
          "b": 82
        }
      },
      {
        "by": 13,
        "category": "payments",
        "leads": "userpilot",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). The pricing page gives only a starting price for Flex, $175 a month, priced on monthly active users and data points, with tier prices shown during signup and Enterprise on custom pricing (7 of 20, the earlier partial kept). The 14-day Flex trial needs a credit card, per the Flex page. Countly Lite is free to self-host with no card, without funnels, retention, cohorts or Drill, so half credit (10). A person signs up in a browser, creates a server and makes a token in the dashboard (0).",
          "b": "No x402, MPP or L402 (0). Plan prices are public ($299 and from $849 a month), with no per-unit prices (10). 14-day free trial with no card required (20). Signup and OAuth approval happen in a browser (0). 0+10+20+0 = 30."
        },
        "scores": {
          "a": 17,
          "b": 30
        }
      },
      {
        "by": 13,
        "category": "transparency",
        "leads": "countly",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Countly Lite is AGPL-3.0 with added branding terms under Section 7, the MCP server is MIT, and the Enterprise plugins that hold funnels, retention, cohorts and Drill are closed (20 of 30). Flex now has its own terms, privacy policy, DPA and sub-processor list, all dated 20 October 2026. The Flex privacy policy excludes data customers process and gives no retention periods, and the DPA covers that data (20). The MCP changelog deprecated auth tokens in URL parameters on 23 April 2026 (1.3.0), and the server warns on their use, with no notice period (15, the settled value for dated notices without a period). The Flex sub-processor list names locations, with 30 days' notice of changes in the DPA, and Flex customers choose a Google Cloud region. A Connected Services and Telemetry notice (20 October 2026) says server reports to stats.count.ly are on by default and which settings turn them off, and MCP usage reporting is disclosed with an opt-out (18).",
          "b": "A closed service with terms dated 23 April 2024 (15 of 30). The privacy policy of 11 March 2025 names a DPO and two sub-processors (AWS and Cloudflare), while the security page names AWS, Google Cloud and Stripe. The DPA is on request and no customer-data retention period is stated (14 of 30). No deprecation policy or dated API notices found (3 of 20). Sub-processors are named with addresses but not data locations, though an EU ingestion endpoint exists (10 of 20). 15+14+3+10 = 42."
        },
        "scores": {
          "a": 72,
          "b": 59
        }
      },
      {
        "by": 6,
        "category": "ergonomics",
        "leads": "countly",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The MCP README counts 209 tools in 43 categories, far past 30 (5). Add back 8 because the server hides tools the edition, enabled plugins or user's permissions cannot run, and `COUNTLY_TOOLS_*` settings switch categories off (13). List endpoints take `iDisplayStart` and `iDisplayLength`, and MCP list tools take `skip`, `limit` and `search` (15). API errors are `{\"result\": \"message\"}` strings with HTTP status codes and no error codes. The MCP server returns failures as `isError` results that name the missing plugin or permission (12). MCP tools carry readOnlyHint, destructiveHint and idempotentHint since 1.7.0. No idempotency keys on API writes (14). MCP tools accept `app_name` in place of `app_id` and set defaults. The SDKs cover data collection, not the read API (12).",
          "b": "The tool count isn't published; the docs say the assistant can search hundreds of extra read-only operations on demand, which reads as dynamic loading. Without the list we give the middle band (15 of 25). Export jobs filter by date range, users, events and segments, and job lists paginate (14 of 20). A documented error reference (13 of 20). No deletes or admin through MCP by design; annotations weren't readable and no idempotency keys were found (10 of 20). The HTTP APIs have no official server-side SDK; client SDKs for web and six mobile frameworks (8 of 15). 15+14+13+10+8 = 60."
        },
        "scores": {
          "a": 66,
          "b": 60
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Countly Ltd",
        "b": "Userpilot, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.count.ly/mcp",
        "b": "https://mcp.userpilot.io/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Countly Lite is AGPL-3.0 with added branding terms under Section 7. Enterprise plugins are proprietary. Flex is a hosted service under Countly's terms. The MCP server is MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "209",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.userpilot/mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-27",
        "b": "2026-10-11",
        "name": "Last release"
      },
      {
        "a": "not read yet",
        "b": "2024-04-23",
        "name": "Terms last updated"
      },
      {
        "a": "not read yet",
        "b": "2025-03-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "28k npm/wk",
        "b": "236k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Userpilot scores 64.4 (B) on agent readiness against Countly's 38.8 (E), and leads in 2 of 7 scored categories. Countly leads on agent ergonomics and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Countly or Userpilot?"
      },
      {
        "answer": "Countly needs an API key. Userpilot takes an API key or an OAuth sign-in.",
        "question": "Do Countly and Userpilot need an API key?"
      },
      {
        "answer": "Yes. Countly has a hosted endpoint at https://mcp.count.ly/mcp and Userpilot at https://mcp.userpilot.io/mcp.",
        "question": "Can an agent call Countly and Userpilot without installing anything?"
      },
      {
        "answer": "Countly is open source (Countly Lite is AGPL-3.0 with added branding terms under Section 7. Enterprise plugins are proprietary. Flex is a hosted service under Countly's terms. The MCP server is MIT). No open-source release is listed for Userpilot.",
        "question": "Are Countly and Userpilot open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 66 against 60",
          "Transparency \u0026 trust, 72 against 59"
        ],
        "also": [
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "An agent whose owner runs Countly on its own infrastructure or a dedicated Flex server and wants analytics, crash and remote-config data through MCP with per-category permissions.",
        "slug": "countly",
        "watchFor": "No public status page or incident history was found for Flex servers or for mcp.count.ly"
      },
      {
        "aheadOn": [
          "Reliability, 82 against 23",
          "Payments \u0026 pricing, 30 against 17"
        ],
        "also": [
          "Free to start without a card",
          "No incidents deducted, where Countly loses 15 points for them"
        ],
        "goodFor": "SaaS teams already using Userpilot for onboarding who want an agent to answer analytics questions and draft segments and surveys.",
        "slug": "userpilot",
        "watchFor": "Plans start at $299 a month, and the HTTP API needs Growth from $849"
      }
    ],
    "history": {
      "countly": [
        {
          "causes": [
            "security",
            "correction"
          ],
          "date": "2026-11-04",
          "delta": -16.1,
          "from": 54.9,
          "fromGrade": "C",
          "to": 38.8,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 54.8,
          "fromGrade": "C",
          "to": 54.9,
          "toGrade": "C"
        }
      ],
      "userpilot": null
    },
    "job": {
      "capability": "analytics.query",
      "name": "Analytics queries"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-countly.json",
        "title": "Amplitude vs Countly",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-countly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-userpilot.json",
        "title": "Amplitude vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basedash-mcp-vs-countly.json",
        "title": "Basedash MCP vs Countly",
        "url": "https://www.anchorterminal.com/compare/basedash-mcp-vs-countly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basedash-mcp-vs-userpilot.json",
        "title": "Basedash MCP vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/basedash-mcp-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-fullstory.json",
        "title": "Countly vs Fullstory",
        "url": "https://www.anchorterminal.com/compare/countly-vs-fullstory"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-growthbook.json",
        "title": "Countly vs GrowthBook",
        "url": "https://www.anchorterminal.com/compare/countly-vs-growthbook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-matomo.json",
        "title": "Countly vs Matomo",
        "url": "https://www.anchorterminal.com/compare/countly-vs-matomo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-mixpanel.json",
        "title": "Countly vs Mixpanel",
        "url": "https://www.anchorterminal.com/compare/countly-vs-mixpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-mostly-good-metrics.json",
        "title": "Countly vs Mostly Good Metrics",
        "url": "https://www.anchorterminal.com/compare/countly-vs-mostly-good-metrics"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-openpanel.json",
        "title": "Countly vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/countly-vs-openpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-optimizely.json",
        "title": "Countly vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/countly-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-pendo.json",
        "title": "Countly vs Pendo",
        "url": "https://www.anchorterminal.com/compare/countly-vs-pendo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-posthog.json",
        "title": "Countly vs PostHog",
        "url": "https://www.anchorterminal.com/compare/countly-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-statsig.json",
        "title": "Countly vs Statsig",
        "url": "https://www.anchorterminal.com/compare/countly-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-woopra.json",
        "title": "Countly vs Woopra",
        "url": "https://www.anchorterminal.com/compare/countly-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-userpilot.json",
        "title": "Fullstory vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-userpilot.json",
        "title": "GrowthBook vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/matomo-vs-userpilot.json",
        "title": "Matomo vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/matomo-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-userpilot.json",
        "title": "Mixpanel vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-userpilot.json",
        "title": "Mostly Good Metrics vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-userpilot.json",
        "title": "OpenPanel vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-userpilot.json",
        "title": "Optimizely Experimentation vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pendo-vs-userpilot.json",
        "title": "Pendo vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/posthog-vs-userpilot.json",
        "title": "PostHog vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/posthog-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/statsig-vs-userpilot.json",
        "title": "Statsig vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/statsig-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/userpilot-vs-woopra.json",
        "title": "Userpilot vs Woopra",
        "url": "https://www.anchorterminal.com/compare/userpilot-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-flagsmith.json",
        "title": "Countly vs Flagsmith",
        "url": "https://www.anchorterminal.com/compare/countly-vs-flagsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-harness-fme.json",
        "title": "Countly vs Harness Feature Management \u0026 Experimentation",
        "url": "https://www.anchorterminal.com/compare/countly-vs-harness-fme"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-launchdarkly.json",
        "title": "Countly vs LaunchDarkly",
        "url": "https://www.anchorterminal.com/compare/countly-vs-launchdarkly"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-heap.json",
        "title": "Countly vs Heap",
        "url": "https://www.anchorterminal.com/compare/countly-vs-heap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-userpilot.json",
        "title": "Heap vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/heap-vs-userpilot"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 59,
        "countly": 23,
        "edge": "userpilot",
        "key": "reliability",
        "name": "Reliability",
        "userpilot": 82,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "countly": 75,
        "edge": "countly",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "userpilot": 71,
        "weight": 13
      },
      {
        "by": 6,
        "countly": 66,
        "edge": "countly",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "userpilot": 60,
        "weight": 13
      },
      {
        "by": 0,
        "countly": 62,
        "edge": "",
        "key": "security",
        "name": "Security \u0026 auth",
        "userpilot": 62,
        "weight": 14
      },
      {
        "by": 13,
        "countly": 17,
        "edge": "userpilot",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "userpilot": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "countly": 80,
        "edge": "countly",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "userpilot": 79,
        "weight": 7
      },
      {
        "by": 13,
        "countly": 72,
        "edge": "countly",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "userpilot": 59,
        "weight": 7
      }
    ],
    "summary": "Userpilot scores 64.4 (B) on agent readiness against Countly's 38.8 (E), and leads in 2 of 7 scored categories. Countly leads on agent ergonomics and transparency \u0026 trust. Both do analytics queries.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "countly": "Countly suits an agent working against a server its owner already runs. The official MCP server filters its 209 tools by edition, plugin and permission and has per-category read-only settings. Five countly-server CVEs were published since September, all fixed, and no status page, OpenAPI document or published API rate limit was found.",
      "userpilot": "Userpilot's registry-listed MCP server uses OAuth with separate read and write scopes and cannot delete or reach administration, which suits an agent asking analytics questions. Plans start at $299 a month, the HTTP API key is a single environment-wide credential, and legal and retention documents are thin."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/countly-vs-userpilot",
    "json": "https://www.anchorterminal.com/compare/countly-vs-userpilot.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/countly-vs-userpilot.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/countly-vs-userpilot.min.md"
  },
  "markdown": "Userpilot scores 64.4 (B) on agent readiness against Countly's 38.8 (E), and leads in 2 of 7 scored categories. Countly leads on agent ergonomics and transparency \u0026 trust. Both do analytics queries.\n\n- Countly: grade E, 38.8/100, rank #1332 of 1486. Markdown https://www.anchorterminal.com/tools/countly.md · JSON https://www.anchorterminal.com/api/v1/tools/countly.json\n- Userpilot: grade B, 64.4/100, rank #471 of 1486. Markdown https://www.anchorterminal.com/tools/userpilot.md · JSON https://www.anchorterminal.com/api/v1/tools/userpilot.json\n- 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## Which one, for what\n\n### Countly (E)\n\nGood for: An agent whose owner runs Countly on its own infrastructure or a dedicated Flex server and wants analytics, crash and remote-config data through MCP with per-category permissions.\n\nAhead on:\n- Agent ergonomics, 66 against 60\n- Transparency \u0026 trust, 72 against 59\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n\nWatch for: No public status page or incident history was found for Flex servers or for mcp.count.ly\n\n### Userpilot (B)\n\nGood for: SaaS teams already using Userpilot for onboarding who want an agent to answer analytics questions and draft segments and surveys.\n\nAhead on:\n- Reliability, 82 against 23\n- Payments \u0026 pricing, 30 against 17\n\nAlso in its favour:\n- Free to start without a card\n- No incidents deducted, where Countly loses 15 points for them\n\nWatch for: Plans start at $299 a month, and the HTTP API needs Growth from $849\n\n\n## Why the edge\n\n### Reliability: Userpilot +59\n\n- Countly (23): Graded on the hosted lines, for a Countly Flex server reached through its HTTP API and the official MCP server. No status page was found on countly.com, the Flex page, the docs or the legal pages, and status.countly.com did not resolve on 4 November (0). With no page there is no readable incident history (5). The MCP server's HTTP endpoint is limited to 120 requests a minute per IP, but the Countly server's own `api_rate_limit_requests` setting ships at 0 (off), and the Flex terms of 20 October 2026 reserve usage limits without numbers (8 of 15, the earlier partial kept). No 429 or retry guidance and no idempotency keys were found in the API reference source (0). The pricing page lists an SLA as optional on Flex and included in Enterprise, with no SLA document published, which this run scores 0 (0). The API and MCP server 1.7.0 are generally available (10).\n- Userpilot (82): Graded on the hosted service with the hosted lines. Better Stack status page at status.userpilot.io with components for ingestion in three regions, the SDKs, the web application APIs and the website (20). From August to November 2026 the page shows only scheduled maintenance windows of two to four hours, with no incidents; the MCP server isn't a component (30). 600 requests a minute per token for the real-time APIs, but no numbers for MCP or export (12 of 15). 429 documented with exponential backoff guidance; no Retry-After or idempotency guidance (10 of 15). The SLA is a custom Enterprise contract term, not published (0). The MCP server is 1.0.0 in the registry with no beta label (10). 20+30+12+10+0+10 = 82.\n\n### Payments \u0026 pricing: Userpilot +13\n\n- Countly (17): No x402, MPP or L402 (0). The pricing page gives only a starting price for Flex, $175 a month, priced on monthly active users and data points, with tier prices shown during signup and Enterprise on custom pricing (7 of 20, the earlier partial kept). The 14-day Flex trial needs a credit card, per the Flex page. Countly Lite is free to self-host with no card, without funnels, retention, cohorts or Drill, so half credit (10). A person signs up in a browser, creates a server and makes a token in the dashboard (0).\n- Userpilot (30): No x402, MPP or L402 (0). Plan prices are public ($299 and from $849 a month), with no per-unit prices (10). 14-day free trial with no card required (20). Signup and OAuth approval happen in a browser (0). 0+10+20+0 = 30.\n\n### Transparency \u0026 trust: Countly +13\n\n- Countly (72): Countly Lite is AGPL-3.0 with added branding terms under Section 7, the MCP server is MIT, and the Enterprise plugins that hold funnels, retention, cohorts and Drill are closed (20 of 30). Flex now has its own terms, privacy policy, DPA and sub-processor list, all dated 20 October 2026. The Flex privacy policy excludes data customers process and gives no retention periods, and the DPA covers that data (20). The MCP changelog deprecated auth tokens in URL parameters on 23 April 2026 (1.3.0), and the server warns on their use, with no notice period (15, the settled value for dated notices without a period). The Flex sub-processor list names locations, with 30 days' notice of changes in the DPA, and Flex customers choose a Google Cloud region. A Connected Services and Telemetry notice (20 October 2026) says server reports to stats.count.ly are on by default and which settings turn them off, and MCP usage reporting is disclosed with an opt-out (18).\n- Userpilot (59): A closed service with terms dated 23 April 2024 (15 of 30). The privacy policy of 11 March 2025 names a DPO and two sub-processors (AWS and Cloudflare), while the security page names AWS, Google Cloud and Stripe. The DPA is on request and no customer-data retention period is stated (14 of 30). No deprecation policy or dated API notices found (3 of 20). Sub-processors are named with addresses but not data locations, though an EU ingestion endpoint exists (10 of 20). 15+14+3+10 = 42.\n\n### Agent ergonomics: Countly +6\n\n- Countly (66): The MCP README counts 209 tools in 43 categories, far past 30 (5). Add back 8 because the server hides tools the edition, enabled plugins or user's permissions cannot run, and `COUNTLY_TOOLS_*` settings switch categories off (13). List endpoints take `iDisplayStart` and `iDisplayLength`, and MCP list tools take `skip`, `limit` and `search` (15). API errors are `{\"result\": \"message\"}` strings with HTTP status codes and no error codes. The MCP server returns failures as `isError` results that name the missing plugin or permission (12). MCP tools carry readOnlyHint, destructiveHint and idempotentHint since 1.7.0. No idempotency keys on API writes (14). MCP tools accept `app_name` in place of `app_id` and set defaults. The SDKs cover data collection, not the read API (12).\n- Userpilot (60): The tool count isn't published; the docs say the assistant can search hundreds of extra read-only operations on demand, which reads as dynamic loading. Without the list we give the middle band (15 of 25). Export jobs filter by date range, users, events and segments, and job lists paginate (14 of 20). A documented error reference (13 of 20). No deletes or admin through MCP by design; annotations weren't readable and no idempotency keys were found (10 of 20). The HTTP APIs have no official server-side SDK; client SDKs for web and six mobile frameworks (8 of 15). 15+14+13+10+8 = 60.\n\n## Score by category\n\n| Category | Weight | Countly | Userpilot | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 23 | 82 | Userpilot +59 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 71 | Countly +4 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 60 | Countly +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 62 | 62 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 17 | 30 | Userpilot +13 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 79 | Countly +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 59 | Countly +13 |\n| Negative events | ≤15 | -15 | 0 | |\n| **Total** | | **38.8 · E** | **64.4 · B** | |\n\n## Facts side by side\n\n| Fact | Countly | Userpilot |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Countly Ltd | Userpilot, Inc. |\n| Hosted endpoint | `https://mcp.count.ly/mcp` | `https://mcp.userpilot.io/mcp` |\n| Transports | HTTP, stdio, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Countly Lite is AGPL-3.0 with added branding terms under Section 7. Enterprise plugins are proprietary. Flex is a hosted service under Countly's terms. The MCP server is MIT | none |\n| Tools exposed | 209 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.userpilot/mcp` |\n| Last release | 2026-10-27 | 2026-10-11 |\n| Terms last updated | not read yet | 2024-04-23 |\n| Privacy policy last updated | not read yet | 2025-03-11 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | yes |\n| Arbitration or class-action waiver | not read yet | yes |\n| Popularity | 28k npm/wk | 236k npm/wk |\n\n## How the scores have moved\n\n### Countly\n\n- -16.1 on 4 November 2026 (C to E): security, correction\n- +0.1 on 27 October 2026: checklist\n\n### Userpilot\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Countly.** Countly suits an agent working against a server its owner already runs. The official MCP server filters its 209 tools by edition, plugin and permission and has per-category read-only settings. Five countly-server CVEs were published since September, all fixed, and no status page, OpenAPI document or published API rate limit was found.\n\n**Userpilot.** Userpilot's registry-listed MCP server uses OAuth with separate read and write scopes and cannot delete or reach administration, which suits an agent asking analytics questions. Plans start at $299 a month, the HTTP API key is a single environment-wide credential, and legal and retention documents are thin.\n\n## Before you call either\n\n### Countly\n\n1. Create a dedicated token in the Token Manager, limited to the apps and endpoints the task needs, and send it in the `countly-token` header, not the URL\n2. Set `COUNTLY_TOOLS_ALL=R` unless the task needs writes. The token's own permissions still apply and the stricter of the two wins\n3. Call `apps_list` first. Most tools need `app_id` or an exact `app_name`\n4. Check `get_version` for the detected edition before planning funnel, retention or cohort queries, which need Enterprise plugins\n5. Set `ENABLE_ANALYTICS=false` to stop MCP usage reports to stats.count.ly, and ask the server owner to check the tracking settings for server reports\n\n### Userpilot\n\n1. Ask for only the scopes the task needs; profile and session replay reads are separate grants\n2. Expect survey writes to stay drafts that a person reviews and publishes in Userpilot\n3. Refresh the connector's tool list after Userpilot adds tools, since clients cache it\n4. Back off exponentially on 429 from Identify and Track, which allow 600 requests a minute\n5. Use the bulk export job API for raw events rather than looping over analytics tools\n\n## Questions\n\n### Which is better for AI agents, Countly or Userpilot?\n\nUserpilot scores 64.4 (B) on agent readiness against Countly's 38.8 (E), and leads in 2 of 7 scored categories. Countly leads on agent ergonomics and transparency \u0026 trust.\n\n### Do Countly and Userpilot need an API key?\n\nCountly needs an API key. Userpilot takes an API key or an OAuth sign-in.\n\n### Can an agent call Countly and Userpilot without installing anything?\n\nYes. Countly has a hosted endpoint at https://mcp.count.ly/mcp and Userpilot at https://mcp.userpilot.io/mcp.\n\n### Are Countly and Userpilot open source?\n\nCountly is open source (Countly Lite is AGPL-3.0 with added branding terms under Section 7. Enterprise plugins are proprietary. Flex is a hosted service under Countly's terms. The MCP server is MIT). No open-source release is listed for Userpilot.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/countly-vs-userpilot.json, and with the fewest tokens: https://www.anchorterminal.com/compare/countly-vs-userpilot.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"countly\", \"b\": \"userpilot\"}`. From a terminal: `anchor compare countly userpilot`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/countly.json and https://www.anchorterminal.com/api/v1/tools/userpilot.json\n\n## Other comparisons with Countly or Userpilot\n\n- [Amplitude vs Countly](https://www.anchorterminal.com/compare/amplitude-vs-countly.md)\n- [Amplitude vs Userpilot](https://www.anchorterminal.com/compare/amplitude-vs-userpilot.md)\n- [Basedash MCP vs Countly](https://www.anchorterminal.com/compare/basedash-mcp-vs-countly.md)\n- [Basedash MCP vs Userpilot](https://www.anchorterminal.com/compare/basedash-mcp-vs-userpilot.md)\n- [Countly vs Fullstory](https://www.anchorterminal.com/compare/countly-vs-fullstory.md)\n- [Countly vs GrowthBook](https://www.anchorterminal.com/compare/countly-vs-growthbook.md)\n- [Countly vs Matomo](https://www.anchorterminal.com/compare/countly-vs-matomo.md)\n- [Countly vs Mixpanel](https://www.anchorterminal.com/compare/countly-vs-mixpanel.md)\n- [Countly vs Mostly Good Metrics](https://www.anchorterminal.com/compare/countly-vs-mostly-good-metrics.md)\n- [Countly vs OpenPanel](https://www.anchorterminal.com/compare/countly-vs-openpanel.md)\n- [Countly vs Optimizely Experimentation](https://www.anchorterminal.com/compare/countly-vs-optimizely.md)\n- [Countly vs Pendo](https://www.anchorterminal.com/compare/countly-vs-pendo.md)\n- [Countly vs PostHog](https://www.anchorterminal.com/compare/countly-vs-posthog.md)\n- [Countly vs Statsig](https://www.anchorterminal.com/compare/countly-vs-statsig.md)\n- [Countly vs Woopra](https://www.anchorterminal.com/compare/countly-vs-woopra.md)\n- [Fullstory vs Userpilot](https://www.anchorterminal.com/compare/fullstory-vs-userpilot.md)\n- [GrowthBook vs Userpilot](https://www.anchorterminal.com/compare/growthbook-vs-userpilot.md)\n- [Matomo vs Userpilot](https://www.anchorterminal.com/compare/matomo-vs-userpilot.md)\n- [Mixpanel vs Userpilot](https://www.anchorterminal.com/compare/mixpanel-vs-userpilot.md)\n- [Mostly Good Metrics vs Userpilot](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-userpilot.md)\n- [OpenPanel vs Userpilot](https://www.anchorterminal.com/compare/openpanel-vs-userpilot.md)\n- [Optimizely Experimentation vs Userpilot](https://www.anchorterminal.com/compare/optimizely-vs-userpilot.md)\n- [Pendo vs Userpilot](https://www.anchorterminal.com/compare/pendo-vs-userpilot.md)\n- [PostHog vs Userpilot](https://www.anchorterminal.com/compare/posthog-vs-userpilot.md)\n- [Statsig vs Userpilot](https://www.anchorterminal.com/compare/statsig-vs-userpilot.md)\n- [Userpilot vs Woopra](https://www.anchorterminal.com/compare/userpilot-vs-woopra.md)\n- [Countly vs Flagsmith](https://www.anchorterminal.com/compare/countly-vs-flagsmith.md)\n- [Countly vs Harness Feature Management \u0026 Experimentation](https://www.anchorterminal.com/compare/countly-vs-harness-fme.md)\n- [Countly vs LaunchDarkly](https://www.anchorterminal.com/compare/countly-vs-launchdarkly.md)\n- [Countly vs Heap](https://www.anchorterminal.com/compare/countly-vs-heap.md)\n- [Heap vs Userpilot](https://www.anchorterminal.com/compare/heap-vs-userpilot.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Countly vs Userpilot",
        "url": ""
      }
    ],
    "description": "Userpilot scores 64.4 (B) to Countly's 38.8 (E) for analytics queries. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Countly E 38.8",
      "Userpilot B 64.4",
      "scores"
    ],
    "h1": "Countly vs Userpilot",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/countly-vs-userpilot",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Countly vs Userpilot for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/countly-vs-userpilot"
  },
  "tokens": {
    "markdown": 4050,
    "slim": 2130
  },
  "version": 1
}
