search-console-mcp
search-console-mcp
Servidor MCP para Google Search Console que expone la Search Console API oficial como herramientas para agentes de IA.
Su enfoque es el rendimiento de búsqueda y la salud del índice: consultar clics, impresiones, CTR y posición por consulta, página, país, dispositivo o fecha; comprobar si una URL está indexada y por qué no, y gestionar los sitemaps y las propiedades de una cuenta.
Lo que deliberadamente no hace: no solicita la (re)indexación de URLs — la Indexing API independiente solo admite páginas de ofertas de empleo y emisiones en directo —, no verifica la propiedad de un sitio (un propietario debe añadir la cuenta de servicio a cada propiedad) y no accede a datos de Google Analytics (para eso sirve la Analytics Data API, que no está relacionada).
Los borrados son opt-in.
delete_sitemapydelete_sitesolo se registran cuandoGOOGLE_SEARCH_CONSOLE_ALLOW_DESTRUCTIVEestá establecida; ver Configuración.
Instalación
claude mcp add search-console \
-e GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
-e GOOGLE_SEARCH_CONSOLE_SITE_URL=https://example.com/ \
-- npx -y @orellbuehler/search-console-mcpLos parámetros -e deben aparecer antes del separador --; todo lo que vaya después de -- se pasa al proceso
del servidor en lugar de leerse como configuración.
Related MCP server: Google Search Console MCP Server
Obtención de una clave de cuenta de servicio
En la consola de Google Cloud, selecciona o crea un proyecto y habilita la Google Search Console API.
Ve a IAM y administración → Cuentas de servicio → Crear cuenta de servicio. Puedes omitir los pasos opcionales de "conceder acceso"; los permisos de Search Console se conceden por separado, no mediante roles de IAM de Cloud.
Abre la nueva cuenta de servicio, ve a la pestaña Claves y elige Añadir clave → Crear clave nueva → JSON. El archivo se descarga una sola vez y no se puede volver a recuperar.
En Search Console, abre la propiedad, ve a Configuración → Usuarios y permisos → Añadir usuario y pega la dirección de correo de la cuenta de servicio (
name@project-id.iam.gserviceaccount.com). Concede:Restringido o Completo para las herramientas de lectura (analytics, sitemaps, inspección de URLs)
Completo para
submit_sitemapydelete_sitemap
Repite el paso 4 con cada propiedad que el servidor deba ver: una cuenta de servicio no puede verificar propiedades por sí misma.
Haz que
GOOGLE_SERVICE_ACCOUNT_KEY_PATHapunte al archivo JSON descargado.
Trata la clave JSON como una contraseña: conlleva todos los permisos que hayas concedido y no tiene un segundo factor
delante. Mantenla fuera del repositorio y plantéate aplicar chmod 600.
Configuración
Variable | Obligatoria | Descripción |
| una | Ruta al archivo JSON de la cuenta de servicio descargado |
| una de las | La clave JSON de la cuenta de servicio en línea, como cadena JSON cruda |
| no | Propiedad por defecto, para que las herramientas puedan omitir |
| no | Establecer como |
Una propiedad se identifica bien como propiedad de prefijo de URL como https://example.com/ (el protocolo
y la barra final cuentan; https://example.com/ y http://example.com/ son propiedades distintas), bien como
propiedad de dominio como sc-domain:example.com, que cubre todos los subdominios y protocolos. Usa la forma
concreta con la que la propiedad se añadió a Search Console; list_sites muestra las cadenas exactas.
Uso con Claude Code
{
"mcpServers": {
"search-console": {
"command": "npx",
"args": ["-y", "@orellbuehler/search-console-mcp"],
"env": {
"GOOGLE_SERVICE_ACCOUNT_KEY_PATH": "/path/to/service-account.json",
"GOOGLE_SEARCH_CONSOLE_SITE_URL": "https://example.com/"
}
}
}
}Ejemplos de prompts
"¿Cuáles son mis consultas de búsqueda principales de este mes?"
"¿Qué páginas reciben más clics de Google y cómo ha cambiado eso respecto a los últimos 28 días?"
"Mostrar consultas que contengan 'pricing' en las que aparezcamos por debajo de la posición 10: candidatas claras."
"¿Cuánto de nuestro tráfico es móvil frente a escritorio?"
"Representar gráficamente nuestros clics e impresiones diarios de los últimos tres meses."
"¿Qué países obtienen impresiones de nosotros pero casi ningún clic?"
"¿Está indexada https://example.com/blog/launch? Si no, ¿por qué?"
"Lista nuestros sitemaps y dime si alguno tiene errores o avisos."
"Vuelve a enviar el sitemap después de la restructuración de ayer."
"¿Qué páginas posicionadas para 'mcp server' compiten entre sí?"
"Compara nuestro tráfico de Discover con el de búsqueda web de este trimestre."
Herramientas
Analítica de búsqueda
Herramienta | Descripción |
| Consulta de rendimiento completa: cualquier dimensión, filtros, regex, tipo de búsqueda, paginación de hasta 25 000 filas |
| Principales consultas de búsqueda por clics, opcionalmente restringidas a una página, país o dispositivo |
| Principales páginas por clics, opcionalmente restringidas a un fragmento de consulta, país o dispositivo |
Sitemaps
Herramienta | Descripción |
| Lista los sitemaps enviados, con estado, errores, avisos y recuento de URLs indexadas |
| Obtiene del estado de procesamiento y el contenido de un sitemap |
| Envía un sitemap nuevo o vuelve a enviar uno ya existente para reprocesarlo |
| Elimina un sitemap de Search Console (opt-in mediante |
Sitios
Herramienta | Descripción |
| Lista todas las propiedades que pueda acceder la cuenta de servicio, con niveles de permiso |
| Obtiene el nivel de permiso de una propiedad |
| Añade a la cuenta una propiedad ya verificada |
| Elimina una propiedad de la vista de la cuenta (opt-in mediante |
Inspección de URLs
Herramienta | Descripción |
| Estado de indexación de una URL en Google: veredicto, cobertura, canónicos, último rastreo, resultados enriquecidos, robots |
Notas y avisos
Los datos de rendimiento tienen un desfase de unos 2–3 días. Las herramientas de conveniencia ajustan por defecto su rango de fechas a 3 días antes;
data_state: "all"incluye datos recientes pero posiblemente incompletos.Retención de 16 meses. Las consultas anteriores a ese rango no devuelven filas.
Filtrado por privacidad. Las filas de consultas poco frecuentes se omiten, por lo que sumar las filas por consulta da un total menor que el real; se debe consultar sin dimensiones para obtener totales exactos.
25 000 filas por llamada. Hay que paginar con
start_row; una respuesta con menos filas quelimites la última página.La cuota de inspección de URLs es de unas 2 000 llamadas al día por propiedad y 600 por minuto: inspecciona de forma selectiva, no masiva.
La dimensión
hourrequieredata_state: "hourly_all"y solo cubre los últimos 10 días sbaya.**Tus datos de búsqueda llegan al LLM.**Todo lo que devuelve una herramienta se convierte en el contexto del modelo; no conectes propiedades cuyos datos no deban salir de tu entorno.
Desarrollo
npm install
npm run build # tsc -p tsconfig.build.json -> dist/
npm test # vitest run
npm run lint # eslint src
npm run typecheck # tsc --noEmit
npm run format # prettier --write .Haz una prueba de humo del servidor construido contra una propiedad real:
GOOGLE_SERVICE_ACCOUNT_KEY_PATH=/path/to/service-account.json \
GOOGLE_SEARCH_CONSOLE_SITE_URL=https://example.com/ \
npx @modelcontextprotocol/inspector node dist/index.jsCI / Publicación
El CI ejecuta format:check, lint, typecheck, test y build en Node.js 20 y 22. La publicación se realiza
mediante el lanzamiento de GitHub con npm trusted publishing (OIDC, sin testigos):
npm version patch
git push --follow-tags
gh release create "v$(node -p "require('./package.json').version")" --generate-notesLicencia
MIT © Orell Bühler
This server cannot be deployed
Maintenance
Related MCP Connectors
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Google Search Console in your AI: overview, opportunities, index gaps, page checks, long history.
SEO rankings and traffic from Google Search Console for AI assistants, read-only
Related MCP Servers
- AlicenseAqualityAmaintenanceProvides AI agents with read-only access to Google Search Console data, including search analytics, index coverage, and sitemap status. It enables users to query clicks, impressions, and ranking performance or check URL indexing status through natural language.494 npm10MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query Google Search Console data including search analytics, URL inspection, sitemap management, and site performance monitoring, with per-user OAuth authentication.-
- AlicenseAqualityCmaintenanceEnables AI assistants to query and manage Google Search Console data, including search analytics, URL indexing status, and sitemap management, for SEO and LLMO analysis directly from a conversation.154,526 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to analyze Google Search Console SEO data through natural language, including search analytics, URL inspection, sitemap management, and property management.21MIT