SCMCP
SCMCP — MCP multiinquilino de Google Search Console
Un servidor MCP alojado que permite a cualquier número de usuarios conectar Claude a sus propios datos de Google Search Console, con análisis SEO personalizados que el GSC sin procesar no puede hacer: victorias rápidas, decaimiento de contenido, canibalización, valores atípicos de CTR, divisiones de marca, resúmenes de carpetas, clasificación de intención y correlación de actualizaciones de algoritmo.
Cada usuario inicia sesión con Google, genera tokens de acceso con ámbito y conecta Claude. Cada token solo puede leer los datos de su propietario. Todas las herramientas son de solo lectura.
Construido reutilizando el servidor MCP de SearchPulse.
Arquitectura
Google sign-in ──► NextAuth ──► Account (OAuth tokens, ENCRYPTED at rest)
│
Claude ──HTTP──► /api/mcp ──► token → userId (+ site scope) ──► tools ──► GSC API
│
IP + per-token rate limits · revocation · expiry · auditInicio de sesión: Google OAuth (
webmasters.readonly), sesiones como JWT firmados.Tokens MCP por usuario:
scmcp_+ 256 bits de entropía, almacenados solo como hash SHA-256. Múltiples tokens con nombre por usuario, cada uno opcionalmente con ámbito de sitio y con expiración, revocables individualmente, con auditoría de último uso/IP/recuento.Estado: Postgres mediante Prisma.
Related MCP server: GSC MCP Server v2 - Remote Edition
Endurecimiento de MCP
Medida | Dónde |
Tokens almacenados solo como hashes SHA-256 (entropía de 256 bits) |
|
Verificación previa de formato antes de cualquier acceso a la base de datos |
|
Los tokens revocados/expirados nunca se autentican |
|
Un 401 genérico para ausente/incorrecto/revocado/expirado (sin enumeración) |
|
Lista de sitios permitidos por token aplicada centralmente en cada llamada |
|
Límite de velocidad por IP + por token; respaldado por base de datos, degrada a un limitador en memoria por instancia si la base de datos está caída (no completamente abierto) |
|
La IP del cliente se toma solo de encabezados controlados por proxy + validada por IP, por lo que un |
|
Auditoría de uso (último uso, IP, recuento) |
|
Tokens OAuth de Google cifrados en reposo (AES-256-GCM); un fallo de descifrado devuelve null, nunca texto cifrado sin procesar |
|
Superficie de herramientas de solo lectura (sin herramientas de escritura) |
|
|
|
Autenticación por encabezado preferida; respaldo |
|
Verificación de mismo origen (CSRF) en creación/revocación de tokens + rutas de consola |
|
Configuración
1. Base de datos
Crea una base de datos Postgres (por ejemplo, el nivel gratuito de Neon) y copia su cadena de conexión.
2. Google Cloud
Google Cloud Console → crea/selecciona un proyecto.
Habilita las APIs → Google Search Console API.
Credenciales → Crear ID de cliente OAuth → Aplicación web.
URIs de redirección autorizadas:
http://localhost:3000/api/auth/callback/google(desarrollo)https://your-app.vercel.app/api/auth/callback/google(producción)
Pantalla de consentimiento de OAuth: Externa; agrega usuarios como usuarios de prueba (está bien para una aplicación privada y no verificada).
3. Configurar y ejecutar
npm install
cp .env.example .env.local # fill in all values
npm run db:push # create the tables
npm run devPágina de inicio: http://localhost:3000
Iniciar sesión: http://localhost:3000/login
Panel de control (tokens + área de pruebas): http://localhost:3000/dashboard
Endpoint MCP:
http://localhost:3000/api/mcp
Genera secretos con openssl rand -base64 32 (para NEXTAUTH_SECRET y ENCRYPTION_KEY).
Desplegar en Vercel + Neon
Haz push a un repositorio Git e Importa en Vercel. Agrega la integración de Neon (o pega una
DATABASE_URL).Configura las variables de entorno:
DATABASE_URL,NEXTAUTH_URL(tu URL de producción),NEXTAUTH_SECRET,GOOGLE_CLIENT_ID,GOOGLE_CLIENT_SECRET,ENCRYPTION_KEY.Ejecuta el esquema una vez contra la base de datos de producción:
npm run db:push(localmente con laDATABASE_URLde producción, o un trabajo único).Agrega la URI de redirección de producción en Google Cloud. Despliega.
Uso
Un usuario visita tu URL, inicia sesión con Google y aterriza en /dashboard.
Crean un token (opcionalmente con ámbito para sitios específicos / con expiración) y lo copian una vez.
Conectan Claude con el fragmento que muestra el panel:
claude mcp add --transport http scmcp "https://your-app.vercel.app/api/mcp" --header "Authorization: Bearer <TOKEN>"Luego pregunta: "¿Cuáles son mis victorias rápidas este mes para sc-domain:example.com?"
El panel también tiene un área de pruebas de herramientas (autenticado por sesión) para ejecutar cualquier herramienta contra tus propios datos sin abrir Claude.
Herramientas
API de GSC en vivo — list_gsc_properties · gsc_totals · gsc_top_queries · gsc_top_pages · gsc_performance_timeseries · gsc_compare_queries · gsc_compare_pages · gsc_page_queries · gsc_query_pages · gsc_breakdown · gsc_quick_wins · gsc_content_decay · gsc_cannibalization · gsc_new_lost_keywords · gsc_ctr_outliers · gsc_branded_split · gsc_folder_performance · gsc_query_intent · list_algorithm_updates
Exportación masiva de BigQuery (histórica, sin muestreo, sin límite de 1000 filas) — bq_status · bq_totals · bq_top_queries · bq_top_pages · bq_timeseries · bq_by_country · bq_by_device · bq_page_queries · bq_query_pages · bq_custom_query
Agrega más en src/lib/tools.ts / src/lib/tools-bq.ts — una entrada por herramienta; la aplicación de ámbito y ambos transportes lo recogen automáticamente.
Conector de BigQuery
La Exportación de datos masivos de Search Console transmite continuamente tus datos completos y sin muestreo de GSC a BigQuery. SCMCP consulta esa exportación para que Claude pueda obtener datos históricos/grandes más allá de los límites de la API en vivo.
Sin nuevos secretos. Las consultas se ejecutan con el propio token OAuth del usuario (SCMCP agrega el ámbito
bigquery.readonly) contra el propio proyecto de Google Cloud del usuario. No hay claves de cuenta de servicio que almacenar.Configuración (por usuario): en Search Console → Configuración → Exportación de datos masivos, apunta la exportación a un proyecto de GCP. Luego, en el panel de SCMCP → Analítica → BigQuery, ingresa tu ID de proyecto, conjunto de datos (comienza con
searchconsole) y ubicación. Debido a que el acceso a BigQuery es un ámbito nuevo, los usuarios existentes cierran sesión y vuelven a iniciarla una vez.Seguridad: cada consulta utiliza parámetros NOMBRADOS de BigQuery (seguros contra inyección), limita bytes facturados (
BQ_MAX_BYTES_BILLED, por defecto 10 GB) y respeta el ámbito de sitio de un token.bq_custom_queryejecuta un únicoSELECTde solo lectura y está deshabilitado en tokens con ámbito de sitio.
Pregunta a Claude: "Obtén los últimos 12 meses de consultas principales desde BigQuery para sc-domain:example.com."
Panel de analítica
/dashboard/analytics renderiza tus datos como gráficos (Recharts): tarjetas de métricas con deltas del período anterior, un gráfico de líneas de rendimiento de doble eje con un conmutador de métricas, tablas de páginas principales y consultas principales ordenables/buscables, y barras de país/dispositivo. Un conmutador de fuente cambia toda la vista entre la API de GSC en vivo y BigQuery. Está autenticado por sesión: no se necesita token MCP para ver tus propios datos.
Stack
Next.js 16 · NextAuth v5 (Google) · Prisma + Postgres · mcp-handler · @modelcontextprotocol/sdk · googleapis · zod.
This server cannot be installed
Maintenance
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
- AlicenseBqualityBmaintenanceConnects Google Search Console with Claude AI to enable SEO professionals to analyze their SEO data through natural language conversations, providing access to property information, search analytics, URL inspection, and sitemap management.1,349MIT
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Claude AI to Google Search Console with OAuth 2.0 authentication, enabling users to analyze search performance, inspect URLs, manage sitemaps, and export analytics data through natural language conversations.2
- AlicenseNot gradedqualityDmaintenanceConnects Google Search Console with Claude AI to analyze SEO data through natural language, enabling search analytics reporting, URL inspection, indexing status checks, sitemap management, and data visualization for SEO professionals.MIT
- AlicenseNot gradedqualityDmaintenanceEnables Claude to access Google Search Console data including search performance, URL indexation, sitemaps, and built-in SEO analysis tools such as trending queries, cannibalization detection, and traffic drop diagnostics.12311MIT
Related MCP Connectors
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Turn Search Console data into SEO actions, content, publishing, indexing, and AI insights.
Live SEO workflow tools for Claude Code, Codex, and AI agents.
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/abhilashst/scmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server