{
  "data": {
    "a": {
      "slug": "posthog",
      "name": "PostHog",
      "vendor": "PostHog Inc.",
      "vendorUrl": "https://posthog.com",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "PostHog is an open-source product analytics platform with session replay, feature flags, experiments, error tracking and a data warehouse. Agents reach PostHog Cloud through a REST API with a public OpenAPI spec and an official hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/posthog",
      "markdownUrl": "https://www.anchorterminal.com/tools/posthog.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/posthog.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/posthog.json",
      "dns": "posthog.grade.anchorterminal.com",
      "repo": "https://github.com/PostHog/posthog",
      "license": "MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://us.posthog.com",
      "packages": [
        {
          "registry": "npm",
          "name": "posthog-node"
        },
        {
          "registry": "npm",
          "name": "posthog-js"
        },
        {
          "registry": "pypi",
          "name": "posthog"
        },
        {
          "registry": "npm",
          "name": "@posthog/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. Private endpoints take a Bearer personal API key (`phx_`) that a signed-in user creates with chosen scopes and project or organisation access, or an OAuth access token. OAuth at oauth.posthog.com supports PKCE, dynamic client registration and client ID metadata documents, with no app review needed to go live. The MCP server uses OAuth by default or a personal API key made with the MCP Server preset. Project secret API keys are in beta. Capture and flag evaluation take the public project token.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with no card, covering 1 million analytics events and 1 million flag requests a month. The paid plan has no base fee and no seat charge, and bills per unit above the free allowance (analytics events from $0.00005). API and MCP calls are not billed, but personal API key queries draw on an hourly read budget that is larger on a paid plan (https://posthog.com/pricing, checked 2026-10-07).",
      "priceSummary": "$0.0001 / tx",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI spec or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": 1183,
      "popularity": {
        "githubStars": 40176,
        "npmWeekly": 15243417,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://posthog.com/docs/api",
      "llmsTxt": "https://posthog.com/llms.txt",
      "openapi": "https://app.posthog.com/api/schema/",
      "registryName": "io.github.PostHog/mcp",
      "capabilities": [
        "analytics.query",
        "analytics.events",
        "analytics.funnels",
        "analytics.experiments",
        "analytics.flags",
        "observability.errors",
        "observability.logs"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "free-tier",
        "no-card",
        "eu-region",
        "status-page",
        "soc2",
        "typescript",
        "python"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.4,
        "grade": "B",
        "agentReady": false,
        "rank": 328,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 89,
          "payments": 40,
          "reliability": 84,
          "schema": 81,
          "security": 84,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -10,
        "negativeNotes": [
          "-3: 2025-11-24. Malicious versions of posthog-node, posthog-js and six other npm packages were published with a stolen token after an attacker took CI secrets through a pull request workflow. PostHog removed them in about five hours and published a post-mortem on 26 November 2025, so the deduction is reduced (https://posthog.com/blog/nov-24-shai-hulud-attack-post-mortem).",
          "-2: 2026-05-29, disclosed 2026-06-02 as PSA-2026-00001 (critical). Researchers used an unsandboxed, outdated Chromium to reach a US Cloud pod and read internal production credentials. PostHog says no customer data was accessed and the credentials were rotated. Fixed and documented (https://posthog.com/handbook/company/security-advisories).",
          "-2: 2026-07-11 to 2026-08-04, disclosed 2026-08-21 as PSA-2026-00002 (high). Customer-run nginx proxies set up as PostHog's guide showed sent traffic to released AWS addresses, and a researcher read traffic from six EU customers. The report sat in triage for five weeks. Fixed and documented (https://posthog.com/handbook/company/security-advisories).",
          "-3: 2026-10-23. posthog 7.75.11 (PyPI) and posthog-node 5.57.1 (npm) stopped copying the `headers` and `authorization` of MCP tool definitions into `$ai_tools` on AI events, and stopped sending exception text that can quote prompts in `$ai_error` when privacy mode is on. The package changelogs describe the fix, and PostHog's security advisories page lists no advisory for it (https://github.com/PostHog/posthog-python/blob/main/posthog/CHANGELOG.md)."
        ],
        "verdict": "PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,183 tools. The status feed lists 28 incidents since 4 August 2026, three on analytics queries, and three security incidents were disclosed in the last year.",
        "bestFor": "An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 2,347 operations and a scope on most of them, plus llms.txt and a Markdown copy of every docs page",
          "Hosted MCP server with OAuth, a read-only switch, filters by product area or tool name and pinning to one project",
          "CLI mode registers one `exec` tool that searches, inspects and calls the 1,183 tools on demand",
          "Free plan without a card, with 1 million analytics events and 1 million flag requests a month, and public per-unit prices above that",
          "MIT source outside the `ee` directory, a public SOC 2 Type 2 report and a public security advisories page"
        ],
        "weaknesses": [
          "28 incidents on the status feed between 4 August and 27 October 2026, three of them analytics query timeouts or failures",
          "Three security incidents in twelve months, among them malicious npm SDK versions on 24 November 2025. A 23 October 2026 SDK fix for MCP credentials in AI events had no advisory",
          "API queries stop at 10 seconds of execution, three at a time per project, with an hourly read budget on personal API keys",
          "No API versioning or deprecation policy was found, and the query docs reserve the right to restrict export-like queries without notice",
          "Customer content can be used to train PostHog's own models unless the customer opts out in settings"
        ],
        "agentNotes": [
          "Add `?readonly=true` or the `x-posthog-read-only` header to the MCP URL unless the task needs writes",
          "Pin the session with `x-posthog-project-id`, which also removes the `switch-project` and `switch-organization` tools",
          "In CLI mode run `info \u003ctool\u003e` once before `call`, and send one `exec` command per request",
          "On a 429 with code `api_queries_budget_exceeded`, wait for `Retry-After` and read `X-PostHog-Query-Budget-Remaining-Bytes`",
          "Page SQL results by keyset on `timestamp`. `OFFSET` returns 400 for personal API keys, and results cap at 50,000 rows"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.4
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 89,
          "payments": 40,
          "reliability": 84,
          "schema": 81,
          "security": 84,
          "transparency": 71
        },
        "provenanceScore": 95,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx @posthog/wizard mcp add",
        "http": "curl \\\n  -H 'Content-Type: application/json' \\\n  -H \"Authorization: Bearer $POSTHOG_PERSONAL_API_KEY\" \\\n  https://us.posthog.com/api/projects/:project_id/query/ \\\n  -d '{\"query\": {\"kind\": \"HogQLQuery\", \"query\": \"select event, count() from events group by event limit 100\"}}'",
        "claudeCode": "claude mcp add --transport http posthog https://mcp.posthog.com/mcp -s user",
        "config": {
          "mcpServers": {
            "posthog": {
              "url": "https://mcp.posthog.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/posthog"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Product analytics event",
          "unit": "tx",
          "usd": 0.00005,
          "note": "1 to 2 million a month, first 1 million free, lower above"
        },
        {
          "item": "Feature flag request",
          "unit": "tx",
          "usd": 0.0001,
          "note": "1 to 2 million a month, first 1 million free, lower above"
        },
        {
          "item": "Session recording",
          "unit": "tx",
          "usd": 0.005,
          "note": "5,001 to 15,000 a month, first 5,000 free"
        },
        {
          "item": "Data warehouse row",
          "unit": "record",
          "usd": 0.000015,
          "note": "1 to 10 million a month, first 1 million free"
        },
        {
          "item": "Boost package",
          "unit": "month",
          "usd": 250
        },
        {
          "item": "Scale package",
          "unit": "month",
          "usd": 750
        },
        {
          "item": "Enterprise package",
          "unit": "month",
          "usd": 2000
        }
      ],
      "provenance": {
        "legalEntity": "PostHog Inc. (formerly Hiberly Inc.)",
        "domain": "posthog.com",
        "domainRegistered": "2020-01-23",
        "endpointOnVendorDomain": true,
        "terms": "https://posthog.com/terms",
        "privacy": "https://posthog.com/privacy",
        "statusPage": "https://www.posthogstatus.com",
        "changelog": "https://posthog.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-07",
        "notes": [
          "The privacy policy names PostHog Inc., formerly known as Hiberly Inc., and its subsidiaries. The security handbook names Hiberly Ltd. as the UK entity.",
          "posthog.com/.well-known/security.txt expires 2027-08-30 and points to the security handbook. The copy on us.posthog.com expired 2024-03-14.",
          "status.posthog.com redirects to www.posthogstatus.com.",
          "RDAP for posthog.com gives a registration date of 2020-01-23.",
          "The API, OAuth server and MCP server answer on posthog.com subdomains."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/posthog.json",
      "live": {
        "slug": "posthog",
        "probe": {
          "target": "https://us.posthog.com",
          "method": "get",
          "lastAt": "2026-11-07T23:26:49.152396092Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 507,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.99,
          "p50ms24h": 448,
          "p95ms24h": 593,
          "samples24h": 244,
          "samples30d": 7514,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 252
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 238,
              "ok": 238
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.posthogstatus.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:37.450387165Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "PostHog/posthog",
            "version": "desktop-v0.61.959",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:57:41.813768908Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.PostHog/mcp",
            "version": "1.0.1",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "@posthog/cli",
            "version": "0.19.0",
            "seenAt": "2026-11-06T23:57:40.070966304Z"
          },
          {
            "registry": "npm",
            "name": "posthog-js",
            "version": "1.447.3",
            "seenAt": "2026-11-06T23:57:38.624326161Z"
          },
          {
            "registry": "npm",
            "name": "posthog-node",
            "version": "5.63.1",
            "seenAt": "2026-11-06T23:57:37.623108072Z"
          },
          {
            "registry": "pypi",
            "name": "posthog",
            "version": "7.86.0",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:57:39.946740628Z"
          }
        ],
        "githubStars": 40679,
        "npmWeekly": 20839148,
        "pypiWeekly": 12063741,
        "securityTxt": {
          "url": "https://posthog.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-30T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:18.698644072Z"
        },
        "llmsTxt": {
          "url": "https://posthog.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:40.03441392Z"
        },
        "domain": {
          "domain": "posthog.com",
          "registered": "2020-01-23",
          "source": "https://rdap.verisign.com/com/v1/domain/posthog.com",
          "checkedAt": "2026-11-01T14:23:59.370052225Z"
        },
        "pages": [
          {
            "url": "https://posthog.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:07.593863392Z",
            "changedAt": "2026-11-07T14:17:07.593863392Z",
            "fingerprint": "e3af71f7b627"
          },
          {
            "url": "https://posthog.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:09.971897037Z",
            "changedAt": "2026-11-07T14:17:09.971897037Z",
            "fingerprint": "b6bf14465bc4"
          },
          {
            "url": "https://posthog.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:12.346376074Z",
            "changedAt": "2026-11-07T14:17:12.346376074Z",
            "fingerprint": "562ec288cab5"
          },
          {
            "url": "https://posthog.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:15.548582875Z",
            "changedAt": "2026-11-07T14:17:15.548582875Z",
            "fingerprint": "78b5df11b9ff"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.posthog.com/mcp",
          "checkedAt": "2026-11-07T01:46:54.661711518Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:54.661711518Z"
        },
        "github": {
          "repo": "posthog/posthog",
          "checkedAt": "2026-11-02T09:17:59.883331399Z",
          "stars": 40594,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T09:17:42Z",
          "openIssues": 3875,
          "openPRs": 1342,
          "issuesOpened90d": 1602,
          "issuesClosed90d": 1028,
          "prsMerged90d": 18318,
          "ci": {
            "branch": "master",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-23T00:10:29Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-wqqw-r8c5-j67c",
              "cve": "CVE-2023-46746",
              "severity": "low",
              "published": "2023-11-28T12:07:41Z"
            }
          ]
        },
        "updatedAt": "2026-11-07T23:26:49.152396092Z"
      }
    },
    "answer": "PostHog scores 67.4 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in every scored category.",
    "b": {
      "slug": "rudderstack-mcp",
      "name": "RudderStack MCP",
      "vendor": "RudderStack, Inc.",
      "vendorUrl": "https://www.rudderstack.com",
      "kind": "mcp",
      "category": "product-analytics",
      "summary": "RudderStack MCP is a hosted server that lets an agent debug event delivery, warehouse loads and tracking-plan violations, and manage transformations, Reverse ETL and audiences in a RudderStack workspace, over OAuth.",
      "url": "https://www.anchorterminal.com/tools/rudderstack-mcp",
      "markdownUrl": "https://www.anchorterminal.com/tools/rudderstack-mcp.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rudderstack-mcp.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rudderstack-mcp.json",
      "dns": "rudderstack-mcp.grade.anchorterminal.com",
      "repo": "https://github.com/rudderlabs/rudderstack-mcp",
      "license": "Proprietary service. The repository's MIT licence covers docs and metadata only",
      "transports": [
        "streamable-http"
      ],
      "remoteUrl": "https://mcp.rudderstack.com/mcp",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 with PKCE and dynamic client registration; no static token in the configuration. Tools run with the signed-in user's workspace permissions, and every workspace tool needs a workspace_id.",
      "pricing": "freemium",
      "pricingNotes": "Free plan $0 with 250,000 events a month; Growth from $265 a month for 1 million events with a 30-day trial; Enterprise by quote. Tool availability depends on plan and enabled products (checked 2026-11-07).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 on the MCP docs or pricing page (checked 2026-11-07).",
        "endpoints": []
      },
      "toolCount": 62,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-07"
      },
      "docsUrl": "https://www.rudderstack.com/docs/ai-features/rudderstack-mcp/",
      "llmsTxt": "https://www.rudderstack.com/llms.txt",
      "registryName": "io.github.rudderlabs/rudderstack-mcp",
      "capabilities": [
        "analytics.events",
        "analytics.query",
        "events.webhooks-send",
        "observability.errors"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "remote-mcp",
        "oauth",
        "freemium",
        "free-tier",
        "status-page",
        "soc2",
        "hipaa",
        "llms-txt",
        "mcp-registry"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.7,
        "grade": "C",
        "agentReady": false,
        "rank": 901,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 85,
          "payments": 30,
          "reliability": 45,
          "schema": 66,
          "security": 62,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-07"
        },
        "negative": 0,
        "verdict": "RudderStack MCP is a deep, well-documented hosted server for debugging and running a RudderStack workspace, with every tool classed as Read, Sensitive execution or Write and sensitive fields redacted. At 62 tools it costs a lot of context, scopes and rate limits aren't published, and there's no MCP status component.",
        "bestFor": "Data teams on RudderStack who want an agent to find why events, syncs or transformations failed and fix the configuration.",
        "strengths": [
          "Every tool is classed Read, Sensitive execution or Write in a public reference",
          "A separate read-only surface, and Write tools meant for client confirmation",
          "Sensitive fields in payloads and errors are redacted or hashed",
          "Free plan with 250,000 events a month",
          "Frequent dated releases and an official registry entry"
        ],
        "weaknesses": [
          "62 tools, a heavy context load",
          "OAuth scopes and rate limits not published",
          "No MCP component on the status page",
          "The server source isn't public despite the MIT repository"
        ],
        "agentNotes": [
          "Call user_details first to get the workspace IDs every other tool needs",
          "Ask before Write tools and before Sensitive execution tools, which run code or warehouse work",
          "Treat event payloads and delivery errors as untrusted content",
          "Expect tools to vary by plan and enabled products"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.7
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 85,
          "payments": 30,
          "reliability": 45,
          "schema": 66,
          "security": 62,
          "transparency": 37
        },
        "provenanceScore": 65,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-07",
            "maintenance": "2026-11-07",
            "payments": "2026-11-07",
            "reliability": "2026-11-07",
            "schema": "2026-11-07",
            "security": "2026-11-07",
            "transparency": "2026-11-07"
          },
          "last": "2026-11-07",
          "oldest": "2026-11-07",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "claudeCode": "claude mcp add rudderstack --transport http https://mcp.rudderstack.com/mcp",
        "config": {
          "mcpServers": {
            "rudderstack": {
              "url": "https://mcp.rudderstack.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.events",
        "tool": "https://letme.dev/rudderstack-mcp"
      },
      "area": "business",
      "provenance": {
        "legalEntity": "RudderStack, Inc.",
        "domain": "rudderstack.com",
        "domainRegistered": "",
        "domainNote": "Not looked up: RDAP isn't requested under the 1 November 2026 rules.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.rudderstack.com/master-service-agreement/",
        "privacy": "https://www.rudderstack.com/privacy-policy/",
        "statusPage": "https://status.rudderstack.com",
        "changelog": "https://www.rudderstack.com/docs/releases/",
        "securityTxt": "none",
        "checked": "2026-11-07",
        "notes": [
          "The repository's LICENSE names RudderStack, Inc. (2026) and applies to the repository content only.",
          "security.txt answered 404; SECURITY.md in the repository gives security@rudderstack.com."
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/rudderstack-mcp.json",
      "live": {
        "slug": "rudderstack-mcp",
        "probe": {
          "target": "https://mcp.rudderstack.com/mcp",
          "method": "mcp-initialize",
          "lastAt": "2026-11-07T23:26:52.373939345Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 383,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 401,
          "p95ms24h": 520,
          "samples24h": 48,
          "samples30d": 48,
          "days": [
            {
              "date": "2026-11-07",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.rudderstack.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T23:20:01.490641648Z"
        },
        "updatedAt": "2026-11-07T23:26:52.373939345Z"
      }
    },
    "edges": [
      {
        "by": 39,
        "category": "reliability",
        "leads": "posthog",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on PostHog Cloud with the hosted lines. Status page on incident.io at posthogstatus.com with per-region components, among them MCP Server and REST API Query endpoints (20). Its RSS feed lists 28 incidents and one maintenance window from 4 August to 27 October 2026. Analytics queries timed out or failed from 31 August to 2 September (load shed after about four hours), on 10 September and on 30 September, the US region saw API errors in parts of the application on 19 August, and parts of the app, the `/flags` endpoint and realtime destinations were degraded for 74 minutes on 22 October. Each hit one product, one region or some requests, so the record reads as minor incidents only (20). Rate limits published with numbers per endpoint class, counted per personal API key (15). The query read budget answers 429 with `Retry-After` and budget headers, but there is no backoff guidance for the general limits and no idempotency keys for writes were found (9). 99.95 per cent uptime SLA in the terms for the Enterprise package (10). The REST API is generally available and the MCP docs carry no beta label (10).",
          "b": "Statuspage at status.rudderstack.com with regional components and none for MCP (15). Since August the history shows an EU ingestion issue, increased US latency, a Python transformations issue, free-tier processing delays and scheduled maintenance (20, minor incidents). No MCP rate limits found (0). No retry guidance for the MCP server found (0). No SLA found in the pages read (0). Not labelled beta (10). 15 + 20 + 0 + 0 + 0 + 10 = 45."
        },
        "scores": {
          "a": 84,
          "b": 45
        }
      },
      {
        "by": 32,
        "category": "transparency",
        "leads": "posthog",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT outside the `ee` directory, which has its own licence and is part of what PostHog Cloud runs (25 of 30). Privacy policy, a self-serve DPA and the terms agree. The terms let PostHog use de-identified customer content to train its own models unless the customer opts out, and bar third parties from training on it. The privacy policy gives no retention periods, while the pricing page gives 1 year on the free plan and 7 on paid (22). No deprecation policy was found, and the query docs reserve the right to restrict export-like queries without notice. 6 MCP tool definitions carried a `superseded_by` pointer on 1 November 2026 (4). Sub-processor list updated 12 June 2026 with locations, 14 days' notice of changes, and data in Virginia or Germany (20).",
          "b": "The server's source is closed; the repository's MIT licence covers only its docs and metadata. Terms in a master service agreement naming RudderStack, Inc. (15). Privacy policy read, retention given by purpose, not as periods (12 of 30). No deprecation policy for the MCP server (5 of 20). Subprocessors not found in the pages read (5 of 20). The MCP docs say live events, schemas, profile artifacts, transformation code and audit data stay within the workspace view. 15 + 12 + 5 + 5 = 37."
        },
        "scores": {
          "a": 83,
          "b": 51
        }
      },
      {
        "by": 26,
        "category": "ergonomics",
        "leads": "posthog",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "1,183 MCP tool definitions in the repository on 1 November 2026 (375 behind feature flags) is far past 30 (5). Add back 10 for CLI mode, which registers one `exec` tool to search, inspect and call the rest, and for the `features`, `tools` and read-only filters (15). Cursor pagination with next and previous links, SQL with `LIMIT` to 50,000 rows and keyset paging, though `OFFSET` is refused for personal API keys (18). Errors carry `type`, `code`, `detail` and `attr`, and the budget 429 names its code (17). Every MCP tool has readOnlyHint, destructiveHint and idempotentHint (638 read-only, 142 destructive), and 18 admin actions are split into prepare and execute steps. No idempotency keys on REST writes (15). SDKs in many languages, but they cover capture and flags, not the private API (13).",
          "b": "62 tools (5), plus a separately controlled read-only web surface (5). Filters on some list tools, not documented generally (8 of 20). One documented error (5 of 20). Read, Sensitive execution and Write classes, with Write tools to be confirmed by the client; annotations not read (14 of 20). One URL with OAuth and RudderStack SDKs in many languages (15). 10 + 8 + 5 + 14 + 15 = 52."
        },
        "scores": {
          "a": 78,
          "b": 52
        }
      },
      {
        "by": 22,
        "category": "security",
        "leads": "posthog",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2 with PKCE, 226 scopes, a revocation endpoint and dynamic registration, or personal API keys with scopes, project limits and rolling. A key can still be created with full access, and keys found in public GitHub repositories are rolled automatically (28). Read-only mode, filters by product area or tool, project pinning, and a typed confirmation for 18 admin actions (18). The MCP docs warn about prompt injection and tell users to review tool calls, and the CLI escapes informational responses. No further mitigation is documented for event and replay data that end users wrote (9). Activity logs with an API, MCP calls recorded with the caller's IP, and an admin view of every key with last use. Longer retention needs a platform package (12). security.txt valid to 30 August 2027, Bugcrowd disclosure programme paid in merchandise, public SOC 2 Type 2 report, annual penetration test and a public advisories page (17).",
          "b": "OAuth with PKCE and dynamic registration, scopes not published (22 of 30). Access classes, a read-only surface and confirmation advice for writes (16 of 20). Selected sensitive fields in event payloads and errors are redacted or hashed before they reach the model, but event payloads are still untrusted text (8 of 15). No audit log of MCP calls found (0). SOC 2 Type 2, HIPAA with a BAA, and a SECURITY.md with a private reporting address; no security.txt (404) (16 of 20). 22 + 16 + 8 + 0 + 16 = 62."
        },
        "scores": {
          "a": 84,
          "b": 62
        }
      },
      {
        "by": 15,
        "category": "schema",
        "leads": "posthog",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 served without a login, 1,742 paths and 2,347 operations, and typed JSON Schema inputs on the MCP tools (25). llms.txt, and every docs page has a Markdown copy at the same address with .md (10). 1,487 of 2,347 operations (63 per cent) have a description. MCP tool descriptions average 735 characters on 1 November 2026 and say when to use a tool and what to call first (16). 1,243 enums across 4,792 schemas and a required scope on most operations (13). 706 examples in the spec. It documents 400 on 224 operations and 429 on 55, and the docs show the error shape with examples (9). Dated public changelog with RSS, but the spec version is fixed at 1.0.0 and the API has no versions (8).",
          "b": "The public repository's docs/tools.md lists 62 tools with an access class for each; JSON Schemas not read without a session (15 of 25). llms.txt (10). Every tool has a one-line purpose and a Read, Sensitive execution or Write class (15 of 20). Inputs not verifiable (5 of 15). Example prompts and a documented 'workspace_id is required' error (6 of 15). Versioned in the registry (0.43.1, 6 November) and dated release notes (15). 15 + 10 + 15 + 5 + 6 + 15 = 66."
        },
        "scores": {
          "a": 81,
          "b": 66
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "posthog",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Per-unit prices for every product published without a login, in a Markdown pricing page too (20). Free plan with no card (20). A person signs up in a browser and creates a key or approves OAuth (0).",
          "b": "No machine payment protocol (0). Public plan prices with event allowances, nothing per call (10). Free plan with 250,000 events a month (20). A person signs up in a browser and approves OAuth (0). 0 + 10 + 20 + 0 = 30."
        },
        "scores": {
          "a": 40,
          "b": 30
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "MCP server",
        "name": "Kind"
      },
      {
        "a": "PostHog Inc.",
        "b": "RudderStack, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://us.posthog.com",
        "b": "https://mcp.rudderstack.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms",
        "b": "Proprietary service. The repository's MIT licence covers docs and metadata only",
        "name": "Licence"
      },
      {
        "a": "1183",
        "b": "62",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.PostHog/mcp",
        "b": "io.github.rudderlabs/rudderstack-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-30",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2026-06-29",
        "b": "not read yet",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-29",
        "b": "not read yet",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "40k stars, 15.2M npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "PostHog scores 67.4 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, PostHog or RudderStack MCP?"
      },
      {
        "answer": "PostHog takes an API key or an OAuth sign-in. RudderStack MCP uses an OAuth sign-in.",
        "question": "Do PostHog and RudderStack MCP need an API key?"
      },
      {
        "answer": "Yes. PostHog has a hosted endpoint at https://us.posthog.com and RudderStack MCP at https://mcp.rudderstack.com/mcp.",
        "question": "Can an agent call PostHog and RudderStack MCP without installing anything?"
      },
      {
        "answer": "PostHog is open source (MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms). No open-source release is listed for RudderStack MCP.",
        "question": "Are PostHog and RudderStack MCP open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 84 against 45",
          "Schema \u0026 documentation, 81 against 66",
          "Agent ergonomics, 78 against 52",
          "Security \u0026 auth, 84 against 62",
          "Payments \u0026 pricing, 40 against 30",
          "Transparency \u0026 trust, 83 against 51"
        ],
        "also": [
          "Free to start without a card",
          "Open source"
        ],
        "goodFor": "An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.",
        "slug": "posthog",
        "watchFor": "28 incidents on the status feed between 4 August and 27 October 2026, three of them analytics query timeouts or failures"
      },
      {
        "aheadOn": null,
        "also": [
          "No incidents deducted, where PostHog loses 10 points for them"
        ],
        "goodFor": "Data teams on RudderStack who want an agent to find why events, syncs or transformations failed and fix the configuration.",
        "slug": "rudderstack-mcp",
        "watchFor": "62 tools, a heavy context load"
      }
    ],
    "history": {
      "posthog": [
        {
          "causes": [
            "security",
            "correction"
          ],
          "date": "2026-11-01",
          "delta": -1,
          "from": 68.4,
          "fromGrade": "B",
          "to": 67.4,
          "toGrade": "B"
        }
      ],
      "rudderstack-mcp": null
    },
    "job": {
      "capability": "analytics.query",
      "name": "Analytics queries"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-posthog.json",
        "title": "Amplitude vs PostHog",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-rudderstack-mcp.json",
        "title": "Amplitude vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/basedash-mcp-vs-posthog.json",
        "title": "Basedash MCP vs PostHog",
        "url": "https://www.anchorterminal.com/compare/basedash-mcp-vs-posthog"
      },
      {
        "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-rudderstack-mcp.json",
        "title": "Countly vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/countly-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-posthog.json",
        "title": "Fullstory vs PostHog",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-rudderstack-mcp.json",
        "title": "Fullstory vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/matomo-vs-posthog.json",
        "title": "Matomo vs PostHog",
        "url": "https://www.anchorterminal.com/compare/matomo-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/matomo-vs-rudderstack-mcp.json",
        "title": "Matomo vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/matomo-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-posthog.json",
        "title": "Mixpanel vs PostHog",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mixpanel-vs-rudderstack-mcp.json",
        "title": "Mixpanel vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-posthog.json",
        "title": "Mostly Good Metrics vs PostHog",
        "url": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-rudderstack-mcp.json",
        "title": "Mostly Good Metrics vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-posthog.json",
        "title": "OpenPanel vs PostHog",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-rudderstack-mcp.json",
        "title": "OpenPanel vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp.json",
        "title": "Optimizely Experimentation vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pendo-vs-posthog.json",
        "title": "Pendo vs PostHog",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pendo-vs-rudderstack-mcp.json",
        "title": "Pendo vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/pendo-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/posthog-vs-statsig.json",
        "title": "PostHog vs Statsig",
        "url": "https://www.anchorterminal.com/compare/posthog-vs-statsig"
      },
      {
        "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/posthog-vs-woopra.json",
        "title": "PostHog vs Woopra",
        "url": "https://www.anchorterminal.com/compare/posthog-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-rudderstack-mcp.json",
        "title": "Flagsmith vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-rudderstack-mcp.json",
        "title": "GrowthBook vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-fme-vs-rudderstack-mcp.json",
        "title": "Harness Feature Management \u0026 Experimentation vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/harness-fme-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-posthog.json",
        "title": "Heap vs PostHog",
        "url": "https://www.anchorterminal.com/compare/heap-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-rudderstack-mcp.json",
        "title": "Heap vs RudderStack MCP",
        "url": "https://www.anchorterminal.com/compare/heap-vs-rudderstack-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-statsig.json",
        "title": "RudderStack MCP vs Statsig",
        "url": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-userpilot.json",
        "title": "RudderStack MCP vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-woopra.json",
        "title": "RudderStack MCP vs Woopra",
        "url": "https://www.anchorterminal.com/compare/rudderstack-mcp-vs-woopra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flagsmith-vs-posthog.json",
        "title": "Flagsmith vs PostHog",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-fme-vs-posthog.json",
        "title": "Harness Feature Management \u0026 Experimentation vs PostHog",
        "url": "https://www.anchorterminal.com/compare/harness-fme-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/launchdarkly-vs-posthog.json",
        "title": "LaunchDarkly vs PostHog",
        "url": "https://www.anchorterminal.com/compare/launchdarkly-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/growthbook-vs-posthog.json",
        "title": "GrowthBook vs PostHog",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-posthog"
      },
      {
        "json": "https://www.anchorterminal.com/compare/optimizely-vs-posthog.json",
        "title": "Optimizely Experimentation vs PostHog",
        "url": "https://www.anchorterminal.com/compare/optimizely-vs-posthog"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 39,
        "edge": "posthog",
        "key": "reliability",
        "name": "Reliability",
        "posthog": 84,
        "rudderstack-mcp": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "posthog",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "posthog": 81,
        "rudderstack-mcp": 66,
        "weight": 13
      },
      {
        "by": 26,
        "edge": "posthog",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "posthog": 78,
        "rudderstack-mcp": 52,
        "weight": 13
      },
      {
        "by": 22,
        "edge": "posthog",
        "key": "security",
        "name": "Security \u0026 auth",
        "posthog": 84,
        "rudderstack-mcp": 62,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "posthog",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "posthog": 40,
        "rudderstack-mcp": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "posthog",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "posthog": 89,
        "rudderstack-mcp": 85,
        "weight": 7
      },
      {
        "by": 32,
        "edge": "posthog",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "posthog": 83,
        "rudderstack-mcp": 51,
        "weight": 7
      }
    ],
    "summary": "PostHog scores 67.4 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in every scored category. Both do analytics queries.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "posthog": "PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,183 tools. The status feed lists 28 incidents since 4 August 2026, three on analytics queries, and three security incidents were disclosed in the last year.",
      "rudderstack-mcp": "RudderStack MCP is a deep, well-documented hosted server for debugging and running a RudderStack workspace, with every tool classed as Read, Sensitive execution or Write and sensitive fields redacted. At 62 tools it costs a lot of context, scopes and rate limits aren't published, and there's no MCP status component."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp",
    "json": "https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp.min.md"
  },
  "markdown": "PostHog scores 67.4 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in every scored category. Both do analytics queries.\n\n- PostHog: grade B, 67.4/100, rank #328 of 1510. Markdown https://www.anchorterminal.com/tools/posthog.md · JSON https://www.anchorterminal.com/api/v1/tools/posthog.json\n- RudderStack MCP: grade C, 54.7/100, rank #901 of 1510. Markdown https://www.anchorterminal.com/tools/rudderstack-mcp.md · JSON https://www.anchorterminal.com/api/v1/tools/rudderstack-mcp.json\n- Best product analytics and experimentation tools for AI agents: https://www.anchorterminal.com/best/product-analytics/index.md\n- All 170 product analytics comparisons: https://www.anchorterminal.com/compare/product-analytics/index.md\n\n## Which one, for what\n\n### PostHog (B)\n\nGood for: An agent that answers product questions in SQL or with funnel, retention and trends queries, and that manages feature flags, experiments and error tracking in the same project.\n\nAhead on:\n- Reliability, 84 against 45\n- Schema \u0026 documentation, 81 against 66\n- Agent ergonomics, 78 against 52\n- Security \u0026 auth, 84 against 62\n- Payments \u0026 pricing, 40 against 30\n- Transparency \u0026 trust, 83 against 51\n\nAlso in its favour:\n- Free to start without a card\n- Open source\n\nWatch for: 28 incidents on the status feed between 4 August and 27 October 2026, three of them analytics query timeouts or failures\n\n### RudderStack MCP (C)\n\nGood for: Data teams on RudderStack who want an agent to find why events, syncs or transformations failed and fix the configuration.\n\nAlso in its favour:\n- No incidents deducted, where PostHog loses 10 points for them\n\nWatch for: 62 tools, a heavy context load\n\n\n## Why the edge\n\n### Reliability: PostHog +39\n\n- PostHog (84): Graded on PostHog Cloud with the hosted lines. Status page on incident.io at posthogstatus.com with per-region components, among them MCP Server and REST API Query endpoints (20). Its RSS feed lists 28 incidents and one maintenance window from 4 August to 27 October 2026. Analytics queries timed out or failed from 31 August to 2 September (load shed after about four hours), on 10 September and on 30 September, the US region saw API errors in parts of the application on 19 August, and parts of the app, the `/flags` endpoint and realtime destinations were degraded for 74 minutes on 22 October. Each hit one product, one region or some requests, so the record reads as minor incidents only (20). Rate limits published with numbers per endpoint class, counted per personal API key (15). The query read budget answers 429 with `Retry-After` and budget headers, but there is no backoff guidance for the general limits and no idempotency keys for writes were found (9). 99.95 per cent uptime SLA in the terms for the Enterprise package (10). The REST API is generally available and the MCP docs carry no beta label (10).\n- RudderStack MCP (45): Statuspage at status.rudderstack.com with regional components and none for MCP (15). Since August the history shows an EU ingestion issue, increased US latency, a Python transformations issue, free-tier processing delays and scheduled maintenance (20, minor incidents). No MCP rate limits found (0). No retry guidance for the MCP server found (0). No SLA found in the pages read (0). Not labelled beta (10). 15 + 20 + 0 + 0 + 0 + 10 = 45.\n\n### Transparency \u0026 trust: PostHog +32\n\n- PostHog (83): MIT outside the `ee` directory, which has its own licence and is part of what PostHog Cloud runs (25 of 30). Privacy policy, a self-serve DPA and the terms agree. The terms let PostHog use de-identified customer content to train its own models unless the customer opts out, and bar third parties from training on it. The privacy policy gives no retention periods, while the pricing page gives 1 year on the free plan and 7 on paid (22). No deprecation policy was found, and the query docs reserve the right to restrict export-like queries without notice. 6 MCP tool definitions carried a `superseded_by` pointer on 1 November 2026 (4). Sub-processor list updated 12 June 2026 with locations, 14 days' notice of changes, and data in Virginia or Germany (20).\n- RudderStack MCP (51): The server's source is closed; the repository's MIT licence covers only its docs and metadata. Terms in a master service agreement naming RudderStack, Inc. (15). Privacy policy read, retention given by purpose, not as periods (12 of 30). No deprecation policy for the MCP server (5 of 20). Subprocessors not found in the pages read (5 of 20). The MCP docs say live events, schemas, profile artifacts, transformation code and audit data stay within the workspace view. 15 + 12 + 5 + 5 = 37.\n\n### Agent ergonomics: PostHog +26\n\n- PostHog (78): 1,183 MCP tool definitions in the repository on 1 November 2026 (375 behind feature flags) is far past 30 (5). Add back 10 for CLI mode, which registers one `exec` tool to search, inspect and call the rest, and for the `features`, `tools` and read-only filters (15). Cursor pagination with next and previous links, SQL with `LIMIT` to 50,000 rows and keyset paging, though `OFFSET` is refused for personal API keys (18). Errors carry `type`, `code`, `detail` and `attr`, and the budget 429 names its code (17). Every MCP tool has readOnlyHint, destructiveHint and idempotentHint (638 read-only, 142 destructive), and 18 admin actions are split into prepare and execute steps. No idempotency keys on REST writes (15). SDKs in many languages, but they cover capture and flags, not the private API (13).\n- RudderStack MCP (52): 62 tools (5), plus a separately controlled read-only web surface (5). Filters on some list tools, not documented generally (8 of 20). One documented error (5 of 20). Read, Sensitive execution and Write classes, with Write tools to be confirmed by the client; annotations not read (14 of 20). One URL with OAuth and RudderStack SDKs in many languages (15). 10 + 8 + 5 + 14 + 15 = 52.\n\n### Security \u0026 auth: PostHog +22\n\n- PostHog (84): OAuth 2 with PKCE, 226 scopes, a revocation endpoint and dynamic registration, or personal API keys with scopes, project limits and rolling. A key can still be created with full access, and keys found in public GitHub repositories are rolled automatically (28). Read-only mode, filters by product area or tool, project pinning, and a typed confirmation for 18 admin actions (18). The MCP docs warn about prompt injection and tell users to review tool calls, and the CLI escapes informational responses. No further mitigation is documented for event and replay data that end users wrote (9). Activity logs with an API, MCP calls recorded with the caller's IP, and an admin view of every key with last use. Longer retention needs a platform package (12). security.txt valid to 30 August 2027, Bugcrowd disclosure programme paid in merchandise, public SOC 2 Type 2 report, annual penetration test and a public advisories page (17).\n- RudderStack MCP (62): OAuth with PKCE and dynamic registration, scopes not published (22 of 30). Access classes, a read-only surface and confirmation advice for writes (16 of 20). Selected sensitive fields in event payloads and errors are redacted or hashed before they reach the model, but event payloads are still untrusted text (8 of 15). No audit log of MCP calls found (0). SOC 2 Type 2, HIPAA with a BAA, and a SECURITY.md with a private reporting address; no security.txt (404) (16 of 20). 22 + 16 + 8 + 0 + 16 = 62.\n\n### Schema \u0026 documentation: PostHog +15\n\n- PostHog (81): OpenAPI 3.1 served without a login, 1,742 paths and 2,347 operations, and typed JSON Schema inputs on the MCP tools (25). llms.txt, and every docs page has a Markdown copy at the same address with .md (10). 1,487 of 2,347 operations (63 per cent) have a description. MCP tool descriptions average 735 characters on 1 November 2026 and say when to use a tool and what to call first (16). 1,243 enums across 4,792 schemas and a required scope on most operations (13). 706 examples in the spec. It documents 400 on 224 operations and 429 on 55, and the docs show the error shape with examples (9). Dated public changelog with RSS, but the spec version is fixed at 1.0.0 and the API has no versions (8).\n- RudderStack MCP (66): The public repository's docs/tools.md lists 62 tools with an access class for each; JSON Schemas not read without a session (15 of 25). llms.txt (10). Every tool has a one-line purpose and a Read, Sensitive execution or Write class (15 of 20). Inputs not verifiable (5 of 15). Example prompts and a documented 'workspace_id is required' error (6 of 15). Versioned in the registry (0.43.1, 6 November) and dated release notes (15). 15 + 10 + 15 + 5 + 6 + 15 = 66.\n\n### Payments \u0026 pricing: PostHog +10\n\n- PostHog (40): No x402, MPP or L402 (0). Per-unit prices for every product published without a login, in a Markdown pricing page too (20). Free plan with no card (20). A person signs up in a browser and creates a key or approves OAuth (0).\n- RudderStack MCP (30): No machine payment protocol (0). Public plan prices with event allowances, nothing per call (10). Free plan with 250,000 events a month (20). A person signs up in a browser and approves OAuth (0). 0 + 10 + 20 + 0 = 30.\n\n## Score by category\n\n| Category | Weight | PostHog | RudderStack MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 45 | PostHog +39 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 81 | 66 | PostHog +15 |\n| Agent ergonomics | 13% (16.2 this run) | 78 | 52 | PostHog +26 |\n| Security \u0026 auth | 14% (17.5 this run) | 84 | 62 | PostHog +22 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | PostHog +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 89 | 85 | PostHog +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 51 | PostHog +32 |\n| Negative events | ≤15 | -10 | 0 | |\n| **Total** | | **67.4 · B** | **54.7 · C** | |\n\n## Facts side by side\n\n| Fact | PostHog | RudderStack MCP |\n| --- | --- | --- |\n| Kind | HTTP API | MCP server |\n| Vendor | PostHog Inc. | RudderStack, Inc. |\n| Hosted endpoint | `https://us.posthog.com` | `https://mcp.rudderstack.com/mcp` |\n| Transports | HTTP, Streamable HTTP | Streamable HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms | Proprietary service. The repository's MIT licence covers docs and metadata only |\n| Tools exposed | 1183 | 62 |\n| Read-only variant documented | yes | yes |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.PostHog/mcp` | `io.github.rudderlabs/rudderstack-mcp` |\n| Last release | 2026-10-30 | none |\n| Terms last updated | 2026-06-29 | not read yet |\n| Privacy policy last updated | 2026-06-29 | not read yet |\n| Customer content may train models | yes, with an opt-out | not read yet |\n| Terms restrict automated access | not found in the text | not read yet |\n| Terms restrict benchmarking | yes | not read yet |\n| Terms or service can change without notice | not found in the text | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n| Popularity | 40k stars, 15.2M npm/wk | none |\n| Agent reviews | 3.3/5 (4) | none |\n\n## How the scores have moved\n\n### PostHog\n\n- -1.0 on 1 November 2026: security, correction\n\n### RudderStack MCP\n\nNo score change since it was listed.\n\n## Verdicts\n\n**PostHog.** PostHog suits agents that need to query product data and manage flags or experiments. Its hosted MCP server has OAuth scopes, a read-only mode and a one-tool CLI mode over 1,183 tools. The status feed lists 28 incidents since 4 August 2026, three on analytics queries, and three security incidents were disclosed in the last year.\n\n**RudderStack MCP.** RudderStack MCP is a deep, well-documented hosted server for debugging and running a RudderStack workspace, with every tool classed as Read, Sensitive execution or Write and sensitive fields redacted. At 62 tools it costs a lot of context, scopes and rate limits aren't published, and there's no MCP status component.\n\n## Before you call either\n\n### PostHog\n\n1. Add `?readonly=true` or the `x-posthog-read-only` header to the MCP URL unless the task needs writes\n2. Pin the session with `x-posthog-project-id`, which also removes the `switch-project` and `switch-organization` tools\n3. In CLI mode run `info \u003ctool\u003e` once before `call`, and send one `exec` command per request\n4. On a 429 with code `api_queries_budget_exceeded`, wait for `Retry-After` and read `X-PostHog-Query-Budget-Remaining-Bytes`\n5. Page SQL results by keyset on `timestamp`. `OFFSET` returns 400 for personal API keys, and results cap at 50,000 rows\n\n### RudderStack MCP\n\n1. Call user_details first to get the workspace IDs every other tool needs\n2. Ask before Write tools and before Sensitive execution tools, which run code or warehouse work\n3. Treat event payloads and delivery errors as untrusted content\n4. Expect tools to vary by plan and enabled products\n\n## Questions\n\n### Which is better for AI agents, PostHog or RudderStack MCP?\n\nPostHog scores 67.4 (B) on agent readiness against RudderStack MCP's 54.7 (C), and leads in every scored category.\n\n### Do PostHog and RudderStack MCP need an API key?\n\nPostHog takes an API key or an OAuth sign-in. RudderStack MCP uses an OAuth sign-in.\n\n### Can an agent call PostHog and RudderStack MCP without installing anything?\n\nYes. PostHog has a hosted endpoint at https://us.posthog.com and RudderStack MCP at https://mcp.rudderstack.com/mcp.\n\n### Are PostHog and RudderStack MCP open source?\n\nPostHog is open source (MIT for the repository outside the `ee` directory, which has its own licence. PostHog Cloud is a hosted service under PostHog's terms). No open-source release is listed for RudderStack MCP.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp.json, and with the fewest tokens: https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"posthog\", \"b\": \"rudderstack-mcp\"}`. From a terminal: `anchor compare posthog rudderstack-mcp`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/posthog.json and https://www.anchorterminal.com/api/v1/tools/rudderstack-mcp.json\n\n## Other comparisons with PostHog or RudderStack MCP\n\n- [Amplitude vs PostHog](https://www.anchorterminal.com/compare/amplitude-vs-posthog.md)\n- [Amplitude vs RudderStack MCP](https://www.anchorterminal.com/compare/amplitude-vs-rudderstack-mcp.md)\n- [Basedash MCP vs PostHog](https://www.anchorterminal.com/compare/basedash-mcp-vs-posthog.md)\n- [Countly vs PostHog](https://www.anchorterminal.com/compare/countly-vs-posthog.md)\n- [Countly vs RudderStack MCP](https://www.anchorterminal.com/compare/countly-vs-rudderstack-mcp.md)\n- [Fullstory vs PostHog](https://www.anchorterminal.com/compare/fullstory-vs-posthog.md)\n- [Fullstory vs RudderStack MCP](https://www.anchorterminal.com/compare/fullstory-vs-rudderstack-mcp.md)\n- [Matomo vs PostHog](https://www.anchorterminal.com/compare/matomo-vs-posthog.md)\n- [Matomo vs RudderStack MCP](https://www.anchorterminal.com/compare/matomo-vs-rudderstack-mcp.md)\n- [Mixpanel vs PostHog](https://www.anchorterminal.com/compare/mixpanel-vs-posthog.md)\n- [Mixpanel vs RudderStack MCP](https://www.anchorterminal.com/compare/mixpanel-vs-rudderstack-mcp.md)\n- [Mostly Good Metrics vs PostHog](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-posthog.md)\n- [Mostly Good Metrics vs RudderStack MCP](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-rudderstack-mcp.md)\n- [OpenPanel vs PostHog](https://www.anchorterminal.com/compare/openpanel-vs-posthog.md)\n- [OpenPanel vs RudderStack MCP](https://www.anchorterminal.com/compare/openpanel-vs-rudderstack-mcp.md)\n- [Optimizely Experimentation vs RudderStack MCP](https://www.anchorterminal.com/compare/optimizely-vs-rudderstack-mcp.md)\n- [Pendo vs PostHog](https://www.anchorterminal.com/compare/pendo-vs-posthog.md)\n- [Pendo vs RudderStack MCP](https://www.anchorterminal.com/compare/pendo-vs-rudderstack-mcp.md)\n- [PostHog vs Statsig](https://www.anchorterminal.com/compare/posthog-vs-statsig.md)\n- [PostHog vs Userpilot](https://www.anchorterminal.com/compare/posthog-vs-userpilot.md)\n- [PostHog vs Woopra](https://www.anchorterminal.com/compare/posthog-vs-woopra.md)\n- [Flagsmith vs RudderStack MCP](https://www.anchorterminal.com/compare/flagsmith-vs-rudderstack-mcp.md)\n- [GrowthBook vs RudderStack MCP](https://www.anchorterminal.com/compare/growthbook-vs-rudderstack-mcp.md)\n- [Harness Feature Management \u0026 Experimentation vs RudderStack MCP](https://www.anchorterminal.com/compare/harness-fme-vs-rudderstack-mcp.md)\n- [Heap vs PostHog](https://www.anchorterminal.com/compare/heap-vs-posthog.md)\n- [Heap vs RudderStack MCP](https://www.anchorterminal.com/compare/heap-vs-rudderstack-mcp.md)\n- [RudderStack MCP vs Statsig](https://www.anchorterminal.com/compare/rudderstack-mcp-vs-statsig.md)\n- [RudderStack MCP vs Userpilot](https://www.anchorterminal.com/compare/rudderstack-mcp-vs-userpilot.md)\n- [RudderStack MCP vs Woopra](https://www.anchorterminal.com/compare/rudderstack-mcp-vs-woopra.md)\n- [Flagsmith vs PostHog](https://www.anchorterminal.com/compare/flagsmith-vs-posthog.md)\n- [Harness Feature Management \u0026 Experimentation vs PostHog](https://www.anchorterminal.com/compare/harness-fme-vs-posthog.md)\n- [LaunchDarkly vs PostHog](https://www.anchorterminal.com/compare/launchdarkly-vs-posthog.md)\n- [GrowthBook vs PostHog](https://www.anchorterminal.com/compare/growthbook-vs-posthog.md)\n- [Optimizely Experimentation vs PostHog](https://www.anchorterminal.com/compare/optimizely-vs-posthog.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": "PostHog vs RudderStack MCP",
        "url": ""
      }
    ],
    "description": "PostHog scores 67.4 (B) to RudderStack MCP's 54.7 (C) for analytics queries. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "PostHog B 67.4",
      "RudderStack MCP C 54.7",
      "scores"
    ],
    "h1": "PostHog vs RudderStack MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/posthog-vs-rudderstack-mcp",
    "published": "2026-10-01",
    "section": "tools",
    "title": "PostHog vs RudderStack MCP for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/posthog-vs-rudderstack-mcp"
  },
  "tokens": {
    "markdown": 4650,
    "slim": 2630
  },
  "version": 1
}
