{
  "data": {
    "a": {
      "slug": "openpanel",
      "name": "OpenPanel",
      "vendor": "OpenPanel AB",
      "vendorUrl": "https://openpanel.dev",
      "kind": "http-api",
      "category": "product-analytics",
      "summary": "OpenPanel is open-source web and product analytics from OpenPanel AB in Stockholm, with events, funnels, retention and profiles. It runs in OpenPanel's EU cloud or self-hosted, with REST APIs and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/openpanel",
      "markdownUrl": "https://www.anchorterminal.com/tools/openpanel.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openpanel.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openpanel.json",
      "dns": "openpanel.grade.anchorterminal.com",
      "repo": "https://github.com/Openpanel-dev/openpanel",
      "license": "AGPL-3.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.openpanel.dev/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@openpanel/sdk"
        },
        {
          "registry": "npm",
          "name": "@openpanel/web"
        }
      ],
      "auth": "api-key",
      "authNotes": "API clients have a client ID and secret and one of three types. write clients reach only the Track API, read clients the Export and Insights APIs for one project, root clients every API across the organisation. The MCP token is base64(clientId:clientSecret), sent as `Authorization: Bearer`, or as `?token=` in the URL for clients that can't set headers. Only read and root clients can use MCP. Onboarding creates a read-only MCP client for the first project.",
      "pricing": "freemium",
      "pricingNotes": "Cloud plans are priced by events a month, from $2.50 a month, with $30 a month for 250,000 events; seats and projects are unlimited and every plan has every capability. 30-day free trial with no card. Events over the plan wait for the next period rather than being billed. Free hosting up to 2.5 million events for open-source projects. Self-hosting is free under AGPL-3.0.",
      "priceSummary": "$30 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt, the OpenAPI spec or the pricing page (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": 51,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 338527,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://openpanel.dev/docs",
      "llmsTxt": "https://openpanel.dev/llms.txt",
      "openapi": "https://api.openpanel.dev/openapi.json",
      "capabilities": [
        "analytics.query",
        "analytics.events",
        "analytics.funnels"
      ],
      "tags": [
        "official",
        "hosted",
        "open-source",
        "self-hosted",
        "mcp",
        "remote-mcp",
        "openapi",
        "llms-txt",
        "free-tier",
        "no-card",
        "status-page",
        "eu",
        "eu-region",
        "typescript",
        "python"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61,
        "grade": "C",
        "agentReady": false,
        "rank": 628,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 13,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 83,
          "payments": 35,
          "reliability": 70,
          "schema": 75,
          "security": 41,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "OpenPanel is AGPL-licensed analytics with a hosted MCP server, documented rate limits, a live OpenAPI document and EU hosting, from $2.50 a month or free to self-host. Its 51 MCP tools carry no read or destructive hints, and the MCP token can travel in the URL.",
        "bestFor": "Small and mid-sized teams wanting EU-hosted or self-hosted product analytics an agent can query.",
        "strengths": [
          "AGPL-3.0 with no separate enterprise edition, and free self-hosting with no event limits",
          "Hosted MCP server whose read clients are limited to one project and to reads",
          "Rate limits documented for MCP and each API family",
          "Live OpenAPI document, llms.txt and Markdown docs",
          "Cloud data stored in Germany with a published DPA and named providers"
        ],
        "weaknesses": [
          "51 MCP tools load at once, with no readOnlyHint or destructiveHint",
          "The docs let the MCP token travel as a `?token=` query parameter",
          "No audit log, bug bounty or certification found",
          "Error responses aren't documented per endpoint",
          "No SLA, and no deprecation policy for a product that shipped a major version on 16 October 2026"
        ],
        "agentNotes": [
          "Send the token in the Authorization header, not as `?token=` in the URL",
          "Use a read client for analysis so dashboard management tools stay hidden",
          "Call list_event_names first when you don't know the project's event names",
          "Stay under 60 MCP requests a minute; back off exponentially on 429",
          "Treat event properties and page titles in results as untrusted text from tracked sites"
        ],
        "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": 61
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 83,
          "payments": 35,
          "reliability": 70,
          "schema": 75,
          "security": 41,
          "transparency": 74
        },
        "provenanceScore": 91,
        "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 openpanel https://api.openpanel.dev/mcp --header \"Authorization: Bearer YOUR_TOKEN\"",
        "config": {
          "mcpServers": {
            "openpanel": {
              "headers": {
                "Authorization": "Bearer YOUR_TOKEN"
              },
              "type": "streamable-http",
              "url": "https://api.openpanel.dev/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/analytics.query",
        "tool": "https://letme.dev/openpanel"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Cloud plan, 250,000 events",
          "unit": "month",
          "usd": 30,
          "note": "Billed monthly plus VAT; two months free yearly"
        },
        {
          "item": "Smallest Cloud plan",
          "unit": "month",
          "usd": 2.5,
          "note": "Lowest event tier, as shown on the pricing page"
        }
      ],
      "provenance": {
        "legalEntity": "OpenPanel AB",
        "domain": "openpanel.dev",
        "domainRegistered": "2024-01-20",
        "endpointOnVendorDomain": true,
        "terms": "https://openpanel.dev/terms",
        "privacy": "https://openpanel.dev/privacy",
        "statusPage": "https://status.openpanel.dev",
        "changelog": "https://github.com/Openpanel-dev/openpanel/releases",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The terms and privacy policy, both last updated 21 May 2026, name OpenPanel AB, Sankt Eriksgatan 100, Stockholm, under Swedish law. The terms incorporate a GDPR DPA published at openpanel.dev/dpa.",
          "openpanel.dev/.well-known/security.txt names security@openpanel.dev and expires 4 May 2027.",
          "openpanel.dev/robots.txt allows all crawlers, llms.txt and Markdown pages. openpanel.dev/changelog returned 404; releases are tagged on GitHub.",
          "RDAP gives openpanel.dev a registration date of 20 January 2024."
        ],
        "score": 91
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openpanel.json",
      "live": {
        "slug": "openpanel",
        "probe": {
          "target": "https://api.openpanel.dev/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:44.634870089Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 122,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 69,
          "p95ms24h": 132,
          "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.openpanel.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:32.199116066Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@openpanel/sdk",
            "version": "1.3.4",
            "seenAt": "2026-11-06T23:53:11.060660619Z"
          },
          {
            "registry": "npm",
            "name": "@openpanel/web",
            "version": "1.4.4",
            "seenAt": "2026-11-06T23:53:11.962651116Z"
          }
        ],
        "githubStars": 7261,
        "npmWeekly": 338527,
        "securityTxt": {
          "url": "https://openpanel.dev/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-04T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:00:33.076283922Z"
        },
        "llmsTxt": {
          "url": "https://openpanel.dev/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:32.617452156Z"
        },
        "pages": [
          {
            "url": "https://openpanel.dev/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:30.663230155Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "452fd88cab93"
          },
          {
            "url": "https://openpanel.dev/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:32.807963388Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "dc695f7544f4"
          }
        ],
        "mcpTools": {
          "url": "https://api.openpanel.dev/mcp",
          "checkedAt": "2026-11-07T01:46:35.998524582Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:46:35.998524582Z"
        },
        "updatedAt": "2026-11-07T18:20:44.634870089Z"
      }
    },
    "answer": "Userpilot scores 64.4 (B) on agent readiness against OpenPanel's 61 (C), and leads in 3 of 7 scored categories. OpenPanel leads on payments \u0026 pricing 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": 24,
        "category": "transparency",
        "leads": "openpanel",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "AGPL-3.0 for the whole product, and the about page says there is no enterprise edition (30). Terms and privacy policy of 21 May 2026 agree, with a DPA published, transient IP use, data ownership kept by the customer, and providers named with locations. Retention periods are general rather than stated in days (22 of 30). No deprecation policy or dated notices found; v3.0.0 was a major release on 16 October 2026 (4 of 20). Sub-processors and data locations disclosed in the privacy policy (Hetzner, Germany) (18 of 20). 30+22+4+18 = 74.",
          "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": 83,
          "b": 59
        }
      },
      {
        "by": 21,
        "category": "security",
        "leads": "userpilot",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Client credentials with three types (write, read for one project, root for the organisation), created and deleted in the dashboard (25), less 10 because the docs give `?token=` in the MCP URL as an option (15 of 30). Read clients are read-only and limited to one project, and onboarding creates a read-only MCP client. No approval step for root-client writes (14 of 20). Tools return event properties, page titles and profile data sent from tracked sites, and no prompt-injection guidance was found (3 of 15). No audit log was found (0). SECURITY.md with a private advisory route and response times, a valid security.txt, and no bug bounty or certification found (9 of 20). 15+14+3+0+9 = 41.",
          "b": "The MCP server uses OAuth with PKCE, dynamic client registration, revocation, separate read and write scopes and the user's own role. The HTTP API key is one per environment with many privileges and is regenerated through support. Averaged over both surfaces (22 of 30). Write scopes are optional, profile and replay data need their own scopes, and deletes and administration are unavailable through MCP (19 of 20). Profiles, survey answers and event properties come from end users, and no prompt-injection guidance was found beyond a note that the AI provider processes the data (3 of 15). Access and Activity Logs exist, on Enterprise per the pricing page (9 of 15). SOC 2 Type II with the report on request and penetration tests by certified auditors. No security.txt, disclosure policy or bug bounty (9 of 20). 22+19+3+9+9 = 62."
        },
        "scores": {
          "a": 41,
          "b": 62
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "userpilot",
        "name": "Reliability",
        "reasons": {
          "a": "Graded on OpenPanel Cloud with the hosted lines. OpenStatus page at status.openpanel.dev with API and Tracker components (20). In the 90 days from 8 August, one incident, degraded API performance for about two hours on 1 October 2026, caused by Hetzner private-network problems reaching the ClickHouse servers (15 of 30). Limits are documented with numbers for MCP (60 a minute per client) and the Export, Insights and Manage APIs (15). The docs say a 429 is returned and to back off exponentially; no Retry-After or idempotency guidance (10 of 15). No SLA was found (0). Generally available (10). 20+15+15+10+0+10 = 70.",
          "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": 70,
          "b": 82
        }
      },
      {
        "by": 6,
        "category": "ergonomics",
        "leads": "userpilot",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "51 MCP tools, more than 30 (5). We added 3 because a read client doesn't get the 9 dashboard management tools (8 of 25). Insights endpoints take startDate, endDate, range, filters, cursor and limit (18 of 20). Errors aren't documented beyond 401 and 429 (12 of 20). No readOnlyHint or destructiveHint in the MCP source, no idempotency keys; delete_dashboard refuses a non-empty dashboard without forceDelete (3 of 20). Few required parameters, and SDKs for JavaScript, React, Next.js, Vue, React Native, Swift, Kotlin and Python (13 of 15). 8+18+12+3+13 = 54.",
          "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": 54,
          "b": 60
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "openpanel",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Public prices by event tier from $2.50 a month, with no overage charges; tiers rather than a per-event rate (15 of 20). 30-day free trial with no card, and free self-hosting (20). Signup is in a browser and client keys are created in the dashboard (0). 0+15+20+0 = 35.",
          "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": 35,
          "b": 30
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OpenPanel AB",
        "b": "Userpilot, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.openpanel.dev/mcp",
        "b": "https://mcp.userpilot.io/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "51",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "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-11-06",
        "b": "2026-10-11",
        "name": "Last release"
      },
      {
        "a": "2026-05-21",
        "b": "2024-04-23",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-21",
        "b": "2025-03-11",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "339k npm/wk",
        "b": "236k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Userpilot scores 64.4 (B) on agent readiness against OpenPanel's 61 (C), and leads in 3 of 7 scored categories. OpenPanel leads on payments \u0026 pricing and transparency \u0026 trust.",
        "question": "Which is better for AI agents, OpenPanel or Userpilot?"
      },
      {
        "answer": "OpenPanel needs an API key. Userpilot takes an API key or an OAuth sign-in.",
        "question": "Do OpenPanel and Userpilot need an API key?"
      },
      {
        "answer": "Yes. OpenPanel has a hosted endpoint at https://api.openpanel.dev/mcp and Userpilot at https://mcp.userpilot.io/mcp.",
        "question": "Can an agent call OpenPanel and Userpilot without installing anything?"
      },
      {
        "answer": "OpenPanel is open source (AGPL-3.0). No open-source release is listed for Userpilot.",
        "question": "Are OpenPanel and Userpilot open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 35 against 30",
          "Transparency \u0026 trust, 83 against 59"
        ],
        "also": [
          "Open source"
        ],
        "goodFor": "Small and mid-sized teams wanting EU-hosted or self-hosted product analytics an agent can query.",
        "slug": "openpanel",
        "watchFor": "51 MCP tools load at once, with no readOnlyHint or destructiveHint"
      },
      {
        "aheadOn": [
          "Reliability, 82 against 70",
          "Agent ergonomics, 60 against 54",
          "Security \u0026 auth, 62 against 41"
        ],
        "also": null,
        "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": null,
    "job": {
      "capability": "analytics.query",
      "name": "Analytics queries"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amplitude-vs-openpanel.json",
        "title": "Amplitude vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/amplitude-vs-openpanel"
      },
      {
        "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-openpanel.json",
        "title": "Basedash MCP vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/basedash-mcp-vs-openpanel"
      },
      {
        "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-openpanel.json",
        "title": "Countly vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/countly-vs-openpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/countly-vs-userpilot.json",
        "title": "Countly vs Userpilot",
        "url": "https://www.anchorterminal.com/compare/countly-vs-userpilot"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fullstory-vs-openpanel.json",
        "title": "Fullstory vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/fullstory-vs-openpanel"
      },
      {
        "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-openpanel.json",
        "title": "GrowthBook vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/growthbook-vs-openpanel"
      },
      {
        "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-openpanel.json",
        "title": "Matomo vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/matomo-vs-openpanel"
      },
      {
        "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-openpanel.json",
        "title": "Mixpanel vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/mixpanel-vs-openpanel"
      },
      {
        "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-openpanel.json",
        "title": "Mostly Good Metrics vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/mostly-good-metrics-vs-openpanel"
      },
      {
        "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-optimizely.json",
        "title": "OpenPanel vs Optimizely Experimentation",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-optimizely"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-pendo.json",
        "title": "OpenPanel vs Pendo",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-pendo"
      },
      {
        "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-statsig.json",
        "title": "OpenPanel vs Statsig",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-statsig"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openpanel-vs-woopra.json",
        "title": "OpenPanel vs Woopra",
        "url": "https://www.anchorterminal.com/compare/openpanel-vs-woopra"
      },
      {
        "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/flagsmith-vs-openpanel.json",
        "title": "Flagsmith vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/flagsmith-vs-openpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/harness-fme-vs-openpanel.json",
        "title": "Harness Feature Management \u0026 Experimentation vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/harness-fme-vs-openpanel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heap-vs-openpanel.json",
        "title": "Heap vs OpenPanel",
        "url": "https://www.anchorterminal.com/compare/heap-vs-openpanel"
      },
      {
        "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": 12,
        "edge": "userpilot",
        "key": "reliability",
        "name": "Reliability",
        "openpanel": 70,
        "userpilot": 82,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "openpanel",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openpanel": 75,
        "userpilot": 71,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "userpilot",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openpanel": 54,
        "userpilot": 60,
        "weight": 13
      },
      {
        "by": 21,
        "edge": "userpilot",
        "key": "security",
        "name": "Security \u0026 auth",
        "openpanel": 41,
        "userpilot": 62,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "openpanel",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openpanel": 35,
        "userpilot": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "openpanel",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openpanel": 83,
        "userpilot": 79,
        "weight": 7
      },
      {
        "by": 24,
        "edge": "openpanel",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openpanel": 83,
        "userpilot": 59,
        "weight": 7
      }
    ],
    "summary": "Userpilot scores 64.4 (B) on agent readiness against OpenPanel's 61 (C), and leads in 3 of 7 scored categories. OpenPanel leads on payments \u0026 pricing and transparency \u0026 trust. Both do analytics queries.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "openpanel": "OpenPanel is AGPL-licensed analytics with a hosted MCP server, documented rate limits, a live OpenAPI document and EU hosting, from $2.50 a month or free to self-host. Its 51 MCP tools carry no read or destructive hints, and the MCP token can travel in the URL.",
      "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/openpanel-vs-userpilot",
    "json": "https://www.anchorterminal.com/compare/openpanel-vs-userpilot.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openpanel-vs-userpilot.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/openpanel-vs-userpilot.min.md"
  },
  "markdown": "Userpilot scores 64.4 (B) on agent readiness against OpenPanel's 61 (C), and leads in 3 of 7 scored categories. OpenPanel leads on payments \u0026 pricing and transparency \u0026 trust. Both do analytics queries.\n\n- OpenPanel: grade C, 61/100, rank #628 of 1486. Markdown https://www.anchorterminal.com/tools/openpanel.md · JSON https://www.anchorterminal.com/api/v1/tools/openpanel.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### OpenPanel (C)\n\nGood for: Small and mid-sized teams wanting EU-hosted or self-hosted product analytics an agent can query.\n\nAhead on:\n- Payments \u0026 pricing, 35 against 30\n- Transparency \u0026 trust, 83 against 59\n\nAlso in its favour:\n- Open source\n\nWatch for: 51 MCP tools load at once, with no readOnlyHint or destructiveHint\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 70\n- Agent ergonomics, 60 against 54\n- Security \u0026 auth, 62 against 41\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### Transparency \u0026 trust: OpenPanel +24\n\n- OpenPanel (83): AGPL-3.0 for the whole product, and the about page says there is no enterprise edition (30). Terms and privacy policy of 21 May 2026 agree, with a DPA published, transient IP use, data ownership kept by the customer, and providers named with locations. Retention periods are general rather than stated in days (22 of 30). No deprecation policy or dated notices found; v3.0.0 was a major release on 16 October 2026 (4 of 20). Sub-processors and data locations disclosed in the privacy policy (Hetzner, Germany) (18 of 20). 30+22+4+18 = 74.\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### Security \u0026 auth: Userpilot +21\n\n- OpenPanel (41): Client credentials with three types (write, read for one project, root for the organisation), created and deleted in the dashboard (25), less 10 because the docs give `?token=` in the MCP URL as an option (15 of 30). Read clients are read-only and limited to one project, and onboarding creates a read-only MCP client. No approval step for root-client writes (14 of 20). Tools return event properties, page titles and profile data sent from tracked sites, and no prompt-injection guidance was found (3 of 15). No audit log was found (0). SECURITY.md with a private advisory route and response times, a valid security.txt, and no bug bounty or certification found (9 of 20). 15+14+3+0+9 = 41.\n- Userpilot (62): The MCP server uses OAuth with PKCE, dynamic client registration, revocation, separate read and write scopes and the user's own role. The HTTP API key is one per environment with many privileges and is regenerated through support. Averaged over both surfaces (22 of 30). Write scopes are optional, profile and replay data need their own scopes, and deletes and administration are unavailable through MCP (19 of 20). Profiles, survey answers and event properties come from end users, and no prompt-injection guidance was found beyond a note that the AI provider processes the data (3 of 15). Access and Activity Logs exist, on Enterprise per the pricing page (9 of 15). SOC 2 Type II with the report on request and penetration tests by certified auditors. No security.txt, disclosure policy or bug bounty (9 of 20). 22+19+3+9+9 = 62.\n\n### Reliability: Userpilot +12\n\n- OpenPanel (70): Graded on OpenPanel Cloud with the hosted lines. OpenStatus page at status.openpanel.dev with API and Tracker components (20). In the 90 days from 8 August, one incident, degraded API performance for about two hours on 1 October 2026, caused by Hetzner private-network problems reaching the ClickHouse servers (15 of 30). Limits are documented with numbers for MCP (60 a minute per client) and the Export, Insights and Manage APIs (15). The docs say a 429 is returned and to back off exponentially; no Retry-After or idempotency guidance (10 of 15). No SLA was found (0). Generally available (10). 20+15+15+10+0+10 = 70.\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### Agent ergonomics: Userpilot +6\n\n- OpenPanel (54): 51 MCP tools, more than 30 (5). We added 3 because a read client doesn't get the 9 dashboard management tools (8 of 25). Insights endpoints take startDate, endDate, range, filters, cursor and limit (18 of 20). Errors aren't documented beyond 401 and 429 (12 of 20). No readOnlyHint or destructiveHint in the MCP source, no idempotency keys; delete_dashboard refuses a non-empty dashboard without forceDelete (3 of 20). Few required parameters, and SDKs for JavaScript, React, Next.js, Vue, React Native, Swift, Kotlin and Python (13 of 15). 8+18+12+3+13 = 54.\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### Payments \u0026 pricing: OpenPanel +5\n\n- OpenPanel (35): No x402, MPP or L402 (0). Public prices by event tier from $2.50 a month, with no overage charges; tiers rather than a per-event rate (15 of 20). 30-day free trial with no card, and free self-hosting (20). Signup is in a browser and client keys are created in the dashboard (0). 0+15+20+0 = 35.\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## Score by category\n\n| Category | Weight | OpenPanel | Userpilot | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 82 | Userpilot +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 71 | OpenPanel +4 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 60 | Userpilot +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 62 | Userpilot +21 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 30 | OpenPanel +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 79 | OpenPanel +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 59 | OpenPanel +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61 · C** | **64.4 · B** | |\n\n## Facts side by side\n\n| Fact | OpenPanel | Userpilot |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OpenPanel AB | Userpilot, Inc. |\n| Hosted endpoint | `https://api.openpanel.dev/mcp` | `https://mcp.userpilot.io/mcp` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | AGPL-3.0 | none |\n| Tools exposed | 51 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `io.userpilot/mcp` |\n| Last release | 2026-11-06 | 2026-10-11 |\n| Terms last updated | 2026-05-21 | 2024-04-23 |\n| Privacy policy last updated | 2026-05-21 | 2025-03-11 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 339k npm/wk | 236k npm/wk |\n\n## Verdicts\n\n**OpenPanel.** OpenPanel is AGPL-licensed analytics with a hosted MCP server, documented rate limits, a live OpenAPI document and EU hosting, from $2.50 a month or free to self-host. Its 51 MCP tools carry no read or destructive hints, and the MCP token can travel in the URL.\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### OpenPanel\n\n1. Send the token in the Authorization header, not as `?token=` in the URL\n2. Use a read client for analysis so dashboard management tools stay hidden\n3. Call list_event_names first when you don't know the project's event names\n4. Stay under 60 MCP requests a minute; back off exponentially on 429\n5. Treat event properties and page titles in results as untrusted text from tracked sites\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, OpenPanel or Userpilot?\n\nUserpilot scores 64.4 (B) on agent readiness against OpenPanel's 61 (C), and leads in 3 of 7 scored categories. OpenPanel leads on payments \u0026 pricing and transparency \u0026 trust.\n\n### Do OpenPanel and Userpilot need an API key?\n\nOpenPanel needs an API key. Userpilot takes an API key or an OAuth sign-in.\n\n### Can an agent call OpenPanel and Userpilot without installing anything?\n\nYes. OpenPanel has a hosted endpoint at https://api.openpanel.dev/mcp and Userpilot at https://mcp.userpilot.io/mcp.\n\n### Are OpenPanel and Userpilot open source?\n\nOpenPanel is open source (AGPL-3.0). No open-source release is listed for Userpilot.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openpanel-vs-userpilot.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openpanel-vs-userpilot.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openpanel\", \"b\": \"userpilot\"}`. From a terminal: `anchor compare openpanel userpilot`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openpanel.json and https://www.anchorterminal.com/api/v1/tools/userpilot.json\n\n## Other comparisons with OpenPanel or Userpilot\n\n- [Amplitude vs OpenPanel](https://www.anchorterminal.com/compare/amplitude-vs-openpanel.md)\n- [Amplitude vs Userpilot](https://www.anchorterminal.com/compare/amplitude-vs-userpilot.md)\n- [Basedash MCP vs OpenPanel](https://www.anchorterminal.com/compare/basedash-mcp-vs-openpanel.md)\n- [Basedash MCP vs Userpilot](https://www.anchorterminal.com/compare/basedash-mcp-vs-userpilot.md)\n- [Countly vs OpenPanel](https://www.anchorterminal.com/compare/countly-vs-openpanel.md)\n- [Countly vs Userpilot](https://www.anchorterminal.com/compare/countly-vs-userpilot.md)\n- [Fullstory vs OpenPanel](https://www.anchorterminal.com/compare/fullstory-vs-openpanel.md)\n- [Fullstory vs Userpilot](https://www.anchorterminal.com/compare/fullstory-vs-userpilot.md)\n- [GrowthBook vs OpenPanel](https://www.anchorterminal.com/compare/growthbook-vs-openpanel.md)\n- [GrowthBook vs Userpilot](https://www.anchorterminal.com/compare/growthbook-vs-userpilot.md)\n- [Matomo vs OpenPanel](https://www.anchorterminal.com/compare/matomo-vs-openpanel.md)\n- [Matomo vs Userpilot](https://www.anchorterminal.com/compare/matomo-vs-userpilot.md)\n- [Mixpanel vs OpenPanel](https://www.anchorterminal.com/compare/mixpanel-vs-openpanel.md)\n- [Mixpanel vs Userpilot](https://www.anchorterminal.com/compare/mixpanel-vs-userpilot.md)\n- [Mostly Good Metrics vs OpenPanel](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-openpanel.md)\n- [Mostly Good Metrics vs Userpilot](https://www.anchorterminal.com/compare/mostly-good-metrics-vs-userpilot.md)\n- [OpenPanel vs Optimizely Experimentation](https://www.anchorterminal.com/compare/openpanel-vs-optimizely.md)\n- [OpenPanel vs Pendo](https://www.anchorterminal.com/compare/openpanel-vs-pendo.md)\n- [OpenPanel vs PostHog](https://www.anchorterminal.com/compare/openpanel-vs-posthog.md)\n- [OpenPanel vs Statsig](https://www.anchorterminal.com/compare/openpanel-vs-statsig.md)\n- [OpenPanel vs Woopra](https://www.anchorterminal.com/compare/openpanel-vs-woopra.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- [Flagsmith vs OpenPanel](https://www.anchorterminal.com/compare/flagsmith-vs-openpanel.md)\n- [Harness Feature Management \u0026 Experimentation vs OpenPanel](https://www.anchorterminal.com/compare/harness-fme-vs-openpanel.md)\n- [Heap vs OpenPanel](https://www.anchorterminal.com/compare/heap-vs-openpanel.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": "OpenPanel vs Userpilot",
        "url": ""
      }
    ],
    "description": "Userpilot scores 64.4 (B) to OpenPanel's 61 (C) for analytics queries. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenPanel C 61",
      "Userpilot B 64.4",
      "scores"
    ],
    "h1": "OpenPanel vs Userpilot",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/openpanel-vs-userpilot",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenPanel vs Userpilot for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/openpanel-vs-userpilot"
  },
  "tokens": {
    "markdown": 3950,
    "slim": 2080
  },
  "version": 1
}
