Documentation

Connect your marketing data to Claude, ChatGPT and other LLMs.

Tools MCP — Search Console

16 tools expuestos en el endpoint https://gadspilot.com/mcp-gsc. Haz clic en un tool para ver sus parámetros.

💡
Nunca necesitas llamar a estos tools manualmente — haz tu pregunta en español a Claude/ChatGPT/Cursor, el LLM elige el tool correcto, gestiona los parámetros y resume la respuesta. Esta documentación solo lista lo que está disponible.

📊 Reporting & Insights (9)

gsc_search_analytics Read
Query GSC Search Analytics. Returns rows of (keys, clicks, impressions, ctr, position) aggregated over the date range with the requested dimensions. Supports query/page/country/device/date dimensions.
Parameters
site_url * string The GSC property site_url (e.g. "https://example.com/" or "sc-domain:example.com").
start_date * string YYYY-MM-DD.
end_date * string YYYY-MM-DD.
dimensions * array
row_limit integer Default 100, max 25000.
filters array Optional. Array of {dimension, operator, expression} objects. E.g. [{"dimension":"page","operator":"contains","expression":"/blog"}].
gsc_top_queries Read
Shortcut for top search queries over a period (dimension=query). Returns the top N queries by clicks.
Parameters
site_url * string
start_date * string
end_date * string
row_limit integer
page_contains string Optional. Filter to queries that landed on pages containing this substring.
gsc_top_pages Read
Shortcut for top pages by clicks (dimension=page) over a date range.
Parameters
site_url * string
start_date * string
end_date * string
row_limit integer
gsc_inspect_url Read
URL Inspection API — check the indexing status, canonical URL, mobile usability, and rich results of a specific URL as Google sees it.
Parameters
site_url * string
page_url * string The full URL of the page to inspect (must belong to the property).
gsc_search_analytics_compare Read
Compare GSC Search Analytics between two periods. Returns rows with {keys, current, prior, delta} for each dimension key (clicks/impressions absolute + relative, CTR in percentage points, position in rank points where decrease = better). Dropped queries (present in prior but not current) are included with dropped=true. Typical use: "compare last 28 days vs previous 28 days" or "this month vs same month last year".
Parameters
site_url * string The GSC property site_url.
start_date * string Current period start (YYYY-MM-DD).
end_date * string Current period end (YYYY-MM-DD).
compare_start_date * string Prior period start (YYYY-MM-DD).
compare_end_date * string Prior period end (YYYY-MM-DD).
dimensions array Default ["query"].
row_limit integer Rows per period, default 100.
gsc_check_safe_browsing Read
Check if a URL is flagged by Google Safe Browsing (malware, social engineering, unwanted software, potentially harmful app). Returns {safe: bool, verdict: "SAFE"|"UNSAFE", matches: [...]}. Requires a Google API key with Safe Browsing API enabled (Google Cloud Console → Credentials). Pass api_key as parameter, or configure google_api_key as a platform setting.
Parameters
url * string The URL to check (full URL including scheme).
api_key string Google API key (optional if google_api_key platform setting is configured).
gsc_pagespeed Read
Run Google PageSpeed Insights (Lighthouse) on a URL. Returns compact summary: performance/accessibility/best-practices/SEO scores, Core Web Vitals (LCP, CLS, INP, TBT, FCP, Speed Index), and top 5 opportunities with savings in ms. Use strategy="mobile" (default) or "desktop". api_key is optional (unauthenticated calls work but are rate-limited).
Parameters
url * string The URL to analyze (full URL including scheme).
strategy string Default "mobile".
api_key string Google API key (optional, uses google_api_key platform setting as fallback).
gsc_bulk_safe_browsing_sitemap Read
Scan every URL of a sitemap (or sitemap index — recursive up to depth 3) against Google Safe Browsing v4 in batches of 500. Returns {sitemaps_visited, scan: {total, safe, unsafe, threats: [...]}}. Use this instead of calling gsc_check_safe_browsing per URL — 2000 URLs = 4 API calls vs 2000.
Parameters
sitemap_url * string Full URL of sitemap.xml (index files supported).
max_urls integer Safety cap, default 2000, hard max 10000.
api_key string Google API key (optional, falls back to google_api_key platform setting).
gsc_pagespeed_top_pages Read
Pull the top N pages by clicks from GSC on the requested period, then run PageSpeed Insights on each for the requested strategies (mobile/desktop). Returns a compact leaderboard {pages: [{url, gsc: {clicks, impressions, ctr, position}, pagespeed: {mobile: {scores, lcp, cls, inp, top_opportunity}, desktop: {...}}}]}. top_n hard max 30 (PSI is slow: ~15-30s per URL per strategy).
Parameters
site_url * string GSC property, e.g. "sc-domain:example.com" or "https://example.com/".
start_date * string YYYY-MM-DD (GSC has a 3-day delay — use dates ≥ 3 days ago).
end_date * string
top_n integer Default 10, max 30.
strategies array Default ["mobile"]. Both = ["mobile","desktop"] (doubles execution time).
api_key string Google API key (optional, falls back to google_api_key platform setting).

