Open beta — completely free, no card required.

Docs / MCP protocol

MCP Documentation

Last updated: May 15, 2026

ConvRadar is a hosted Model Context Protocol server. It connects to your Google Analytics 4 property over OAuth (read-only) and exposes 35 conversion-diagnostic tools to any MCP-compatible client: Claude, ChatGPT, Cursor, Cline.

This page is the reference for the connector: the endpoint, the OAuth flow, the scopes, and every tool the server exposes. If you just want to try it, the demo at /chat gives you 3 free messages with no signup.

Endpoint

TransportStreamable HTTP
URLhttps://mcp.convradar.com/mcp
AuthOAuth 2.1, Bearer token in Authorization header
DiscoveryGET /.well-known/oauth-protected-resource (RFC 9728)

Auth and scopes

ConvRadar uses OAuth 2.1 with PKCE. There are no per-user URLs and no manual API key — the client walks the discovery handshake on the protected resource and is redirected to the authorization server on first call.

The two scopes the server requests:

  • read:metrics — read GA4 metrics, dimensions, funnel data and traffic breakdowns. Required for every diagnostic tool.
  • write:hypotheses — store and retrieve hypotheses tied to the account so future conversations resume where the last one ended.

The downstream OAuth to Google asks only for read-only GA4 access. ConvRadar cannot modify your analytics data.

Connect a client

Stdio-only clients (Claude Desktop, Cursor, Cline, Continue) connect through mcp-remote, which handles the OAuth handshake the first time you call a tool. Add this block to the client's MCP config:

{
  "mcpServers": {
    "convradar": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.convradar.com/mcp"]
    }
  }
}

Web clients use a native connector menu:

  • Claude.ai — Settings → Connectors → Add custom connector. URL: https://mcp.convradar.com/mcp. OAuth is handled automatically.
  • ChatGPT (Plus / Pro) — Settings → Connectors → Add custom MCP connector with the same URL.
  • Glama, Smithery — add the connector through the registry UI; both walk the OAuth flow for you.

On first tool call a browser window opens to authorize the Google account that owns your GA4 property. The token is stored by the client and refreshed automatically.

Tools

The MCP client picks the right tool for each question; you do not usually call them by name. All tools are namespaced cr_* so they will not collide with other connectors.

Grouped by the instrument that owns each one. Follow a group heading for what that instrument does, what fires in what order, and a real answer from a live session.

Start here

🔍 Full conversion audit
cr_full_auditThe whole diagnostic in one call: KPIs against the prior period, the biggest funnel leak, anomalies, and ranked findings.
cr_get_current_stateWhat is already in flight for this account: the last 30-day overview and the active hypotheses.
💬 Ask your data
cr_get_account_infoThe connected property's name, currency, timezone, available data window and site URL.
cr_describe_dataWhat data actually exists for the property: the fact tables and the fields you can query on each.
cr_get_overview_metricsHeadline KPIs for a window: sessions, conversion rate, revenue, average order value.
cr_query_metricsFlexible aggregation over any fact table. Pick metrics and dimensions; the tool finds the table that carries them.

Find the leak

🕳️ Funnel leak diagnosis
cr_get_funnelThe step-by-step funnel with the conversion rate at each step, the biggest leak, and the next N leaks.
cr_diagnose_funnel_dropGiven a current and a prior period, which segments contributed most to the drop or the rise.
cr_get_landing_pagesTop landing pages with sessions, engagement rate, bounce rate and average session duration.
📉 Anomaly detection
cr_find_conversion_anomaliesStatistically significant spikes and drops in your daily metrics over the last N days.
cr_detect_traffic_quality_changeStep changes in traffic mix and per-source sessions, so a metric move can be traced to who arrived.
cr_assess_traffic_qualityScores how much of the traffic looks like noise: referral spam, internal and test traffic.
⚖️ Segment comparison
cr_compare_segmentsTwo segments side by side on the same metrics, with computed deltas.
cr_get_device_breakdownMobile, desktop and tablet: session share and conversion rate per device.
cr_get_geo_breakdownTop countries by sessions or revenue, with conversion rate per country.
🧭 Traffic mix
cr_get_traffic_breakdownTop sources broken down by source and medium, with sessions, users and conversion rate.
📦 Product analysis
cr_get_product_analysisEvery SKU pre-classified as underperforming, watchlist, healthy or no-purchase.
cr_get_product_performanceTop products by revenue, views or purchases, with cart-to-view and purchase-to-view rates per item.
🌍 Paid geographies

Web only — this instrument exposes no MCP tool.

Check a page

Page check
cr_check_page_speedCore Web Vitals through Google PageSpeed Insights, joined to the property's own numbers for that page.
cr_heuristic_checkSpeed plus a read of a mobile screenshot against the conversion heuristics. Asynchronous: it returns a request id.
cr_get_heuristic_checkFetches the result of a heuristic check by request id. Returns pending until the background run finishes.
📸 Visual proof
cr_capture_screenshotsReal desktop and mobile screenshots through an anti-bot browser, so the model looks at the page instead of guessing from HTML.
cr_get_screenshotsPolls a capture request and returns the images once the browser has finished.
cr_list_capture_setsThe capture sets a page can be verified against, each with the observables it expects to find.
cr_capture_via_web_fetchFetches a URL server-side and returns the HTML body so the model can pull observables out of it.
cr_record_verificationSubmits what the model observed on the page and stores it against the hypothesis being tested.
🗣️ Voice of Customer

Web only — this instrument exposes no MCP tool.

Compare and decide

🕹️ Benchmarks
cr_compare_to_benchmarkYour headline metrics against the band for your vertical, auto-detected when you do not name one.
🧪 Hypothesis library
cr_list_hypothesesBrowse the hypothesis catalogue, filtered by CRO category or by industry vertical.
cr_get_hypothesisThe full content of one hypothesis by id: description, applicable verticals, and the research behind it.
cr_mark_hypothesis_statusMarks a hypothesis surfaced, testing, confirmed, rejected, dismissed or archived for this account.
cr_save_ai_suggestedStores a model-generated hypothesis when nothing in the library matches the finding.

Ship and verify

📓 Change diary
cr_log_changeRecords something you shipped into the change diary, with its date and what it touched.
cr_list_changesThe diary itself: what was shipped and when, with impact verdicts where they have been measured.
cr_update_changeEdits or dismisses a diary entry. A dismissed row is retained and still retrievable, never deleted.
cr_verify_change_impactReads the pre and post windows for a diary entry and runs a z-test on the difference.

First prompts to try

  • Run a full audit of my account.
  • Where's my biggest funnel drop?
  • Did mobile conversion drop last week?
  • Compare desktop and mobile checkout conversion for the last 30 days.
  • What should I A/B test next?

Open beta

Free during open beta. Email signup only — no card required, no checkout. No usage caps. See the pricing page for details.

Related