GSC, GA4 y PageSpeed en Cursor: guía MCP con Google Cloud
Google Search Console, GA4, PageSpeed Insights y los datos de Chrome UX Report (CrUX) son el núcleo gratuito (o casi) de muchos flujos SEO. Conectados a Cursor vía MCP, puedes preguntar «¿qué páginas empeoraron LCP en móvil?» o «¿qué queries crecieron este trimestre?» sin abrir cuatro pestañas.
Partimos de la guía rápida de MCP en Cursor. Si además usas herramientas de pago, mira Semrush y Screaming Frog.
.webp)
Qué obtienes con cada herramienta
| Fuente | Datos típicos | MCP |
|---|---|---|
| GSC | Clics, impresiones, CTR, posición, inspección URL | Comunidad (mcp-server-google-search-console, suganthan-gsc-mcp, @vmandic/searchconsole-mcp) |
| GA4 | Sesiones, conversiones, landings, canales | Oficial Google (analytics-mcp) y alternativas en PyPI |
| PageSpeed / Lighthouse | Puntuación, oportunidades, auditorías lab | pagespeed-insights-mcp, google-psi-mcp, etc. |
| CrUX (field) | LCP, INP, CLS de usuarios reales | Incluido en PSI y en MCPs que exponen crux_summary |
Lab vs field: Lighthouse en PSI es laboratorio (controlado). CrUX es lo que vivieron usuarios reales en Chrome. Para SEO y negocio, conviene mirar ambos.
Paso 0: un solo proyecto en Google Cloud
- Google Cloud Console → crea proyecto
seo-mcp(o el nombre que quieras). - Activa APIs (Biblioteca):
Search Console API
Google Analytics Admin API
Google Analytics Data API
PageSpeed Insights API
- IAM → Cuentas de servicio → Crear → rol básico → Crear clave JSON → guarda en ruta segura:
# Ejemplo macOS/Linux
mkdir -p ~/.config/google-mcp
mv ~/Downloads/seo-mcp-*.json ~/.config/google-mcp/service-account.json
chmod 600 ~/.config/google-mcp/service-account.json
- Copia el email de la cuenta de servicio (
...@....iam.gserviceaccount.com).
Permisos en cada producto
Search Console: propiedad → Configuración → Usuarios y permisos → Añadir usuario → email de la service account → Usuario con restricciones o propietario según política.
GA4: Admin → Acceso a la propiedad → Añadir → email → rol Lector.
PageSpeed: no requiere permiso en una propiedad; sí API key o la misma cuenta de servicio con la API activada (cuotas distintas).
1. Google Search Console en Cursor
Ejemplo con paquete npm documentado para Cursor:
{
"mcpServers": {
"gsc": {
"command": "npx", "args": ["-y", "mcp-server-google-search-console"], "env": {
"GSC_SERVICE_ACCOUNT_KEY_FILE": "/Users/marco/.config/google-mcp/service-account.json"
}
}
}
}
Sustituye la ruta por la tuya (absoluta). En Windows:
"GSC_SERVICE_ACCOUNT_KEY_FILE": "C:\\Users\\marco\\.config\\google-mcp\\service-account.json"
Reinicia Cursor. Prueba:
En GSC: top 20 queries por clics en los últimos 28 días para sc-domain:midominio.com.
Incluye impresiones, CTR y posición media.
Herramientas habituales: rendimiento por query/página, inspección de URL, sitemaps.
2. GA4 en Cursor (servidor oficial Google)
Instala con pipx (Python 3.10+):
pipx install analytics-mcp
Configuración en mcp.json:
{
"mcpServers": {
"ga4": {
"command": "pipx", "args": ["run", "analytics-mcp"], "env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/Users/marco/.config/google-mcp/service-account.json", "GOOGLE_CLOUD_PROJECT": "seo-mcp-123456"
}
}
}
}
GOOGLE_CLOUD_PROJECT= ID del proyecto Cloud (no el nombre visible).- En GA4 usa el Property ID numérico (
123456789), no el Measurement IDG-XXXXXXXX.
Prueba:
En GA4 propiedad 123456789: sesiones y usuarios por canal
en los últimos 30 días vs 30 días anteriores. Tabla resumen.
Alternativa comunitaria con más controles de volumen: paquete google-analytics-mcp en PyPI con GA4_PROPERTY_ID en env.
3. PageSpeed Insights + CrUX en Cursor
Necesitas API key de PageSpeed (misma consola Cloud → Credenciales → Crear credenciales → Clave de API → restringe a PageSpeed Insights API).
Ejemplo con servidor Node (pagespeed-insights-mcp):
npm install -g pagespeed-insights-mcp
# o usa npx en mcp.json sin instalar global
{
"mcpServers": {
"psi": {
"command": "npx", "args": ["-y", "pagespeed-insights-mcp"], "env": {
"GOOGLE_API_KEY": "AIzaSy..."
}
}
}
}
Prueba lab + field:
Analiza https://www.midominio.com en móvil con PageSpeed.
Dame resumen de Core Web Vitals (lab y CrUX si hay datos)
y las 3 oportunidades con más ahorro estimado.
Leer CrUX sin confundirte
En PageSpeed Insights web verás dos bloques:
- Discover what your real users are experiencing → CrUX (field)
- Diagnose performance issues → Lighthouse (lab)
Los MCPs que integran PSI replican esa lógica. Si no hay tráfico suficiente, CrUX puede mostrar «No Data» y solo tendrás lab, es normal en URLs nuevas o con poco volumen.
Umbrales oficiales (resumen):
| Métrica | Bueno | Mejorable | Malo |
|---|---|---|---|
| LCP | ≤ 2,5 s | ≤ 4 s | > 4 s |
| INP | ≤ 200 ms | ≤ 500 ms | > 500 ms |
| CLS | ≤ 0,1 | ≤ 0,25 | > 0,25 |
4. mcp.json unificado (GSC + GA4 + PageSpeed)
Ejemplo combinando los tres (rutas y claves ficticias):
{
"mcpServers": {
"gsc": {
"command": "npx", "args": ["-y", "mcp-server-google-search-console"], "env": {
"GSC_SERVICE_ACCOUNT_KEY_FILE": "/Users/marco/.config/google-mcp/service-account.json"
}
}, "ga4": {
"command": "pipx", "args": ["run", "analytics-mcp"], "env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/Users/marco/.config/google-mcp/service-account.json", "GOOGLE_CLOUD_PROJECT": "seo-mcp-123456"
}
}, "psi": {
"command": "npx", "args": ["-y", "pagespeed-insights-mcp"], "env": {
"GOOGLE_API_KEY": "AIzaSy..."
}
}
}
}
Seguridad: añade mcp.json con secretos a .gitignore o usa variables de entorno del sistema y referencias ${env:VAR} si tu versión de Cursor las soporta.
Prompts cruzados (donde brilla el MCP)
Cruza GSC y GA4: las 10 URLs con más clics orgánicos últimos 28 días
y sus sesiones GA4 en el mismo periodo. Señala URLs con muchos clics
pero pocas sesiones (posible discrepancia de tracking).
De las 5 landings con peor LCP en móvil (PSI), ¿cuáles tienen
impresiones en GSC? Prioriza arreglos por impacto SEO.
Inspecciona en GSC la URL /blog/ejemplo y dime estado de indexación.
Luego pasa PageSpeed móvil y resume si el problema es más técnico o de contenido.
UX en Chrome y Lighthouse (sin MCP aparte)
No siempre hace falta un MCP llamado «Chrome UX»: CrUX ya es la voz agregada de experiencia real en Chrome. Para auditoría visual (layout, accesibilidad en vivo), sigues usando DevTools o Lighthouse en el navegador.
En Cursor, el flujo práctico es:
- PSI MCP → métricas y oportunidades.
- GSC → qué URLs importan para búsqueda.
- Implementas en código con el agente al lado.
Si usas Screaming Frog con PageSpeed integrado en el crawl, puedes complementar con la guía de SF + Cursor.
Errores frecuentes
| Error | Solución |
|---|---|
| 403 en GSC | Service account sin acceso a la propiedad |
| GA4 sin datos | Property ID incorrecto o sin rol Lector |
| PSI quota exceeded | API key propia; espaciar peticiones |
| CrUX vacío | Poca muestra; mira datos a nivel origen en PSI |
| pipx not found | brew install pipx o apt install pipx + pipx ensurepath |
Por dónde empezar
- Solo GSC: impacto inmediato en SEO diario.
- Añade GA4 cuando tengas claro qué preguntas de negocio quieres cruzar.
- PageSpeed cuando entres en optimización de rendimiento o CWV.
Si lo montas para un cliente, pide acceso de lectura con antelación. En una de las mejores agencias de marketing digital del sector suele ir en el onboarding junto a GSC y GA4, antes de plantear mejoras de Core Web Vitals.
Un MCP bien configurado no sustituye criterio. Te ahorra fricción para llegar antes a la pregunta que importa: ¿qué arreglo primero?