Dokumentation
MetricPort ist ein Remote-MCP-Server. Dein Endpunkt ist für jeden Client derselbe:
https://metricport.io/api/mcp- Registrieren und unter Connections ein Google-Konto verbinden.
- Client unten auswählen. OAuth-Clients brauchen nur die URL, alle anderen einen API-Key aus API keys.
- Den Assistenten list_properties aufrufen lassen. Das liefert die IDs, die alle anderen Tools erwarten.
claude.ai
Einstellungen → Connectors → Custom connector hinzufügen. Endpunkt-URL einfügen, Client-ID und Secret leer lassen, Connect klicken und mit dem MetricPort-Login bestätigen. Funktioniert im Web, auf dem Desktop und mobil.
https://metricport.io/api/mcpClaude Desktop
Am einfachsten über den Connector-Weg oben (Einstellungen → Connectors) per OAuth. Alternativ per Config-Datei mit API-Key über mcp-remote:
{
"mcpServers": {
"metricport": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://metricport.io/api/mcp", "--header", "Authorization: Bearer mp_your_api_key"]
}
}
}Claude Code
claude mcp add --transport http metricport https://metricport.io/api/mcp --header "Authorization: Bearer mp_your_api_key"claude mcp add --transport http metricport https://metricport.io/api/mcpCursor, Windsurf und andere
In .cursor/mcp.json oder die entsprechende Config eintragen:
{
"mcpServers": {
"metricport": {
"url": "https://metricport.io/api/mcp",
"headers": { "Authorization": "Bearer mp_your_api_key" }
}
}
}ChatGPT
Einstellungen → Connectors → Erstellen (Developer Mode). Endpunkt-URL eintragen, OAuth wählen. ChatGPT registriert sich selbst und schickt dich durch den MetricPort-Login.
Authentifizierung
- OAuth 2.1: Der Endpunkt veröffentlicht /.well-known/oauth-protected-resource. Clients finden den Authorization Server, registrieren sich dynamisch und leiten dich zum MetricPort-Login. Tokens sind auf deinen Workspace beschränkt.
- API-Key: Authorization: Bearer mp_… mitsenden. Keys laufen nicht ab, bis du sie widerrufst. Ein Key pro Client, dann kannst du einzeln widerrufen.
curl -X POST https://metricport.io/api/mcp \
-H "Authorization: Bearer mp_your_api_key" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_properties","arguments":{}}}'Tool-Referenz
Alle Tools sind nur lesend. Datumsangaben als YYYY-MM-DD. Search-Console-Daten hinken zwei bis drei Tage hinterher, Standardzeiträume enden daher drei Tage vor heute. Antworten werden fünf Minuten gecacht.
Core
| Tool | Argumente | Beispiel-Prompt |
|---|---|---|
list_propertiesEvery connected Google account with its Search Console sites, Ads accounts and AdSense accounts. | none | Which properties do I have connected? |
Google Search Console
| Tool | Argumente | Beispiel-Prompt |
|---|---|---|
gsc_search_analyticsClicks, impressions, CTR and position by query, page, country, device, date or search appearance. Filters, search type and period comparison. | property, startDate, endDate, dimensions, filters, rowLimit, type, compare | Compare clicks by country in September vs. August. |
gsc_top_queriesTop queries by clicks, optionally for one page. | property, days, limit, page | Top 20 queries for /pricing in the last 90 days. |
gsc_top_pagesTop pages by clicks, optionally for one query term. | property, days, limit, query | Which pages rank for 'mcp server'? |
gsc_page_queriesEvery query one URL ranks for, with position. | property, url, days, limit | What does /blog/gsc-guide rank for? |
gsc_quick_winsStriking-distance queries (positions 5-20) ranked by potential extra clicks, with the ranking page. | property, days, minPosition, maxPosition, minImpressions, limit | Which keywords are closest to page one? |
gsc_ctr_opportunitiesPage-one queries whose CTR is far below the expected curve: title and snippet problems with missed clicks. | property, days, minImpressions, maxPosition, limit | Where am I losing clicks to bad titles? |
gsc_content_decayPages that lost the most clicks vs. the previous period or last year, plus the winners. | property, days, compareTo, minPreviousClicks, limit | Which articles are decaying and need a refresh? |
gsc_new_and_lost_queriesQueries that appeared or disappeared between two periods. | property, days, minImpressions, limit | What new keywords did we pick up this month? |
gsc_cannibalizationQueries where several of your pages compete, with leader share and competitors. | property, days, minImpressions, limit | Do I have keyword cannibalization? |
gsc_brand_splitBrand vs. non-brand totals, click share, trend and top non-brand queries via regex. | property, brandPattern, days, compare | How is non-brand traffic developing? |
gsc_query_clustersGroups queries into topic clusters with totals and examples. | property, days, minQueries, limit | Which topics drive my organic traffic? |
gsc_question_queriesQuestion-shaped queries (how, what, why, wie, was…) for FAQs and snippets. | property, days, limit | Which questions do people search that lead to my site? |
gsc_zero_click_pagesPages with impressions but no clicks. | property, days, minImpressions, limit | Which pages show up but never get clicked? |
gsc_daily_trendDaily clicks and impressions with 7-day average and flagged drops or spikes. | property, days, thresholdPct, query, page | Did traffic drop after the last core update? |
gsc_device_country_breakdownPerformance per device and country with the mobile vs. desktop CTR gap. | property, days, countries | Which countries underperform on CTR? |
gsc_search_appearanceSearch appearance types plus Discover and Google News traffic. | property, days | How much traffic comes from Discover? |
gsc_inspect_urlIndex status, crawl date, canonical and rich result status for one URL. | property, url | Is /blog/new-post indexed? |
gsc_index_checkBatch inspection of up to 10 URLs with canonical mismatch and blocker flags. | property, urls | Check if these 8 URLs are indexed. |
gsc_sitemapsSubmitted sitemaps with errors, warnings and URL counts. | property | Do any sitemaps have errors? |
gsc_weekly_reportOne-call weekly summary: totals, winners, losers, new queries, quick wins, anomalies. | property, endDate, brandPattern | Give me this week's SEO report. |
Google Ads
| Tool | Argumente | Beispiel-Prompt |
|---|---|---|
ads_list_accountsCustomer accounts including MCC managers and child accounts. | none | List my Google Ads accounts. |
ads_queryRun any GAQL SELECT. | property, query | SELECT ad_group.name, metrics.clicks FROM ad_group WHERE segments.date DURING LAST_7_DAYS |
ads_campaign_performanceCampaigns with cost, clicks, CTR, conversions, CPA, ROAS and impression share. | property, startDate, endDate, status | How did campaigns perform last month? |
ads_search_termsSearch terms that triggered ads, with match type, cost and conversions. | property, startDate, endDate, limit, campaign | Show the most expensive search terms. |
ads_wasted_spendNon-converting search terms aggregated across campaigns with negative keyword suggestions. | property, startDate, endDate, minCost, minClicks, limit, campaign | Where am I wasting budget? |
ads_keyword_performanceKeywords with quality score, cost, conversions, CPA and impression share. | property, startDate, endDate, limit, campaign | Which keywords have the worst CPA? |
ads_quality_score_auditWeighted quality score, distribution and low-QS keywords with their weakest component. | property, startDate, endDate, maxScore, limit | Audit my quality scores. |
ads_impression_shareImpression share per search campaign with share lost to budget and to rank. | property, startDate, endDate | Where would more budget unlock volume? |
ads_budget_pacingMonth-to-date spend vs. expected with month-end projection per campaign. | property, monthlyBudget | Are we on track with this month's budget? |
ads_ad_performanceResponsive search ads with ad strength, headlines, CTR, cost and conversions. | property, startDate, endDate, limit, campaign | Which ads should I rewrite? |
ads_geo_performanceCost, conversions and CPA by country, region or city. | property, startDate, endDate, level, limit | Which regions convert worst? |
ads_device_performanceCost, CTR, conversion rate and CPA per device. | property, startDate, endDate, campaign | Mobile vs. desktop CPA? |
ads_daypartingPerformance by hour of day and weekday for ad schedules. | property, startDate, endDate, campaign | When do conversions happen? |
ads_landing_pagesLanding pages with cost, conversions, CPA, mobile-friendly rate and speed score. | property, startDate, endDate, limit | Which landing pages burn money? |
ads_recommendationsGoogle's open optimization recommendations with impact estimates. | property | What does Google recommend for this account? |
ads_change_historyWho changed what in the last N days. | property, days, limit | What changed last week that could explain the drop? |
ads_conversion_actionsConversion actions with status, counting, attribution and conversions produced. | property, startDate, endDate | Is conversion tracking set up correctly? |
ads_pmax_asset_groupsPerformance Max asset groups with ad strength, cost and ROAS. | property, startDate, endDate | How are my PMax asset groups doing? |
ads_daily_trendDaily cost, clicks, conversions, CPA with flagged spend or conversion anomalies. | property, days, thresholdPct, campaign | Did spend spike last week? |
ads_metadataSelectable fields of a resource, to build GAQL queries. | property, resource | What fields does keyword_view have? |
ads_account_auditOne-call audit: totals vs. previous period, wasted spend, impression share, quality score, pacing, recommendations, prioritized findings. | property, days | Audit this account. |
Google AdSense
| Tool | Argumente | Beispiel-Prompt |
|---|---|---|
adsense_earningsEarnings totals and daily breakdown, optional previous period with change. | property, startDate, endDate, compare | AdSense earnings this month vs. last month. |
adsense_reportCustom report by any dimension and metric with filters. | property, dimensions, metrics, startDate, endDate, limit, orderBy, filters | Earnings per domain in the last 30 days. |
adsense_top_pagesPages by earnings with RPM, plus high-traffic pages with weak RPM. | property, startDate, endDate, limit, domain | Which pages earn the most? Which underperform? |
adsense_by_countryEarnings, page views, RPM and CPC per country. | property, startDate, endDate, limit | Which countries have the best RPM? |
adsense_ad_unit_performanceAd units with earnings, RPM, CTR, viewability and coverage. | property, startDate, endDate, limit | Which ad units should I remove? |
adsense_platform_splitDesktop vs. mobile vs. tablet earnings and RPM. | property, startDate, endDate | Is mobile monetizing worse than desktop? |
adsense_daily_trendDaily earnings and page views with flagged anomalies. | property, days, thresholdPct | Did earnings drop suddenly? |
adsense_sitesSites with approval state. | property | Which sites are approved? |
adsense_alertsPolicy and account alerts. | property | Any policy warnings? |
adsense_paymentsUnpaid balance and payment history. | property | When was my last payout? |
adsense_ad_unitsAd units per ad client. | property | List my ad units. |
adsense_monthly_reportOne-call monthly review: month over month, best day, top pages, countries, platforms, alerts, anomalies. | property, endDate | Give me the AdSense monthly review. |
Cross-source
| Tool | Argumente | Beispiel-Prompt |
|---|---|---|
paid_vs_organicPaid search terms vs. organic queries: cannibalized spend, content gaps and pages to push. | gsc_property, ads_property, days, organicPositionThreshold, limit | Where am I paying for clicks I would get for free? |
content_monetizationOrganic clicks per page joined with AdSense earnings per page: earnings per click, weak monetizers, pages to push. | gsc_property, adsense_property, days, limit | Which organic pages earn the most per click? |
landing_page_overviewAds landing page cost and conversions joined with organic clicks for the same URLs. | gsc_property, ads_property, days, limit | Which paid landing pages already rank organically? |
Prompts
Fertige Workflows als MCP-Prompts. In Claude Desktop über das Prompt-Menü (Plus-Button), in Claude Code mit / und dem Prompt-Namen.
weekly_seo_report | Client-ready weekly Search Console summary. |
seo_quick_wins | Prioritized to-do list from quick wins, CTR gaps and decay. |
cannibalization_check | Consolidate or differentiate competing pages. |
ads_account_audit | Full read-only Google Ads audit. |
negative_keywords | Negative keyword list from wasted spend. |
adsense_monthly_review | Month-over-month AdSense review with actions. |
paid_organic_overlap | Cut cannibalized spend, find content gaps. |
Limits
- 60 Tool-Aufrufe pro Minute und Workspace.
- Monatliches Aufruf-Kontingent und Anzahl Google-Konten hängen vom Plan ab. Bei Überschreitung kommt ein Tool-Fehler mit Upgrade-Link, nie ein stiller Fehler.
- GAQL-Abfragen nur als SELECT, maximal 1.000 Zeilen.
- Googles eigene Quotas gelten (Search Console: 1.200 Abfragen pro Minute und Site).