A side-by-side look at the Google Search Console and Google Webtools MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Google Search Console for marketing work as a local process; choose Google Webtools MCP for marketing. You can also run both side by side in one mcpServers block.
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, TOKEN_ENCRYPTION_KEY.server.capabilities, sites.list, sites.get.GOOGLE_APPLICATION_CREDENTIALS.list_properties, get_property_details, add_property.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Marketing | Marketing |
| Quality signal | 59/100 · Good | 51/100 · Good |
| Install command | Confirmed | Not confirmed yet |
| Transport | Local subprocess (stdio) | — |
| Auth | Not declared | OAuth 2.0 |
| Pricing | Not declared | Not declared |
| Required env vars | GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETTOKEN_ENCRYPTION_KEY | GOOGLE_APPLICATION_CREDENTIALS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 5 | 7 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 10 | 39 |
| Full listing | View Google Search Console | View Google Webtools MCP |
server.capabilitiesList every tool this server exposes and report local Google credential state. `connected` means a stored refresh credential is present; the response also exposes `auth_status_basis` and `provider_auth_live_verified: false` because this discovery call does not probe Google. A later Google tool call…sites.listList the Search Console properties the connected Google account can access (`siteUrl`, `permissionLevel`).sites.getRetrieve one exact Search Console property and the connected account's permission level for it.analytics.queryImpressions, clicks, CTR, and average position over a date range, with dimensions, filters, safe pagination, and selectable search type. Pass `dimensions: []` for true site totals; Google's aggregate row may omit `keys`. Search Analytics does not guarantee every data row and can return only top row…urls.inspectGoogle's URL Inspection report for the version of one page currently known in Google's index. It is not a live URL test; mobile-usability output is deprecated.urls.inspect_manyInspect Google's indexed versions of up to 10 URLs with bounded concurrency of 3 in one call while preserving input-order results. Each URL still consumes one Google URL Inspection request and one unit of the server's shared inspection safety budget; this does not run live URL tests.reports.weekly_digestGenerate a plain-language seven-day performance report with movers, top pages, and one recommended action. Query movers compare only rows returned in both weekly Search Analytics result sets; a query missing from one bounded response is not treated as zero because Google does not guarantee every da…indexing.statusRead Google's latest successful Indexing API `URL_UPDATED` / `URL_DELETED` notification receipts for a previously submitted URL. This is notification metadata only, not index coverage, crawl status, indexing completion, or removal completion. It requires `GSC_ACCESS_MODE=readwrite` because Google's…indexing.requestRequests indexing through Google's Indexing API. Google currently restricts this API to pages containing `JobPosting` structured data or livestream pages containing `BroadcastEvent` inside `VideoObject`. It is not available for general webpage submission. Google's default 200 publish requests/day/p…indexing.removeRequest a `URL_DELETED` notification for a previously eligible Indexing API page. Before removal, the URL must already return HTTP 404/410 or expose a robots `noindex` meta directive. Google's receipt does not prove removal completed; use URL Inspection for indexed-state evidence.list_propertiesStarting point — see every GSC property you can access and your permission level on each.get_property_detailsCheck the type and permission level of one specific property.add_propertyRegister a new site in Search Console (verification is a separate step).delete_propertyDrop a property from the authenticated account's Search Console site list. Historical data is not destroyed — the property can be added back.list_sitemapsSee which sitemaps are submitted and whether Google reports errors or warnings.get_sitemap_detailsDrill into one sitemap: URL counts by content type, last download time, error and warning counts.submit_sitemapSubmit a new sitemap after publishing or moving one.delete_sitemapWithdraw a sitemap that is stale, duplicated, or returning errors.get_search_analyticsThe raw query — full control over dimensions, filters, search type, row limit, data state, aggregation. Use when the shaped tools below don't fit.get_performance_summary"How are we doing?" — clicks, impressions, CTR, position with period-over-period comparison. Trend advice is withheld when the previous period returned no data at all.compare_periodsCompare two explicit date ranges side by side (before/after a release, seasonal comparison).get_top_queriesTop queries by clicks, each scored against the CTR benchmark for its position.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"google-search-console": {
"command": "npx",
"args": [
"-y",
"@digestseo/mcp-gsc"
],
"env": {
"GOOGLE_CLIENT_ID": "YOUR_GOOGLE_CLIENT_ID_HERE",
"GOOGLE_CLIENT_SECRET": "YOUR_GOOGLE_CLIENT_SECRET_HERE",
"TOKEN_ENCRYPTION_KEY": "YOUR_TOKEN_ENCRYPTION_KEY_HERE"
}
}
}
}
No confirmed install command for Google Webtools MCP yet — follow the setup steps linked from its listing page rather than a guessed package name.