🏗 Structure & Listing (2)

gsc_list_properties Read
List all Google Search Console properties authorized for this MCP token. Each property has site_url (either URL_PREFIX like "https://example.com/" or DOMAIN like "sc-domain:example.com"), permission_level, and label.
Parameters
gsc_list_sitemaps Read
List all sitemaps submitted for a property, with status (lastSubmitted, lastDownloaded, isPending, isSitemapsIndex, errors, warnings).
Parameters
site_url * string

✏️ Write actions (2)

All default to dry-run mode

gsc_submit_sitemap Write · dry-run
Submit or resubmit a sitemap to GSC. WRITE operation. dry_run=true previews without calling the API.
Parameters
site_url * string
sitemap_url * string The full URL of the sitemap (e.g. "https://example.com/sitemap.xml").
dry_run boolean
gsc_delete_sitemap Write · dry-run
Remove a sitemap from GSC. WRITE operation. dry_run=true previews without calling the API.
Parameters
site_url * string
sitemap_url * string
dry_run boolean

🧠 Persistent memory (3)

Notes + change log shared across sessions

get_local_change_log Read
Returns gadspilot's own write history for this account (every write tool call ever made via gadspilot, with parameters + result). Persistent across sessions. Use this BEFORE making changes to know what was already done previously. Different from get_change_history which only shows changes done via Google Ads UI/API.
Parameters
date_range string Default: last_30_days.
tool_name string Optional filter — exact tool name (e.g. update_campaign_budget).
campaign_id string Optional filter — only changes that touched this campaign.
include_dry_run boolean Default: true. Set false to exclude previewed-only operations.
get_notes Read
Returns persistent notes attached to campaigns OR ad groups. Each note has a `level` field ("campaign" or "ad_group"). When recovering context for an ad group, ALWAYS pull both campaign-level (ad_group_id NULL) and ad-group-level notes — campaign context applies to all its ad groups.
Parameters
campaign_id string Optional — only notes for this campaign.
ad_group_id string Optional — only notes for this specific ad group.
scope string Default "all". Use "campaign_only" to get notes attached at campaign level (ad_group_id NULL), "ad_group_only" for notes attached to any ad group of the campaign.
tags array Optional — only notes matching at least one of these tags.
add_note Read
Persists a free-text note. Attach at the MOST SPECIFIC level applicable: if the change/observation is about ONE ad group (bid, keywords inside, ads, RSA themes), pass ad_group_id. If it spans the whole campaign (budget, geo, bidding strategy, multi-AG insight), omit ad_group_id and only pass campaign_id. Use this to record WHY a change was made, hypotheses, or what to re-check later.
Parameters
campaign_id * string
ad_group_id string OPTIONAL but RECOMMENDED when the note is specific to one ad group. Omit only for campaign-wide notes.
note * string The note content. Be specific: include numbers, dates, hypotheses, re-check date.
tags array Optional tags to organize notes (e.g. [\"experiment\", \"bid-test\", \"to-review\"]).

Convenciones generales

  • Tools READ: sin riesgo, lectura en tiempo real vía Google Ads API / GSC API / Meta Marketing API
  • Tools WRITE: por defecto dry_run=true → devuelve una vista previa JSON sin modificar nada. Debes pasar explícitamente dry_run=false para ejecutar (y puedes desactivar los writes globalmente por cuenta en gadspilot)
  • Tools de memoria: write ligero solo en la BD de gadspilot (notas / change log) — no llama a las API Google/Meta, sin dry-run
  • Todos los valores monetarios están en micros en Google Ads (1 € = 1 000 000 micros). gadspilot convierte automáticamente las respuestas
  • Todos los writes se loggean en /logs con params + resultado + flag dry-run
¿Necesitas ayuda? Pregunta a Léa 💬
gadspilot assistant
Léa
Asistente IA · gadspilot
¿Necesitas un humano? Contactar soporte