gsc-mcp-connector
gsc-mcp-connector
Servidor MCP de Google Search Console autoalojado, desplegable en Cloudflare Workers en 15 minutos. Conéctalo a ChatGPT, Claude o cualquier cliente compatible con MCP y consulta tus datos de GSC en lenguaje natural.
Qué te ofrece esto
Una vez desplegado, obtienes un endpoint MCP privado que expone 4 herramientas a tu asistente de IA:
list_sites— descubre cada propiedad accesible para el usuario autenticadoquery_search_analytics— clics, impresiones, CTR, posición, filtrable por consulta / página / país / dispositivo / apariencia de búsqueda / fechainspect_url— salida completa de la API de Inspección de URL (estado de indexación, canónica, móvil, AMP)list_sitemaps— cada sitemap enviado y su estado de procesamiento
Tú preguntas: "¿Cuáles son mis 50 consultas con la mayor pérdida de clics entre los últimos 28 días y los 28 días anteriores?" y el asistente obtiene los datos, calcula el delta y escribe el análisis. No más exportaciones SQL.
Related MCP server: Google Search Console MCP
Cómo funciona
ChatGPT/Claude ──OAuth──▶ Your Worker ──OAuth──▶ Google
│
└─ holds your Google refresh_token
(encrypted, in OAuth grant props)Dos cadenas OAuth:
Cliente MCP → Worker: ChatGPT/Claude realizan OAuth 2.1 + PKCE contra tu Worker. La interfaz de inicio de sesión solicita una "clave de acceso" estática que configuras en el momento del despliegue (la puerta del conector).
Worker → Google: después de verificar la clave de acceso, el usuario es redirigido a la pantalla de consentimiento de Google para otorgar
webmasters.readonly. El token de actualización resultante se almacena en la concesión OAuth; en cada llamada a la herramienta, el Worker renueva un token de acceso fresco y llama a GSC.
La cuenta de Google del usuario impulsa el acceso — sin cuenta de servicio, sin baile de gestión de usuarios de GSC, sin demoras de propagación de permisos.
Prerrequisitos
Elemento | Costo | ¿Requerido? |
ChatGPT Plus / Pro / Team o Claude.ai Pro / Team | $20/mes+ | Los conectores MCP personalizados están limitados a planes de pago. |
Cuenta de Cloudflare | El nivel gratuito es suficiente | Sí |
Proyecto de Google Cloud | Gratuito | Sí — para crear un Cliente OAuth |
Propiedad de Search Console verificada | Gratuito | Sí (ya la tienes) |
Node.js 20+ + CLI | Gratuito | Recomendado para los pasos de configuración de secretos |
El plan gratuito de Cloudflare Workers (100k solicitudes/día) es suficiente para uso SEO personal. No se necesita ningún plan pago de Cloudflare.
Inicio rápido (~15 min)
1. Desplegar el Worker
Haz clic en el botón Deploy to Cloudflare en la parte superior de este README. Cloudflare clona el repositorio en tu cuenta, instala las dependencias y te da una URL pública como https://gsc-mcp-connector.<tu-subdominio>.workers.dev.
Nota: en esta etapa, se te pedirán
MCP_BEARER_TOKEN,GOOGLE_OAUTH_CLIENT_IDyGOOGLE_OAUTH_CLIENT_SECRET. Aún no tienes los de Google: completaMCP_BEARER_TOKENcon cualquier cadena hexadecimal aleatoria por ahora (puedes cambiarla después) y pega cualquier cosa en los dos campos de Google. Los configuraremos correctamente en el paso 4.Si prefieres omitir el botón, clona el repositorio localmente, ejecuta
npm install, luegonpx wrangler deploy.
Después del despliegue, anota la URL de tu Worker. La necesitarás tanto en el paso 3 como en el paso 5.
2. Generar una clave de acceso del conector
Esta es una cadena aleatoria estática que sirve como puerta antes de la autenticación OAuth de Google. Cualquier persona que use el conector debe pegar esta cadena en la interfaz de inicio de sesión.
openssl rand -hex 32Guarda la salida — la configurarás como secreto y la usarás en ChatGPT/Claude.
3. Configurar Google Cloud (Cliente OAuth)
Sigue la guía paso a paso en docs/SETUP_GCP.md. Usa la URL de tu Worker del paso 1 en la URI de redirección autorizada. Obtendrás un ID de cliente y un Secreto de cliente.
Este es el paso más largo (~10 min la primera vez) pero solo lo haces una vez.
4. Configurar los secretos del Worker
npx wrangler secret put MCP_BEARER_TOKEN
# paste the value from step 2
npx wrangler secret put GOOGLE_OAUTH_CLIENT_ID
# paste the Client ID from step 3
npx wrangler secret put GOOGLE_OAUTH_CLIENT_SECRET
# paste the Client Secret from step 3O a través del panel de Cloudflare: Workers & Pages → tu worker → Settings → Variables and Secrets → agrega cada uno como tipo Secret.
Consejo — problema de codificación en Windows: si canalizas el contenido de un archivo (ej.
Get-Content | wrangler secret put) y ese archivo tiene una marca BOM UTF-8, la BOM termina en tu secreto y rompe el análisis JSON. El panel de Cloudflare owrangler secret putinteractivo (pegar en el prompt) evita esto por completo.
5. Conectar a ChatGPT (Plus/Pro/Team)
ChatGPT → Settings → Connectors → Add custom connector:
Name:
gscMCP Server URL:
https://YOUR-WORKER-URL/mcp(debe terminar con/mcp)Authentication:
OAuthMarca "I understand and want to continue"
Create
Aparece una ventana emergente que lleva a la interfaz de inicio de sesión de tu Worker. Pega tu MCP_BEARER_TOKEN → haz clic en Continue with Google → Google te pide que inicies sesión (usa la cuenta que posee tu propiedad de GSC) y otorgues webmasters.readonly → eres redirigido de vuelta a ChatGPT, el conector está activo.
En un nuevo chat, activa el conector gsc en la barra de herramientas, luego pregunta: "Lista mis sitios de Google Search Console". Deberías ver tus propiedades.
6. (Opcional) Conectar a Claude.ai (Pro/Team)
Settings → Integrations → Add custom integration → misma URL, mismo flujo.
Desarrollo local
git clone https://github.com/JuJu78/gsc-mcp-connector
cd gsc-mcp-connector
npm install
cp .dev.vars.example .dev.vars
# edit .dev.vars with your real Client ID + Client Secret + bearer token
npx wrangler devEl servidor de desarrollo se ejecuta en http://localhost:8787. Ten en cuenta que el desarrollo local no puede completar completamente el flujo OAuth de Google porque las URI de redirección de Google requieren HTTPS. Para una prueba completa de extremo a extremo, despliega en Cloudflare y prueba contra la URL de workers.dev.
Limitaciones
Solo lectura. Agregar operaciones de escritura (enviar sitemap, solicitar indexación) se omite por diseño: son riesgosas en un contexto de LLM. Abre un PR si las necesitas.
Inquilino único por diseño. Un operador despliega, una clave de acceso protege el conector, el acceso está vinculado a quien complete el flujo OAuth de Google. El estilo multi-usuario SaaS está fuera del alcance.
Consentimiento OAuth en modo Prueba te limita a 100 usuarios de prueba (más que suficiente para uso personal/equipo). Para una distribución más amplia, necesitarías enviar la aplicación para verificación de Google (
webmasters.readonlyes un ámbito "sensible", requiere revisión manual).Cuotas de API de GSC — 1200 consultas/min/proyecto, 30k/día. Suficiente para uso interactivo.
Rango de fechas — GSC devuelve los últimos 16 meses. Las fechas anteriores dan error.
Solución de problemas
Síntoma | Causa | Solución |
| La URI de redirección autorizada en GCP no coincide exactamente con lo que envía el Worker | Verifica que |
| La cuenta con la que iniciaste sesión no está en Usuarios de prueba de la pantalla de consentimiento OAuth | Agrega el Gmail en Pantalla de consentimiento OAuth → Audiencia → Usuarios de prueba |
| Concesión OAuth obsoleta de un intento anterior | Elimina el conector en ChatGPT y vuelve a crearlo |
| La concesión se creó antes de que desplegaras v0.4+ | Elimina el conector en ChatGPT/Claude y vuelve a crearlo |
|
| Reestablece el secreto mediante |
| La cuenta de Google autenticada no tiene propiedades de GSC (o cuenta incorrecta) | Verifica qué cuenta usaste en el paso de consentimiento de Google — debe poseer propiedades de GSC |
ChatGPT dice "no hay herramientas disponibles" | La URL no termina en | La URL del servidor debe ser |
Pila tecnológica
Cloudflare Workers + Durable Objects (a través del SDK
agents≥0.12)@cloudflare/workers-oauth-providerpara OAuth 2.1 + DCR + PKCE@modelcontextprotocol/sdkpara definiciones de herramientasEspacio de nombres KV
OAUTH_KVpara estado OAuthFlujo OAuth 2.0 de Google firmado de forma nativa mediante Web Crypto API (sin dependencias de Node)
Créditos
Construido por Julien Gourdon — consultor SEO explorando la intersección entre búsqueda e IA.
Licencia
MIT — ver LICENSE.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityBmaintenanceSelf-hosted MCP server that exposes Google Search Console tools (list sites, query analytics, inspect URL, list sitemaps) via natural language to AI assistants like ChatGPT and Claude.MIT
- Alicense-qualityAmaintenanceOAuth-protected Google Search Console MCP for analytics, URL inspection, sitemap management, indexing requests, and SEO diagnostics. Open-source Cloudflare Workers implementation with 17 tools.145MIT
- Alicense-qualityCmaintenanceSelf-hosted MCP server that connects Google Search Console to AI assistants, enabling natural language queries about search analytics, sitemaps, and URL inspection data.MIT
- Alicense-qualityCmaintenanceSelf-hosted Google Search Console MCP server deployable to Cloudflare Workers, allowing natural language queries of GSC data via ChatGPT, Claude, or any MCP-capable client.MIT
Related MCP Connectors
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
Hosted Google Calendar MCP server for AI agents. No self-hosting or Google Cloud setup.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pradeepoct/gsc-mcp-connector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server