SEO4ap

Todo sobre SEO

Documentación

Servidor MCP de Google Search Console para SEOs

Un servidor del Protocolo de Contexto de Modelo (MCP) que conecta Google Search Console (GSC) a asistentes de IA, permitiéndote analizar tus datos de SEO a través de conversaciones en lenguaje natural. Funciona con Claude Desktop, Cursor, Codex CLI, Gemini CLI, Antigravity y cualquier otro cliente compatible con MCP.

Omita la configuración, obtenga más. Una versión alojada más avanzada: inicio de sesión con un clic, herramientas GA4 añadidas. Funciona con Claude Desktop, Claude Code, Claude.ai, Codex, Cursor y cualquier cliente MCP. Solo 100 plazas. → GSC MCP avanzado (alojado)


Novedades

[0.3.3] — Julio 2026

  • Corregidas instalaciones nuevas rotas por mcp 2.0 — se fijó mcp[cli]<2.0.0. El SDK de mcp 2.0.0 (publicado el 28-07-2026) eliminó el módulo mcp.server.fastmcp, por lo que cada instalación nueva de uvx mcp-search-console fallaba al iniciar con ModuleNotFoundError: No module named 'mcp.server.fastmcp'. Las instalaciones nuevas ahora resuelven un SDK 1.x funcional de nuevo — sin necesidad de la solución alternativa de --with "mcp<2".

[0.3.2] — Abril 2026

  • Flujo de navegador OAuth corregido para uvx — se eliminó el bloque isatty que impedía que se abriera la ventana de inicio de sesión del navegador al ejecutarse como subproceso MCP en macOS. OAuth ahora funciona de fábrica con uvx, sin necesidad de ejecución manual en terminal.
  • Herramienta get_capabilities añadida — llámala para obtener una lista completa de herramientas disponibles y el estado actual de autenticación de una sola vez. Útil cuando tu asistente de IA no está seguro de qué herramientas están disponibles.
  • Mejores mensajes de error de autenticación — todas las herramientas ahora te dicen exactamente qué hacer cuando faltan credenciales o han expirado.

¿Qué Puede Hacer Esto?

Gestión de propiedades

  • Ver todas tus propiedades de GSC en un solo lugar
  • Obtener detalles de verificación e información de propiedad
  • Añadir o eliminar propiedades de tu cuenta

Analítica de búsqueda e informes

  • Descubre qué consultas traen visitantes a tu sitio
  • Realiza seguimiento de impresiones, clics y tasas de clics
  • Analiza tendencias de rendimiento y compara períodos de tiempo
  • Visualiza datos con gráficos creados por tu asistente de IA

Inspección de URL e indexación

  • Comprueba si páginas específicas tienen problemas de indexación
  • Ve cuándo Google rastreó tus páginas por última vez
  • Inspecciona varias URLs a la vez para identificar patrones

Gestión de sitemaps

  • Ver todos los sitemaps y su estado
  • Enviar nuevos sitemaps
  • Comprobar si hay errores o advertencias

Herramientas disponibles

HerramientaQué haceQué necesitas proporcionar
get_capabilitiesEnumera todas las herramientas y muestra el estado de autenticación — llámala primero si no estás seguroNada
list_propertiesMuestra todas tus propiedades de GSCNada
get_site_detailsDetalles sobre un sitio específicoURL del sitio
get_search_analyticsPrincipales consultas y páginas con clics, impresiones, CTR, posiciónURL del sitio, período de tiempo
get_performance_overviewResumen del rendimiento del sitioURL del sitio, período de tiempo
compare_search_periodsCompara el rendimiento entre dos períodos de tiempoURL del sitio, dos rangos de fechas
get_search_by_page_queryTérminos de búsqueda que generan tráfico a una página específicaURL del sitio, URL de la página
get_advanced_search_analyticsAnalítica con filtros por país, dispositivo, consulta, páginaURL del sitio
inspect_url_enhancedEstado detallado de rastreo/indexación para una URLURL del sitio, URL de la página
batch_url_inspectionInspecciona hasta 10 URLs a la vezURL del sitio, lista de URLs
check_indexing_issuesComprueba múltiples URLs para detectar problemas de indexaciónURL del sitio, lista de URLs
get_sitemapsEnumera todos los sitemaps de un sitioURL del sitio
list_sitemaps_enhancedInformación detallada del sitemap, incluidos errores y advertenciasURL del sitio
manage_sitemapsEnviar o eliminar sitemapsURL del sitio, acción
reauthenticateVolver a ejecutar el inicio de sesión OAuth en el navegador (cambiar de cuenta)Nada

