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
mcp2.0 — se fijómcp[cli]<2.0.0. El SDK demcp2.0.0 (publicado el 28-07-2026) eliminó el módulomcp.server.fastmcp, por lo que cada instalación nueva deuvx mcp-search-consolefallaba al iniciar conModuleNotFoundError: 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
isattyque 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 conuvx, sin necesidad de ejecución manual en terminal. - Herramienta
get_capabilitiesañ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
| Herramienta | Qué hace | Qué necesitas proporcionar |
|---|---|---|
get_capabilities | Enumera todas las herramientas y muestra el estado de autenticación — llámala primero si no estás seguro | Nada |
list_properties | Muestra todas tus propiedades de GSC | Nada |
get_site_details | Detalles sobre un sitio específico | URL del sitio |
get_search_analytics | Principales consultas y páginas con clics, impresiones, CTR, posición | URL del sitio, período de tiempo |
get_performance_overview | Resumen del rendimiento del sitio | URL del sitio, período de tiempo |
compare_search_periods | Compara el rendimiento entre dos períodos de tiempo | URL del sitio, dos rangos de fechas |
get_search_by_page_query | Términos de búsqueda que generan tráfico a una página específica | URL del sitio, URL de la página |
get_advanced_search_analytics | Analítica con filtros por país, dispositivo, consulta, página | URL del sitio |
inspect_url_enhanced | Estado detallado de rastreo/indexación para una URL | URL del sitio, URL de la página |
batch_url_inspection | Inspecciona hasta 10 URLs a la vez | URL del sitio, lista de URLs |
check_indexing_issues | Comprueba múltiples URLs para detectar problemas de indexación | URL del sitio, lista de URLs |
get_sitemaps | Enumera todos los sitemaps de un sitio | URL del sitio |
list_sitemaps_enhanced | Información detallada del sitemap, incluidos errores y advertencias | URL del sitio |
manage_sitemaps | Enviar o eliminar sitemaps | URL del sitio, acción |
reauthenticate | Volver 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)
- Ve a Google Cloud Console y crea o selecciona un proyecto
- Habilita la API de Search Console
- Ve a Credenciales → Crear credenciales → ID de cliente OAuth
- Configura la pantalla de consentimiento OAuth, selecciona Aplicación de escritorio, haz clic en Crear
- 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)
- Ve a Google Cloud Console y crea o selecciona un proyecto
- Habilita la API de Search Console
- Ve a Credenciales → Crear credenciales → Cuenta de servicio
- Ve a la pestaña Claves → Añadir clave → Crear clave nueva → JSON → Descargar
- Guarda el archivo en un lugar permanente (por ejemplo,
~/Documents/service_account.json) - 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
uven~/.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 uvxen Terminal después de instalar uv (normalmente/Users/YOUR_NAME/.local/bin/uvx). En Windows, ejecutaGet-Command uvx | Select-Object -ExpandProperty Sourceen PowerShell (owhere uvxen cmd) — normalmente esC:\Users\YOUR_NAME\.local\bin\uvx.exe. Reemplaza/FULL/PATH/TO/uvxen 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 despawn 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
| Variable | Requerida | Predeterminado | Descripción |
|---|---|---|---|
GSC_OAUTH_CLIENT_SECRETS_FILE | Solo OAuth | — | Ruta absoluta a tu JSON de secretos de cliente OAuth. Siempre requerida cuando se usa uvx. |
GSC_CREDENTIALS_PATH | Solo cuenta de servicio | — | Ruta absoluta a tu clave JSON de cuenta de servicio. Siempre requerida cuando se usa uvx. |
GSC_SKIP_OAUTH | No | false | Establécelo en "true" para forzar la autenticación de cuenta de servicio y omitir OAuth por completo |
GSC_DATA_STATE | No | "all" | "all" coincide con el panel de GSC. "final" devuelve solo datos confirmados (retraso de 2 a 3 días). |
GSC_ALLOW_DESTRUCTIVE | No | false | Establé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:
| Habilidad | Cómo invocarla | Qué 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
| Herramienta | Prompt 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
- Asegúrate de que todas las rutas de archivo en tu configuración sean rutas absolutas correctas
- 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 - 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
| Variable | Predeterminado | Descripción |
|---|---|---|
MCP_TRANSPORT | stdio | Establecer en sse para uso en red/remoto |
MCP_HOST | 127.0.0.1 | Host para enlazar |
MCP_PORT | 3001 | Puerto 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 SDKmcp2.0.0 eliminómcp.server.fastmcp, rompiendo todas las instalaciones nuevas deuvxconModuleNotFoundError. 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
isattyque impedía que la ventana del navegador OAuth se abriera al ejecutarse como subproceso MCP en macOS. OAuth +uvxahora 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
reauthenticatecuando 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_propertiesque 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
reauthenticatepara 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