- Overview
- All 32 tools
All 32 tools
What each tool does, grouped by the job you would reach for it to do, followed by how results are shown, what they carry, where the limits are, and real output from the hosted instance.
The tools, by job
Every tool that reads a property also takes site_url, so one connection covers every property your Google account can see. Ask for list_properties to get the exact strings: sc-domain:example.com and https://example.com/ are different properties with different data.
Find the opportunity
Where the traffic you do not have yet is hiding.
| quick_wins | Keywords at positions 4–15 worth pushing to page one |
| ctr_opportunities | Pages with the impressions but a CTR far below par for their position |
| content_gaps | Demand you already get impressions for but rank beyond 20 |
| content_recommendations | Quick wins, gaps and cannibalisation cross-referenced into actions |
| topic_cluster_performance | How a group of pages performs as one thing |
Find the opportunity: parameters and a real example →
Diagnose the problem
What changed, and whether it was ranking, CTR or demand.
| traffic_drops | The biggest losses, each with a diagnosed cause |
| content_decay | Pages declining across three consecutive 30-day periods |
| cannibalization_check | Queries where your own pages compete with each other |
| check_alerts | Position drops, CTR collapses, and pages gone from results |
| ctr_vs_benchmark | Your CTR per page against the benchmark for that position |
Diagnose the problem: parameters and a real example →
Look it up
The direct questions, answered against live data.
| site_snapshot | Clicks, impressions, CTR and position against the prior period |
| advanced_search_analytics | A custom query with your own dimensions and filters |
| inspect_url | Whether a URL is indexed, and why it is not |
| verify_claim | Check a number against live data before it goes in the deck |
| generate_report | A full markdown performance report |
| multi_site_dashboard | One health check across many properties at once |
| list_properties | Every property this account can reach, with permission level |
| list_sitemaps | Submitted sitemaps with status, errors and indexed counts |
Look it up: parameters and a real example →
Image search
Google's type=image surface, which most tools skip entirely.
| image_keyword_overview | Top image-search keywords for the site |
| image_search_quick_wins | Image queries at positions 4–15 with real impressions |
| image_pages_overview | Pages ranked by image-search performance |
| image_keyword_trends | Period-over-period movement for image queries |
| image_impressions_no_clicks | Real image impressions earning effectively zero clicks |
| image_content_decay | The decay check, run against image search |
| compare_web_vs_image | Each query side by side across web and image |
| image_page_audit | Audits images on your own pages for what drives image ranking |
Image search: parameters and a real example →
AI search, and your account
The newer surface, plus the controls over your own data.
| genai_conversation_queries | AI-conversation exhaust hiding in ordinary query data |
| set_default_property | Save a default property so later calls can omit it |
| export_my_data | Everything this server stores about you |
| disconnect_account | Erase all of it and end your sessions |
AI search, and your account: parameters and a real example →
The two indexing tools, submit_url and submit_sitemap, are part of the software but cannot run on this hosted instance: they need write access to your Google account, which this service never requests. They work on a self-hosted install configured with wider scopes. submit_url takes one URL or up to 200.
Interactive views
10 tools come with a view: in a client that supports the MCP Apps extension, the result is drawn as cards and sortable tables beside the conversation. A client without it shows the same result as text. Either way Claude reads the same data, so the analysis does not depend on the view.
Search Console · sc-domain:example.com
Quick wins
Queries at positions 4–15 that could reach page one · last 28 days
| Query | Position | Impressions | CTR | Extra clicks |
|---|---|---|---|---|
| search console mcp server | 4.2 | 5,200 | 1.2% | 410 |
| connect search console to claude | 5.4 | 4,780 | 1.4% | 368 |
| image seo audit tool | 6.6 | 4,360 | 1.6% | 326 |
| content decay checker | 8.4 | 3,730 | 1.9% | 263 |
Search Console · sc-domain:example.com
Alerts
Changes that need attention · last 7 days
| Severity | Query and page | What changed |
|---|---|---|
| critical | search console mcp on /gsc/ | Clicks dropped from 100 to 30 (70% decline) |
| critical | seo audit on /audit/ | Had 25 clicks in the prior period, zero now |
| warning | claude seo on / | CTR dropped from 10% to 4% (60% decline) |
| Tool | What the view shows |
|---|---|
| quick_wins | Keywords at positions 4–15 worth pushing to page one |
| ctr_opportunities | Pages with the impressions but a CTR far below par for their position |
| content_gaps | Demand you already get impressions for but rank beyond 20 |
| traffic_drops | The biggest losses, each with a diagnosed cause |
| content_decay | Pages declining across three consecutive 30-day periods |
| cannibalization_check | Queries where your own pages compete with each other |
| check_alerts | Position drops, CTR collapses, and pages gone from results |
| ctr_vs_benchmark | Your CTR per page against the benchmark for that position |
| site_snapshot | Clicks, impressions, CTR and position against the prior period |
| multi_site_dashboard | One health check across many properties at once |
The view is one small page that runs in the client's sandbox. It loads nothing from the network except one font from this site, follows no links, and treats every query and URL in a result as text, never as markup. Only tools that read have a view.
What every result carries
- Provenance. A
_metablock names the source, the tool, the exact parameters and the property the numbers came from. - A typed copy. The same result is returned as structured content as well as JSON text, and the ten tools with a view declare its shape in advance, so a client can rely on the fields.
- A warning about borrowed text. Search queries and page URLs are written by other people. Each result says so, and tells the model never to follow instructions found inside them.
- Position, labelled honestly. It is the impression-weighted average Search Console reports, not a rank-tracker position.
Limits and errors
| What | Behaviour |
|---|---|
| Date range | days is 1 to 480, the 16 months Search Console keeps. A value outside it is refused before any call to Google. |
| Rows returned | Tools return their top rows (usually 50). advanced_search_analytics takes row_limit up to 500. |
| Requests | 60 a minute per person by default; a batch counts once per message in it. Over the limit the server answers 429 and says when to retry. |
| Google's failures | A read that Google answers with a rate-limit or server error is retried twice. Writes and timeouts are never retried. |
| Error messages | Plain words and a next step: no access to that property (ask for list_properties), quota reached (wait), sign-in revoked (reconnect), or Google's own outage. |
| Erasing your account | disconnect_account takes two calls: the first explains what will be erased, the second confirms it. |
Real answers
One response per tool group, from this hosted instance against the author's own site, k-o.pro, on the date in each caption. They are shown as they came back, indented for reading, with rows trimmed where the caption says so. Results today also carry the borrowed-text warning described above, which was added after these were captured.
Find the opportunity · quick_wins
quick_wins on the hosted instance, 13 October 2026
{
"_meta": {
"source": "Google Search Console API (live data)",
"tool": "quick_wins",
"parameters": {
"days": 90,
"min_impressions": 5,
"max_position": 20,
"site_url": "sc-domain:k-o.pro"
},
"note": "All numbers in this response come directly from the Google Search Console API. They are exact values, not estimates. Base your analysis only on this data. Do not invent or assume additional context."
},
"data": [
{
"query": "canonical check",
"clicks": 0,
"impressions": 22,
"ctr": 0,
"position": 15.6,
"opportunity": 2
}
]
}
One query qualifies on a site this size: "canonical check", 22 impressions at an average position of 15.6. The parameters Claude actually passed are in _meta, so the lowered thresholds are on the record rather than implied.
Diagnose the problem · cannibalization_check
cannibalization_check on the hosted instance, 13 October 2026; first 2 of 7 queries shown
{
"_meta": {
"source": "Google Search Console API (live data)",
"tool": "cannibalization_check",
"parameters": {
"days": 90,
"min_impressions": 10,
"site_url": "sc-domain:k-o.pro"
},
"note": "All numbers in this response come directly from the Google Search Console API. They are exact values, not estimates. Base your analysis only on this data. Do not invent or assume additional context."
},
"data": [
{
"query": "bulk redirect checker",
"totalImpressions": 98,
"pages": [
{
"page": "https://k-o.pro/bulk-redirect-checker/",
"clicks": 0,
"impressions": 21,
"position": 17.5
},
{
"page": "https://k-o.pro/bulk-redirect-checker",
"clicks": 0,
"impressions": 77,
"position": 77.1
}
]
},
{
"query": "url checker bulk",
"totalImpressions": 48,
"pages": [
{
"page": "https://k-o.pro/bulk-redirect-checker/",
"clicks": 0,
"impressions": 11,
"position": 83.9
},
{
"page": "https://k-o.pro/bulk-redirect-checker",
"clicks": 0,
"impressions": 37,
"position": 85.7
}
]
}
]
}
The competing pages are the same tool at two URLs that differ only by a trailing slash. For "bulk redirect checker" the slash version averages position 17.5 while the other averages 77.1 and takes most of the impressions: a canonicalisation fix, not a content one.
Look it up · inspect_url
inspect_url on the hosted instance, 13 October 2026
{
"_meta": {
"source": "Google Search Console API (live data)",
"tool": "inspect_url",
"parameters": {
"url": "https://k-o.pro/",
"site_url": "sc-domain:k-o.pro"
},
"note": "All numbers in this response come directly from the Google Search Console API. They are exact values, not estimates. Base your analysis only on this data. Do not invent or assume additional context."
},
"data": {
"url": "https://k-o.pro/",
"indexed": true,
"indexingState": "Submitted and indexed",
"lastCrawlTime": "2026-10-02T21:35:12Z",
"crawlAllowed": true,
"indexingAllowed": true,
"pageFetchState": "SUCCESSFUL",
"googleCanonical": "https://k-o.pro/",
"userCanonical": "https://k-o.pro/",
"canonicalMatch": true,
"mobileUsability": "VERDICT_UNSPECIFIED",
"issues": [],
"summary": "This URL is indexed and healthy. Last crawled: 2026-10-02T21:35:12Z."
}
}
Indexed, last crawled on 2 October 2026, and Google picked the same canonical the page declares. When a URL is not indexed, the same fields say which state it is in.
Image search · image_page_audit
image_page_audit on the hosted instance, 13 October 2026
{
"_meta": {
"source": "Live fetch of the audited pages (the user's own site)",
"tool": "image_page_audit",
"parameters": {
"urls": [
"https://k-o.pro/"
],
"fetch_metadata": true,
"max_images_per_page": 6,
"max_images_reported": 6
},
"note": "All findings come from fetching and parsing the listed pages and image files at call time. Alt text, attributes, bytes, and dimensions are read values, not estimates. Base your analysis only on this data. An empty alt (alt=\"\") is correct for decorative images; do not report it as a defect."
},
"data": {
"audits": [
{
"url": "https://k-o.pro/",
"status": "ok",
"http_status": 200,
"page_checks": {
"total_img_tags": 17,
"content_images": 0,
"images_fetched": 0,
"lcp_candidate_src": null,
"lcp_candidate_lazy_loaded": null,
"lcp_candidate_fetchpriority": null,
"inline_background_images": 0,
"max_image_preview": "not_set",
"image_object_schema_count": 0,
"has_licensable_fields": false,
"has_primary_image_of_page": false,
"images_with_srcset": 0,
"modern_format_sources": false
},
"images": [],
"images_not_reported": 0,
"issue_counts": {},
"top_fixes": [
"Add ImageObject schema (with about/mainEntity) for the page's key images",
"Add max-image-preview:large to the robots meta for full-size previews"
]
}
],
"overall": {
"pages_audited": 1,
"pages_failed": 0,
"total_issues": 0,
"note": "empty alt (alt=\"\") is correct for decorative images; it is reported but not counted as an issue."
}
}
}
Of the 17 img tags, none counted as a content image, so no image files were fetched. The two page-level fixes it returned are about previews and schema rather than the images themselves.
AI search, and your account · genai_conversation_queries
genai_conversation_queries on the hosted instance, 13 October 2026; empty buckets, the long-tail bucket and the monthly timeline left out
{
"_meta": {
"source": "Google Search Console API (live data)",
"tool": "genai_conversation_queries",
"parameters": {
"days": 480,
"min_impressions": 1,
"max_rows_per_bucket": 10,
"include_timeline": true,
"site_url": "sc-domain:k-o.pro"
},
"note": "All numbers in this response come directly from the Google Search Console API. They are exact values, not estimates. Base your analysis only on this data. Do not invent or assume additional context."
},
"data": {
"period": {
"startDate": "2025-06-20",
"endDate": "2026-10-12"
},
"total_conversation_queries": 4,
"total_conversation_impressions": 20,
"buckets": {
"conversational": {
"total_matched": 2,
"rows": [
{
"query": "how can i implement bulk tracking across chatgpt, perplexity, and gemini for 15+ accounts?",
"impressions": 9,
"clicks": 0,
"ctr": 0,
"position": 89.6,
"top_pages": [
{
"page": "https://k-o.pro/posts/track-traffic-from-ai-chatbots-ga4",
"impressions": 9
}
]
},
{
"query": "is it hard to make a chrome extension",
"impressions": 1,
"clicks": 0,
"ctr": 0,
"position": 51,
"top_pages": [
{
"page": "https://k-o.pro/posts/how-to-build-a-chrome-extension",
"impressions": 1
}
]
}
]
}
}
}
}
Four queries in 16 months, all low volume: two conversational questions, each landing on the post that answers it. No reply artefacts like "yes" or "go on" on this site, which the timeline confirms month by month.
Connect it
Add https://gsc.k-o.pro/mcp to claude.ai or Claude
Desktop or to Claude Code, sign in with Google, and ask.
About this page
Version 3.11.0 · page updated 10 November 2026 · changelog