Pídele a tu asistente de IA que "llame a get_capabilities" para obtener la lista completa de las 20 herramientas.



Primeros Pasos

Paso 1 — Configurar las Credenciales de la API de Google

Necesitas credenciales antes de configurar cualquier cliente. Elige un método:

Opción A — OAuth (Recomendado — usa tu propia cuenta de Google)

  1. Ve a Google Cloud Console y crea o selecciona un proyecto
  2. Habilita la API de Search Console
  3. Ve a Credenciales → Crear credenciales → ID de cliente OAuth
  4. Configura la pantalla de consentimiento OAuth, selecciona Aplicación de escritorio, haz clic en Crear
  5. Descarga el archivo JSON — guárdalo en un lugar permanente (por ejemplo, ~/Documents/client_secrets.json)

En el primer uso, se abrirá una ventana del navegador pidiéndote que inicies sesión con tu cuenta de Google. Después de eso, el token se guarda y no se necesitará interacción con el navegador nuevamente.

Opción B — Cuenta de servicio (Para automatización o uso en equipo)

  1. Ve a Google Cloud Console y crea o selecciona un proyecto
  2. Habilita la API de Search Console
  3. Ve a Credenciales → Crear credenciales → Cuenta de servicio
  4. Ve a la pestaña Claves → Añadir clave → Crear clave nueva → JSON → Descargar
  5. Guarda el archivo en un lugar permanente (por ejemplo, ~/Documents/service_account.json)
  6. Añade el correo de la cuenta de servicio a tu propiedad de GSC: Search Console → Configuración → Usuarios y permisos → Añadir usuario → Acceso completo

🎥 Mira el tutorial de configuración paso a paso para esta sección

Actualizado 2026 — cubre el proceso completo de instalación usando el nuevo método uvx, desde la configuración de tus credenciales de Google hasta tu primera consulta exitosa.


Paso 2 — Instalación

Opción A — uvx (Recomendado)

Sin clonar, sin instalar Python, sin entornos virtuales. uvx descarga y ejecuta el servidor automáticamente y lo mantiene actualizado.

Instala uv — abre Terminal y ejecuta los tres comandos en orden:

# 1. Download and install
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. Activate in the current Terminal session
source $HOME/.local/bin/env

# 3. Make it permanent for all future sessions
echo 'source $HOME/.local/bin/env' >> ~/.zshrc

Verifica:

uv --version

¿Por qué los tres comandos? El instalador coloca uv en ~/.local/bin, pero tu sesión de Terminal ya abierta no conoce esa carpeta todavía. El paso 2 la activa inmediatamente. El paso 3 garantiza que cada ventana futura de Terminal la tenga automáticamente.

Ahora configura tu cliente de IA:


Claude Desktop

Archivo de configuración: ~/Library/Application Support/Claude/claude_desktop_config.json

OAuth:

