Google Search Console MCP Server
Servidor MCP de Google Search Console
Documentación
🔍 Search Console MCP
Google Search Console + Bing Webmaster Tools + GA4 + AdSense — en una sola ventana de contexto.
Deja de exportar archivos CSV. Empieza a hacer preguntas a tu agente de IA sobre el tráfico, los rankings y los ingresos de tu sitio.
📚 Documentación · Inicio rápido · Herramientas · Compatibilidad con versiones anteriores · Seguridad
⚡ Novedades en v2.1.2
- 🤖 Información sobre consultas de IA generativa (
genai_query_insights): Detecta consultas de "fanout" conversacionales o de modo IA / IA generativa en Google y Bing. Se trata de lógica heurística personalizada — Google o Bing no ofrecen una API oficial para datos de citas de IA generativa, por lo que se marcan verbos de aviso, seguimientos, confirmaciones y frases conversacionales en los datos de consulta habituales que ambos motores ya devuelven. Consulta documentación → - 🪲 Corrección de
analytics_query:rowLimitahora se respeta en lugar de ignorarse silenciosamente (antes siempre devolvía hasta 1000 filas);limitsigue disponible como alias compatible con versiones anteriores.
Novedades en v2.1.0
- 💰 Integración con Google AdSense: Informes de ingresos, pagos y alertas de cuenta a través de
setup --engine=adsense. Activar AdSense requiere que apruebes un alcance de OAuth deadsense.readonlypor separado; tu configuración existente de GSC, Bing y GA4 no cambia hasta que decidas activarlo. - 🔐 Autenticación de AdSense solo con OAuth: La API de gestión de AdSense solo admite OAuth de usuario — la configuración ahora valida el acceso en vivo y rechaza configuraciones de cuentas de servicio no compatibles con orientación práctica. Los usuarios con varias cuentas obtienen una selección explícita de cuenta de editor con paginación completa (>100 cuentas).
- 📊 Mejoras en
adsense_report: LosstartDate/endDatepersonalizados ahora anulan losdateRangepredefinidos, además de un nuevo parámetroorderBy(-ESTIMATED_EARNINGS) para informes de ingresos ordenados. - 🧪 Suite de pruebas MCP de extremo a extremo: El binario del servidor compilado ahora se prueba a través de stdio y SSE exactamente como lo haría un host MCP — handshake, esquemas de herramientas, envoltorios de errores y comportamiento de recursos con varias cuentas (11 pruebas e2e integradas en CI).
Novedades en v2.0.x
- 💰 Integración con Google AdSense: Informes de ingresos, pagos y alertas de cuenta a través de
setup --engine=adsense. Activar AdSense requiere que apruebes un alcance de OAuth deadsense.readonlypor separado; tu configuración existente de GSC, Bing y GA4 no cambia hasta que decidas activarlo. - 🔐 Autenticación de AdSense solo con OAuth: La API de gestión de AdSense solo admite OAuth de usuario — la configuración ahora valida el acceso en vivo y rechaza configuraciones de cuentas de servicio no compatibles con orientación práctica. Los usuarios con varias cuentas obtienen una selección explícita de cuenta de editor con paginación completa (>100 cuentas).
- 📊 Mejoras en
adsense_report: LosstartDate/endDatepersonalizados ahora anulan losdateRangepredefinidos, además de un nuevo parámetroorderBy(-ESTIMATED_EARNINGS) para informes de ingresos ordenados. - 🧪 Suite de pruebas MCP de extremo a extremo: El binario del servidor compilado ahora se prueba a través de stdio y SSE exactamente como lo haría un host MCP — handshake, esquemas de herramientas, envoltorios de errores y comportamiento de recursos con varias cuentas (11 pruebas e2e integradas en CI).
Novedades en v2.0.x
- 📦 Soporte de paquete de instalación con un clic MCPB (
.mcpb): Instalación de paquetes por arrastrar y soltar para Claude Desktop. - ⚡ Motor de recuperación en paralelo (
engine: "all"): Las consultas multi-motor recuperan Google, Bing y GA4 de forma concurrente con más de un 50 % de latencia reducida. - 🔄 Compatibilidad 100 % con versiones anteriores: Los ~96 nombres de herramientas heredados siguen funcionando sin problemas a través de nuestro enrutador de respaldo. Lee la Guía de compatibilidad con versiones anteriores →
Por qué existe esto
Los datos del sitio viven en cuatro silos diferentes. Responder a una sola pregunta — "¿cayeron mis ingresos publicitarios por una caída de tráfico o por un RPM más bajo?" — normalmente implica iniciar sesión en cuatro paneles, exportar cuatro CSV y hacer VLOOKUPs a mano.
Search Console MCP pone GSC, Bing, GA4 y AdSense detrás de un conjunto de herramientas que tu agente de IA puede llamar directamente, y hace el análisis (canibalización, detección de anomalías, atribución de ingresos) antes de que los datos lleguen a tu ventana de contexto.
| Antes | Después | |
|---|---|---|
| Datos | 4 paneles, exportaciones manuales | 1 contexto unificado |
| Análisis | VLOOKUPs manuales y tablas dinámicas | Matemática SEO + ingresos determinista, en el servidor |
| Cuentas | Inicio de sesión constante | Más de 20 cuentas, resueltas automáticamente por sitio |
| Información | Filas sin procesar, suposiciones del agente | Señales seleccionadas (puntuaciones de oportunidad, anomalías) |
⚡ Inicio rápido
npx search-console-mcp setup
Esto abre tu navegador, autoriza tu cuenta de Google y almacena tus credenciales de forma segura (consulta Seguridad). Luego agrégalo a la configuración de tu cliente MCP (Claude Desktop, Cursor, Antigravity, etc.):
{
"mcpServers": {
"search-console": {
"command": "npx",
"args": ["search-console-mcp"]
}
}
}
Reinicia tu cliente — y prueba uno de los avisos a continuación.
💬 Pruébalo
Pega estos directamente en tu agente:
"Mi tráfico cayó esta semana en comparación con la anterior. Encuentra exactamente cuándo comenzó y qué páginas son responsables."
"Encuentra palabras clave para example.com en posiciones 8–15 con más de 1000 impresiones — mis mejores victorias rápidas."
"Comprueba si hay canibalización de palabras clave: ¿dos de mis páginas compiten por la misma consulta?"
"Ejecuta
seo_auditen mis páginas principales: ¿cuáles tienen alta visibilidad en la búsqueda pero un CTR bajo?"
Más ejemplos de avisos
- "Ejecuta una verificación completa de salud SEO (
site_health_check), segmentada por Marca vs. No Marca." - "Obtén mis 5 páginas principales por impresiones y ejecuta
pagespeed_analyze— ¿hay alguna correlación con la caída de rankings?" - "Compara el rendimiento de Google vs. Bing en los últimos 30 días (
compare_engines) — ¿dónde está ganando Bing?" - "Envía mis últimas URL a Google e IndexNow usando
indexing_submitconmethod: "index_now"."
🔌 Conecta tus cuentas
| Plataforma | Método | Configuración |
|---|---|---|
| Google Search Console | OAuth (recomendado) | npx search-console-mcp setup |
| Google Search Console | Cuenta de servicio | Establece GOOGLE_APPLICATION_CREDENTIALS — detalles |
| Bing Webmaster Tools | Clave de API | export BING_API_KEY="..." — obtén una clave |
| Google Analytics 4 | Cuenta de servicio | npx search-console-mcp setup --engine=ga4 |
| Google AdSense | OAuth (solo lectura) | npx search-console-mcp setup --engine=adsense — servidores sin interfaz gráfica |
Gestiona todo desde la CLI:
npx search-console-mcp accounts list
npx search-console-mcp accounts add-site --account=you@company.com --site=example.com
npx search-console-mcp accounts remove --account=you@company.com
Cuando tu agente consulta un sitio, el servidor resuelve automáticamente qué cuenta lo posee — sin cambio manual. Documentación de varias cuentas →
Servidores sin interfaz gráfica (Docker, CI, VPS)
AdSense no puede usar cuentas de servicio, y los archivos de configuración están cifrados por máquina — así que autoriza una vez en cualquier máquina con navegador y transfiere la concesión:
# 1. On your laptop (after setup --engine=adsense):
npx search-console-mcp adsense-export
# 2. On the server (prints a ready-to-run command on step 1):
npx search-console-mcp adsense-import --token='...' --publisher-id='accounts/pub-...'
El token se almacena cifrado en el servidor y se renueva automáticamente — no se necesita navegador de nuevo. La configuración a través de SSH también funciona directamente: cuando no se detecta un navegador, setup imprime la URL de autorización más las instrucciones de reenvío de puertos de ssh -L 3000:localhost:3000 en lugar de fallar.
🖥️ Ejecuta herramientas desde la CLI
Search Console MCP también expone las herramientas MCP registradas como comandos CLI directos. Usa el subcomando run para listar herramientas, inspeccionar argumentos específicos de cada herramienta e imprimir resultados como JSON, CSV o una tabla ASCII:
# List registered tools
npx search-console-mcp run --help
# Show options for one tool
npx search-console-mcp run analytics_query --help
# Run an SEO audit with JSON output
npx search-console-mcp run seo_audit --siteUrl=https://example.com --type=quick_wins
# Print array results as CSV or a table
npx search-console-mcp run analytics_query --siteUrl=https://example.com --startDate=2026-06-01 --endDate=2026-06-30 --dimensions=date,query --format=csv
npx search-console-mcp run sites_list --engine=all --format=table
Configuración de cuenta de servicio (para servidores/automatización)
- Crea una cuenta de servicio en la Consola de Google Cloud
- Genera una clave JSON
- Añade el correo de la cuenta de servicio como usuario en Search Console con acceso "Completo" o "Restringido"
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/key.json"
🛠 Herramientas (Arquitectura de dominio fluido)
Search Console MCP v2.0 incluye 7 herramientas de dominio fluido que gestionan todas las operaciones de SEO, Analytics, Inspección e Indexación de forma limpia:
| Herramienta fluida | Parámetros / Acciones | Descripción |
|---|---|---|
sites_list | engine: "all" | "google" | "bing" | Lista sitios verificados en los motores de búsqueda en paralelo |
sites_manage | action: "add" | "delete", siteUrl, engine | Añade o elimina propiedades de sitio |
accounts_manage | action: "list" | "add_site" | "remove" | Configura perfiles de varias cuentas |
sitemaps_list | siteUrl, feedUrl, engine | Obtiene el estado de los sitemaps y el estado de indexación |
sitemaps_submit | siteUrl, feedUrl, engine | Envía sitemaps a GSC y Bing |
sitemaps_delete | siteUrl, feedUrl, engine | Elimina sitemaps |
analytics_query | siteUrl, engine, dimensions, metrics | Búsqueda multi-motor y consulta de analítica GA4 |
analytics_compare | mode: "period_over_period" | "trends" | "drop_attribution" | Analiza deltas de períodos, cambios de tendencia y causas de caídas |
analytics_anomalies | siteUrl, threshold | Detección estadística de picos/caídas de tráfico |
inspection_inspect | siteUrl, urls, engine | Inspección de URL de Google e información de URL de Bing |
pagespeed_analyze | url, strategy, cwvOnly | Auditorías de Core Web Vitals y PageSpeed Insights |
indexing_submit | urls, method: "standard" | "index_now" | "remove" | Indexa URL al instante mediante IndexNow o la API de Google/Bing |
indexing_status | siteUrl, type: "quota" | "status" | Comprueba la cuota de indexación restante y el estado de la URL |
seo_audit | type: "quick_wins" | "striking_distance" | "cannibalization" | "low_hanging_fruit" | "lost_queries" | "recommendations" | "brand_vs_nonbrand" | Auditorías SEO automatizadas completas |
seo_keywords_research | keywords, type: "stats" | "related" | "traffic" | Volúmenes de palabras clave y estadísticas de palabras clave relacionadas |
site_health_check | siteUrl, level: "summary" | "full" | "crawl_issues" | Auditoría de rendimiento y técnica del sitio en una sola pasada |
compare_engines | siteUrl | Desglose de rendimiento comparativo Google vs. Bing |
genai_query_insights | siteUrl, days, engine: "google" | "bing" | "all", includePages, minImpressions | Marca consultas conversacionales o de IA generativa probable (heurística personalizada, sin API oficial) |
Herramientas de Google AdSense
| Herramienta | Parámetros | Descripción |
|---|---|---|
adsense_accounts | mode: "configured" | "discover", accountId | Lista cuentas de editor de AdSense configuradas o detectables |
adsense_report | dateRange, startDate, endDate, dimensions, metrics, orderBy, rowLimit, accountId | Ingresos, impresiones, clics, CTR y RPM con desgloses por dimensión. Las fechas personalizadas anulan dateRange. |
adsense_payments_alerts | accountId | Pagos pendientes y alertas de cuenta (problemas de políticas, retenciones de pago) |
Nota:
accountIdse refiere al ID de perfil configurado (p. ej.,adsense_2, como se muestra conaccounts_manage), no a un nombre de recurso de editor comoaccounts/pub-123.
Aviso de compatibilidad con versiones anteriores (más de 96 herramientas heredadas)
Todos los nombres de herramientas heredados (bing_sites_list, seo_quick_wins, sitemaps_get, bing_index_now, indexing_submit_url, opportunity_matrix, etc.) siguen funcionando de forma transparente a través de nuestro enrutador de respaldo.
Lee nuestra Guía completa de compatibilidad con versiones anteriores y migración →
🔒 Seguridad
- Llavero del sistema operativo primero — los tokens se almacenan en el Llavero de macOS, el Administrador de credenciales de Windows o el Servicio de secretos de Linux
- Respaldo AES-256-GCM — cifrado con una clave derivada del ID de hardware de tu máquina; un archivo robado es inútil en otro dispositivo
- Almacenamiento mínimo — solo se persisten
refresh_tokenyexpiry_date, enmode 600 - Renovación silenciosa — los tokens se renuevan automáticamente en segundo plano
Licencia
MIT · Guía de contribución · Guía de compatibilidad hacia atrás
Si esto te ahorra una hoja de cálculo, considera ⭐ marcar el repositorio con una estrella.