Remote MCP server · read-only · EU hosted

Your Google marketing data, one MCP URL away.

Connect Search Console, Google Ads and AdSense once. Ask Claude, Cursor or ChatGPT about rankings, spend and earnings across every client account. No local server, no cloud project, no token juggling.

Free plan includes Search Console. No credit card.

claude_desktop_config.json
{
  "mcpServers": {
    "metricport": {
      "url": "https://metricport.io/api/mcp"
    }
  }
}

1. Sign in with Google

Choose which of Search Console, Ads and AdSense to share. Add more Google accounts any time.

2. Copy your endpoint

One URL for every property. Authenticate with OAuth in claude.ai and Claude Desktop, or an API key anywhere else.

3. Ask questions

“Which queries lost clicks last week?” “What did we spend per campaign?” “Where am I paying for clicks I already rank for?”

57 tools, four sources

Every tool is read-only and returns compact JSON an LLM can reason about. Analyses like quick wins, cannibalization, content decay, wasted spend and budget pacing are computed server-side, so one call answers the question.

Google Search Console

  • gsc_search_analyticsClicks, impressions, CTR and position by query, page, country, device, date or search appearance. Filters, search type and period comparison.
  • gsc_top_queriesTop queries by clicks, optionally for one page.
  • gsc_top_pagesTop pages by clicks, optionally for one query term.
  • gsc_page_queriesEvery query one URL ranks for, with position.
  • gsc_quick_winsStriking-distance queries (positions 5-20) ranked by potential extra clicks, with the ranking page.
  • gsc_ctr_opportunitiesPage-one queries whose CTR is far below the expected curve: title and snippet problems with missed clicks.
  • gsc_content_decayPages that lost the most clicks vs. the previous period or last year, plus the winners.
  • gsc_new_and_lost_queriesQueries that appeared or disappeared between two periods.
  • gsc_cannibalizationQueries where several of your pages compete, with leader share and competitors.
  • gsc_brand_splitBrand vs. non-brand totals, click share, trend and top non-brand queries via regex.
  • gsc_query_clustersGroups queries into topic clusters with totals and examples.
  • gsc_question_queriesQuestion-shaped queries (how, what, why, wie, was…) for FAQs and snippets.
  • gsc_zero_click_pagesPages with impressions but no clicks.
  • gsc_daily_trendDaily clicks and impressions with 7-day average and flagged drops or spikes.
  • gsc_device_country_breakdownPerformance per device and country with the mobile vs. desktop CTR gap.
  • gsc_search_appearanceSearch appearance types plus Discover and Google News traffic.
  • gsc_inspect_urlIndex status, crawl date, canonical and rich result status for one URL.
  • gsc_index_checkBatch inspection of up to 10 URLs with canonical mismatch and blocker flags.
  • gsc_sitemapsSubmitted sitemaps with errors, warnings and URL counts.
  • gsc_weekly_reportOne-call weekly summary: totals, winners, losers, new queries, quick wins, anomalies.

Google Ads

  • ads_list_accountsCustomer accounts including MCC managers and child accounts.
  • ads_queryRun any GAQL SELECT.
  • ads_campaign_performanceCampaigns with cost, clicks, CTR, conversions, CPA, ROAS and impression share.
  • ads_search_termsSearch terms that triggered ads, with match type, cost and conversions.
  • ads_wasted_spendNon-converting search terms aggregated across campaigns with negative keyword suggestions.
  • ads_keyword_performanceKeywords with quality score, cost, conversions, CPA and impression share.
  • ads_quality_score_auditWeighted quality score, distribution and low-QS keywords with their weakest component.
  • ads_impression_shareImpression share per search campaign with share lost to budget and to rank.
  • ads_budget_pacingMonth-to-date spend vs. expected with month-end projection per campaign.
  • ads_ad_performanceResponsive search ads with ad strength, headlines, CTR, cost and conversions.
  • ads_geo_performanceCost, conversions and CPA by country, region or city.
  • ads_device_performanceCost, CTR, conversion rate and CPA per device.
  • ads_daypartingPerformance by hour of day and weekday for ad schedules.
  • ads_landing_pagesLanding pages with cost, conversions, CPA, mobile-friendly rate and speed score.
  • ads_recommendationsGoogle's open optimization recommendations with impact estimates.
  • ads_change_historyWho changed what in the last N days.
  • ads_conversion_actionsConversion actions with status, counting, attribution and conversions produced.
  • ads_pmax_asset_groupsPerformance Max asset groups with ad strength, cost and ROAS.
  • ads_daily_trendDaily cost, clicks, conversions, CPA with flagged spend or conversion anomalies.
  • ads_metadataSelectable fields of a resource, to build GAQL queries.
  • ads_account_auditOne-call audit: totals vs. previous period, wasted spend, impression share, quality score, pacing, recommendations, prioritized findings.