{
  "mcpServers": {
    "gscServer": {
      "command": "/FULL/PATH/TO/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

Cuenta de servicio:

{
  "mcpServers": {
    "gscServer": {
      "command": "/FULL/PATH/TO/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json",
        "GSC_SKIP_OAUTH": "true"
      }
    }
  }
}

Cursor

Archivo de configuración: ~/.cursor/mcp.json

OAuth:

{
  "mcpServers": {
    "gscServer": {
      "command": "/FULL/PATH/TO/uvx",
      "args": ["mcp-search-console"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

Codex CLI

Archivo de configuración: ~/.codex/config.toml

OAuth:

[mcp_servers.gscServer]
command = "/FULL/PATH/TO/uvx"
args = ["mcp-search-console"]
enabled = true
env = { GSC_OAUTH_CLIENT_SECRETS_FILE = "/full/path/to/client_secrets.json" }

Cuenta de servicio:

[mcp_servers.gscServer]
command = "/FULL/PATH/TO/uvx"
args = ["mcp-search-console"]
enabled = true
env = { GSC_CREDENTIALS_PATH = "/full/path/to/service_account.json", GSC_SKIP_OAUTH = "true" }

Cómo encontrar tu ruta de uvx: En macOS/Linux ejecuta which uvx en Terminal después de instalar uv (normalmente /Users/YOUR_NAME/.local/bin/uvx). En Windows, ejecuta Get-Command uvx | Select-Object -ExpandProperty Source en PowerShell (o where uvx en cmd) — normalmente es C:\Users\YOUR_NAME\.local\bin\uvx.exe. Reemplaza /FULL/PATH/TO/uvx en las configuraciones anteriores con esa ruta.

¿Por qué la ruta completa? Las aplicaciones GUI como Claude Desktop y Cursor se inician sin leer tu configuración de shell (~/.zshrc), por lo que no conocen ~/.local/bin. Usar la ruta completa garantiza que funcione independientemente de cómo se inicie la aplicación. Si ves un error de spawn uvx ENOENT, esta es la solución.

Después de guardar la configuración, cierra completamente la aplicación (Cmd+Q) y vuelve a abrirla.

Para OAuth: en el primer uso, se abrirá automáticamente una ventana del navegador para iniciar sesión. Después de eso, el token se almacena en caché y no se te volverá a pedir.


Opción B — Clonar (Avanzado)

¿Prefieres un tutorial en video para este método? El tutorial a continuación cubre la ruta de instalación por clonación paso a paso: configuración del entorno virtual, dependencias y configuración:

Usa esto si quieres modificar el código o ejecutar una versión local específica. Este método utiliza el tutorial en video anterior para los pasos de configuración de credenciales.

Requiere Python 3.11+. Este servidor no se iniciará en Python 3.10 o anterior — y cuando lo lanza un cliente GUI como Claude Desktop, falla silenciosamente (no aparecen herramientas y no se escribe ningún archivo de registro). Comprueba tu versión con python --version. Si es inferior a 3.11, instala Python 3.11 o más reciente y recrea tu entorno virtual. El método uvx (Opción A) evita esto por completo al gestionar la versión de Python por ti, por lo que es la ruta recomendada en Windows.

Clona el repositorio:

git clone https://github.com/AminForou/mcp-gsc.git
cd mcp-gsc

O descarga el ZIP desde el botón verde Code en la parte superior de esta página y descomprímelo.

Configura el entorno:

uv venv .venv
uv pip install -r requirements.txt

Configura tu cliente de IA (ejemplo de Claude Desktop):

OAuth:

{
  "mcpServers": {
    "gscServer": {
      "command": "/full/path/to/mcp-gsc/.venv/bin/python",
      "args": ["/full/path/to/mcp-gsc/gsc_server.py"],
      "env": {
        "GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
      }
    }
  }
}

Cuenta de servicio:

{
  "mcpServers": {
    "gscServer": {
      "command": "/full/path/to/mcp-gsc/.venv/bin/python",
      "args": ["/full/path/to/mcp-gsc/gsc_server.py"],
      "env": {
        "GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json",
        "GSC_SKIP_OAUTH": "true"
      }
    }
  }
}

Ejemplos de rutas en Mac:

  • Python: /Users/yourname/Documents/mcp-gsc/.venv/bin/python
  • Script: /Users/yourname/Documents/mcp-gsc/gsc_server.py

Paso 3 — Prueba

Pregúntale a tu asistente de IA: "Lista mis propiedades de GSC"

Si ves tus propiedades — está funcionando. Si no, pregunta: "Llama a get_capabilities" para ver el estado de autenticación y diagnosticar el problema.


Referencia de Variables de Entorno

VariableRequeridaPredeterminadoDescripción
GSC_OAUTH_CLIENT_SECRETS_FILESolo OAuthRuta absoluta a tu JSON de secretos de cliente OAuth. Siempre requerida cuando se usa uvx.
GSC_CREDENTIALS_PATHSolo cuenta de servicioRuta absoluta a tu clave JSON de cuenta de servicio. Siempre requerida cuando se usa uvx.
GSC_SKIP_OAUTHNofalseEstablécelo en "true" para forzar la autenticación de cuenta de servicio y omitir OAuth por completo
GSC_DATA_STATENo"all""all" coincide con el panel de GSC. "final" devuelve solo datos confirmados (retraso de 2 a 3 días).
GSC_ALLOW_DESTRUCTIVENofalseEstablécelo en "true" para habilitar las herramientas de añadir/eliminar sitio y eliminar sitemap

Marketplace de Cursor

Instalación con un clic disponible — busca mcp-search-console en el Marketplace de Cursor.

Después de instalar, configura tus credenciales (consulta el Paso 1 anterior) y luego usa las habilidades incluidas directamente en el chat de Cursor Agent:

HabilidadCómo invocarlaQué hace
seo-weekly-report"Ejecuta el informe semanal de SEO para example.com"Resumen completo de rendimiento de 28 días con comparación período a período y principales consultas
cannibalization-check"Comprueba la canibalización de palabras clave en example.com"Encuentra consultas donde compiten múltiples páginas; recomienda cuáles conservar
indexing-audit"Audita la indexación de mis páginas principales"Inspecciona por lotes las 20 páginas principales y devuelve una lista priorizada de correcciones
content-opportunities"Encuentra oportunidades de contenido para example.com"Muestra consultas en posiciones 11-20 con altas impresiones y bajo CTR

Prompts de Ejemplo

HerramientaPrompt de Ejemplo
list_properties"Enumera todas mis propiedades de GSC y dime cuáles tienen más páginas indexadas."
get_search_analytics"Muéstrame las 20 principales consultas de búsqueda para mywebsite.com en los últimos 30 días, resalta cualquier consulta con CTR inferior al 2% y sugiere mejoras de títulos."
get_performance_overview"Crea una descripción visual del rendimiento de mywebsite.com de los últimos 28 días, identifica cualquier caída o pico inusual y explica las posibles causas."
check_indexing_issues"Comprueba estas páginas para detectar problemas de indexación: mywebsite.com/product, mywebsite.com/services, mywebsite.com/about"
inspect_url_enhanced"Haz una inspección exhaustiva de mywebsite.com/landing-page y dame recomendaciones prácticas."
compare_search_periods"Compara el rendimiento de mi sitio entre enero y febrero. ¿Qué consultas mejoraron más?"
get_advanced_search_analytics"Analiza consultas con altas impresiones pero posiciones inferiores a 10, filtradas solo a tráfico móvil en EE. UU."

Solución de Problemas

spawn uvx ENOENT o command not found: uvx

Tu cliente de IA no puede encontrar uvx. Usa la ruta completa en lugar de solo uvx:

# Find your full path (macOS/Linux):
which uvx
# Typically: /Users/YOUR_NAME/.local/bin/uvx
# Find your full path (Windows PowerShell):
Get-Command uvx | Select-Object -ExpandProperty Source
# Typically: C:\Users\YOUR_NAME\.local\bin\uvx.exe

Reemplaza "command": "uvx" con la ruta completa (por ejemplo, "command": "/Users/YOUR_NAME/.local/bin/uvx") en tu configuración.

uv --version da "command not found" justo después de instalar

El instalador actualiza ~/.local/bin pero tu sesión de Terminal actual aún no lo ve. Ejecuta:

source $HOME/.local/bin/env

Luego añádelo permanentemente:

echo 'source $HOME/.local/bin/env' >> ~/.zshrc

Autenticación fallida / archivo de credenciales no encontrado

Asegúrate de usar la ruta absoluta a tu archivo de credenciales — no una ruta relativa, no ~/. Ejemplo:

/Users/yourname/Documents/client_secrets.json   ✅
~/Documents/client_secrets.json                 ✅
client_secrets.json                              ❌

MCP solo funciona en la aplicación Claude Desktop, no en el sitio web

El servidor MCP se ejecuta localmente en tu máquina. Solo funciona en la aplicación Claude Desktop (descargada desde claude.ai/download), no en la interfaz del navegador de claude.ai.

Problemas de Configuración del Cliente de IA

  1. Asegúrate de que todas las rutas de archivo en tu configuración sean rutas absolutas correctas
  2. Cierra completamente (Cmd+Q) y vuelve a abrir la aplicación después de cualquier cambio de configuración — con solo cerrar la ventana no es suficiente
  3. Pide a tu asistente de IA que "llame a get_capabilities" — informará el estado exacto de autenticación y el error

Seguridad: Operaciones Destructivas

Por defecto, add_site, delete_site y delete_sitemap están deshabilitados. Para habilitarlos:

"GSC_ALLOW_DESTRUCTIVE": "true"

Despliegue Remoto y Docker (Avanzado)

La configuración estándar ejecuta el servidor localmente. Esta sección es solo para usuarios que quieran ejecutarlo en un servidor remoto o en un contenedor.

Transporte HTTP

MCP_TRANSPORT=sse MCP_HOST=0.0.0.0 MCP_PORT=3001 python gsc_server.py
VariablePredeterminadoDescripción
MCP_TRANSPORTstdioEstablecer en sse para uso en red/remoto
MCP_HOST127.0.0.1Host para enlazar
MCP_PORT3001Puerto para enlazar

Docker

docker build -t mcp-gsc .

docker run \
  -e MCP_TRANSPORT=sse \
  -e MCP_HOST=0.0.0.0 \
  -e MCP_PORT=3001 \
  -e GSC_CREDENTIALS_PATH=/app/credentials.json \
  -v /path/to/credentials.json:/app/credentials.json \
  -p 3001:3001 \
  mcp-gsc

Herramientas Relacionadas

Advanced GSC Visualizer — Una extensión de Chrome (más de 14,000 usuarios) con gráficos interactivos, exportación con un clic de hasta 25,000 filas, detección de canibalización de palabras clave y un asistente de IA — todo directamente dentro de Google Search Console. Creada por el mismo autor. Instalar desde Chrome Web Store →


Contribuciones

¿Encontraste un error o tienes una idea para mejorar? Abre un issue o envía un pull request en GitHub.


Licencia

Licencia MIT. Consulta el archivo LICENSE para más detalles.


Registro de Cambios

[0.3.3] — Julio 2026

  • Se fijó mcp[cli]>=1.3.0,<2.0.0. El SDK mcp 2.0.0 eliminó mcp.server.fastmcp, rompiendo todas las instalaciones nuevas de uvx con ModuleNotFoundError. Limitar por debajo de 2.0 restaura instalaciones funcionales. (Corrige #41)

[0.3.2] — Abril 2026

  • Flujo de navegador OAuth corregido para uvx — se eliminó el bloque isatty que impedía que la ventana del navegador OAuth se abriera al ejecutarse como subproceso MCP en macOS. OAuth + uvx ahora funciona sin configuración adicional.
  • Herramienta get_capabilities — devuelve todas las herramientas disponibles agrupadas por categoría más el estado de autenticación en vivo en una sola llamada.
  • Mejores mensajes de error de autenticación — todas las herramientas ahora te indican explícitamente que llames a reauthenticate cuando faltan credenciales o han expirado.
  • Descripción mejorada de list_properties — mejor descubrimiento semántico de herramientas en clientes que usan carga diferida de herramientas.

[0.3.1] — Abril 2026

  • Se corrigió list_properties que enmascaraba errores reales de autenticación; fallo rápido ante credenciales faltantes.

[0.3.0] — Abril 2026

  • Plugin de Cursor Marketplace con 4 habilidades SEO incluidas
  • Almacenamiento estable de tokens en el directorio de configuración del usuario de la plataforma (sobrevive a actualizaciones de uvx)
  • Salida JSON estructurada para todas las herramientas de datos
  • 39 pruebas unitarias

[0.2.2] — Abril 2026

  • Modo de seguridad para herramientas destructivas (deshabilitado por defecto)
  • Transporte HTTP/SSE para despliegues remotos
  • Dockerfile

[0.2.1] — Marzo 2026

  • Herramienta reauthenticate para cambiar de cuentas de Google
  • Se corrigió el fallo TypeError del sitemap
  • Se corrigieron los errores 404 de propiedades de dominio

[0.2.0] — Marzo 2026

  • dataState: "all" por defecto (coincide con el panel de GSC)
  • Parámetro flexible row_limit (hasta 500)
  • Filtrado multidimensional para análisis avanzados

[0.1.0] — Lanzamiento inicial

  • 19 herramientas que cubren gestión de propiedades, análisis de búsqueda, inspección de URL y gestión de sitemaps
  • Autenticación OAuth y de cuenta de servicio