Google AdSense

  • adsense_earningsEarnings totals and daily breakdown, optional previous period with change.
  • adsense_reportCustom report by any dimension and metric with filters.
  • adsense_top_pagesPages by earnings with RPM, plus high-traffic pages with weak RPM.
  • adsense_by_countryEarnings, page views, RPM and CPC per country.
  • adsense_ad_unit_performanceAd units with earnings, RPM, CTR, viewability and coverage.
  • adsense_platform_splitDesktop vs. mobile vs. tablet earnings and RPM.
  • adsense_daily_trendDaily earnings and page views with flagged anomalies.
  • adsense_sitesSites with approval state.
  • adsense_alertsPolicy and account alerts.
  • adsense_paymentsUnpaid balance and payment history.
  • adsense_ad_unitsAd units per ad client.
  • adsense_monthly_reportOne-call monthly review: month over month, best day, top pages, countries, platforms, alerts, anomalies.

Cross-source

  • paid_vs_organicPaid search terms vs. organic queries: cannibalized spend, content gaps and pages to push.
  • content_monetizationOrganic clicks per page joined with AdSense earnings per page: earnings per click, weak monetizers, pages to push.
  • landing_page_overviewAds landing page cost and conversions joined with organic clicks for the same URLs.

Local MCP servers vs. MetricPort

Open-source stdio serversMetricPort
SetupCreate a Google Cloud project, enable 3 APIs, create OAuth client, run a Python or Node process locallySign in with Google
Works in claude.ai and mobileNoYes, via OAuth connector
Multiple Google accountsOne per processAll in one endpoint
Cross-source analysisSeparate servers, no joinspaid_vs_organic, content_monetization built in
SEO and Ads analysesRaw rows onlyQuick wins, cannibalization, decay, wasted spend, pacing, audits
Token storagePlain JSON on diskAES-256-GCM encrypted, EU database
Keeps working after a rebootDependsAlways

Read-only by design

No tool can create, pause or edit anything. Read-only Google scopes wherever Google offers them.

Built for agencies

Each client’s Google account becomes a connection. Properties are addressed by id, so one prompt can span clients.

Standard MCP

Streamable HTTP, OAuth 2.1 with dynamic client registration, Bearer API keys. No proprietary SDK.

Pricing

Start free. Upgrade when you connect more accounts.

MonthlyYearly (2 months free)

Free

Try Search Console through MCP.

€0 /month

  • 1 Google account
  • 200 tool calls / month
  • Search Console tools
  • API key auth

Pro

Popular

For site owners and freelancers.

€19 /month

excl. VAT

  • 3 Google accounts
  • 5,000 tool calls / month
  • Search Console, Ads, AdSense
  • OAuth for claude.ai and Claude Desktop
  • Email support

Agency

For teams managing many clients.

€79 /month

excl. VAT

  • Unlimited Google accounts
  • 50,000 tool calls / month
  • All services
  • Cross-source analyses
  • Priority support

Questions

Do I need a Google Cloud project or developer token?
No. MetricPort runs its own Google OAuth app. You sign in with Google, pick which services to share, and you are done.
Can MetricPort change my campaigns or sites?
No. Every tool is read-only. We request read-only scopes for Search Console and AdSense; Google Ads has a single scope, but the server never issues mutations.
What do you store?
Only the encrypted refresh token for each connected Google account, the list of properties, and a log of tool calls (tool name, property id, duration). Report data is never stored.
Which clients work?
Anything that speaks remote MCP over Streamable HTTP: Claude Desktop, claude.ai, Claude Code, Cursor, ChatGPT, Windsurf, and your own agents. OAuth or API key, your choice.
Multiple clients or Google accounts?
Yes. Connect as many Google accounts as your plan allows. One workspace, one endpoint, every property reachable by id.
Is this an official Google product?
No. MetricPort is an independent service by Simon Grimm, Austria. Google, Google Ads, AdSense and Search Console are trademarks of Google LLC.

Ready in two minutes.

Create your endpoint