Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Google Search Console

de ni-cversión 0.3.0i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.ni-c/google-search-console-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

MCP server for Google Search Console: properties, sitemaps, search analytics and URL inspection

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Búsqueda y memoria de IA
  • Debes completar: GSC_SERVICE_ACCOUNT_KEY, GSC_CLIENT_SECRET, GSC_REFRESH_TOKEN

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: GSC_SERVICE_ACCOUNT_KEY, GSC_SERVICE_ACCOUNT_KEY_FILE, GSC_CLIENT_ID, GSC_CLIENT_SECRET, GSC_REFRESH_TOKEN, GOOGLE_APPLICATION_CREDENTIALS, GSC_SITE_URL, GSC_ALLOWED_SITES, GSC_READ_ONLY, GSC_ALLOW_TOOLS, GSC_DENY_TOOLS

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "google-search-console": {
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/google-search-console-mcp"
      ],
      "env": {
        "GSC_SERVICE_ACCOUNT_KEY": "your-value",
        "GSC_SERVICE_ACCOUNT_KEY_FILE": "your-value",
        "GSC_CLIENT_ID": "your-value",
        "GSC_CLIENT_SECRET": "your-value",
        "GSC_REFRESH_TOKEN": "your-value",
        "GOOGLE_APPLICATION_CREDENTIALS": "your-value",
        "GSC_SITE_URL": "your-value",
        "GSC_ALLOWED_SITES": "your-value",
        "GSC_READ_ONLY": "your-value",
        "GSC_ALLOW_TOOLS": "your-value",
        "GSC_DENY_TOOLS": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add google-search-console --env GSC_SERVICE_ACCOUNT_KEY=your-value --env GSC_SERVICE_ACCOUNT_KEY_FILE=your-value --env GSC_CLIENT_ID=your-value --env GSC_CLIENT_SECRET=your-value --env GSC_REFRESH_TOKEN=your-value --env GOOGLE_APPLICATION_CREDENTIALS=your-value --env GSC_SITE_URL=your-value --env GSC_ALLOWED_SITES=your-value --env GSC_READ_ONLY=your-value --env GSC_ALLOW_TOOLS=your-value --env GSC_DENY_TOOLS=your-value -- npx -y @ni-c/google-search-console-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "google-search-console": {
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/google-search-console-mcp"
      ],
      "env": {
        "GSC_SERVICE_ACCOUNT_KEY": "your-value",
        "GSC_SERVICE_ACCOUNT_KEY_FILE": "your-value",
        "GSC_CLIENT_ID": "your-value",
        "GSC_CLIENT_SECRET": "your-value",
        "GSC_REFRESH_TOKEN": "your-value",
        "GOOGLE_APPLICATION_CREDENTIALS": "your-value",
        "GSC_SITE_URL": "your-value",
        "GSC_ALLOWED_SITES": "your-value",
        "GSC_READ_ONLY": "your-value",
        "GSC_ALLOW_TOOLS": "your-value",
        "GSC_DENY_TOOLS": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "google-search-console": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ni-c/google-search-console-mcp"
      ],
      "env": {
        "GSC_SERVICE_ACCOUNT_KEY": "your-value",
        "GSC_SERVICE_ACCOUNT_KEY_FILE": "your-value",
        "GSC_CLIENT_ID": "your-value",
        "GSC_CLIENT_SECRET": "your-value",
        "GSC_REFRESH_TOKEN": "your-value",
        "GOOGLE_APPLICATION_CREDENTIALS": "your-value",
        "GSC_SITE_URL": "your-value",
        "GSC_ALLOWED_SITES": "your-value",
        "GSC_READ_ONLY": "your-value",
        "GSC_ALLOW_TOOLS": "your-value",
        "GSC_DENY_TOOLS": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • GSC_SERVICE_ACCOUNT_KEY secreto env
    Service account key as JSON, or base64-encoded JSON. One of the three credential options.
  • GSC_SERVICE_ACCOUNT_KEY_FILE env
    Path to a service account key file. Alternative to GSC_SERVICE_ACCOUNT_KEY.
  • GSC_CLIENT_ID env
    OAuth2 client id. Use together with GSC_CLIENT_SECRET and GSC_REFRESH_TOKEN.
  • GSC_CLIENT_SECRET secreto env
    OAuth2 client secret. All three OAuth2 variables are required together.
  • GSC_REFRESH_TOKEN secreto env
    OAuth2 refresh token. All three OAuth2 variables are required together.
  • GOOGLE_APPLICATION_CREDENTIALS env
    Path to application default credentials, used when no GSC_ credential is set.
  • GSC_SITE_URL env
    Default property, e.g. sc-domain:example.com or https://example.com/ — makes site_url optional
  • GSC_ALLOWED_SITES env
    Comma-separated properties this server may touch; anything else is refused
  • GSC_READ_ONLY env
    Set to true to register only the read tools (default: false)
  • GSC_ALLOW_TOOLS env
    Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
  • GSC_DENY_TOOLS env
    Comma-separated tool names or list_* prefixes to remove from whatever the allow list left

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub ni-c, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Búsqueda y memoria de IAi

  • Más estrellas que el 0% de los otros 5689 servidores de esta categoría
  • Publicado en el registro más recientemente que el 40% de los otros 5689 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 5689 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Google Search Console?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: GSC_SERVICE_ACCOUNT_KEY, GSC_CLIENT_SECRET, GSC_REFRESH_TOKEN

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.3.0) llegó al registro hace 2 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js, Docker en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Context7, Codebase Memory, Exa

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Context7

Up-to-date docs for AI agents

de upstashMuy usado↓ 972,7 mil/sem★ 64,2 milActualizado anteayer

Computadora o nube

Codebase Memory

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

de DeusDataMuy usado↓ 18 mil/sem★ 48,1 milActualizado hace 22 días

Se ejecuta en tu computadora

Exa

Connect AI agents to Exa for web search, content fetching, and multi-step research.

de exa-labsEn crecimiento★ 5,2 milActualizado hace 2 meses

Se ejecuta en la nube✓ exa.ai

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

google-search-console-mcp

A Model Context Protocol (MCP) server for Google Search Console, the service that tells you how Google sees your site — this reads it and sets it up.

Lets MCP clients like Claude Code, Claude Desktop or Codex create a property and prove ownership of it, submit and refresh sitemaps, ask what any URL's index status is, and query the whole Performance report — with the irreversible operations put to a person first and the write tools switchable off entirely.

21 tools is the ceiling, not the floor: GSC_ALLOW_TOOLS=essential registers a curated five instead, and a model picks the right tool far more reliably from five than from 21 — see choosing which tools load.

What makes it different

It can actually create a working property. Getting one takes four steps in a fixed order — obtain a verification token, place it in DNS or on the page, verify ownership, add the property — and nothing in Google's APIs enforces that order. Calling sites.add first _succeeds_ and leaves a property that appears in every listing and answers 403 for every piece of data, which looks like a permissions bug and is not. setup_site reports which step is missing and hands over the exact DNS record to paste. Servers that expose sites.add alone can only add properties somebody already verified by hand.

Three APIs, not one. Search Console v1 is ten methods and does not include ownership. Site Verification is a separate service with its own scope, its own host and an incompatible way of naming the same site — sc-domain:example.com there is {type: INET_DOMAIN, identifier: example.com}, and passing the property spelling straight through is accepted and verifies a domain literally called sc-domain:example.com. The Indexing API is a third. All three are covered, and the translation between them is in src/site-identity.ts.

The numbers are right. Search analytics come back as a table with totals where CTR is computed from the totals rather than averaged across rows, and average position is weighted by impressions. Unweighted, a thousand rare queries ranking 80th drag a property's real average of 12 up into the nineties. The result also says plainly that the rows do not sum to the property total when the query dimension is used — Google withholds rare queries for anonymity, commonly a third or more of all impressions, and a total printed without that caveat is a number people will quote.

It knows where these APIs are sharp. The trailing slash on https://example.com/ is mandatory and its absence is a 403; a domain property and a URL-prefix property for the same site are different properties with different data, so a bare hostname is refused rather than guessed at; days are counted in Pacific Time, so a last7days computed in UTC asks for a day Google has no data for; the hour dimension silently returns nothing without dataState: HOURLY_ALL; Google omits empty arrays entirely, so a fresh credential's property list arrives as {}; and the Indexing API returns 200 for any owned URL while only acting on JobPosting and BroadcastEvent pages.

Requirements

  • Node.js 24 or newer (or the container image)
  • A Google credential — a service account key, an OAuth2 refresh token, or application default credentials
  • The APIs you intend to use enabled in a Google Cloud project: Search Console API, and separately Site Verification API and Indexing API

Configuration

The server starts without credentials and lists its tools; every call then fails with setup instructions rather than a Google error. That is deliberate, so registries and sandbox inspectors can introspect it.

VariableDescription
GSC_SERVICE_ACCOUNT_KEYService account key as raw JSON, or base64-encoded JSON
GSC_SERVICE_ACCOUNT_KEY_FILEPath to a service account key file. Alternative to the above — setting both is an error
GSC_CLIENT_IDOAuth2 client id
GSC_CLIENT_SECRETOAuth2 client secret
GSC_REFRESH_TOKENOAuth2 refresh token. All three OAuth2 variables are required together
GOOGLE_APPLICATION_CREDENTIALSApplication default credentials, used when no GSC_ credential is set
GSC_SITE_URLDefault property, e.g. sc-domain:example.com or https://example.com/. Makes site_url optional everywhere
GSC_ALLOWED_SITESComma-separated properties this server may touch at all; anything else is refused
GSC_READ_ONLYtrue (or 1/yes) registers only the twelve read tools
GSC_ALLOW_TOOLSComma-separated tool names, a list_* prefix, or essential
GSC_DENY_TOOLSSame shape, subtracted from whatever the allow list left
ELICITATIONfalse replaces the approval dialog with the two-call token. Not prefixed

Credentials are tried in that order — explicit beats ambient. A partial OAuth triple is a startup error rather than a reason to fall through to application default credentials, because that fallback would quietly run the server as whatever account the machine is logged into.

Which credential

A service account is the recommended one: it sees only the properties you explicitly add it to, and revoking it does not touch anyone's Google account. Add its client_email under Settings → Users and permissions in Search Console, or give it ownership with verify_site. Note that the Indexing API requires owner, not full user.

An OAuth2 refresh token acts as the person who consented and sees everything they see. Its scopes were fixed at consent time and cannot be widened later.

Choosing which tools load

Every visible tool costs context on every request, and a model picks the right one far more reliably from five than from 21. Two variables narrow the list:

GSC_ALLOW_TOOLS=essential          # the curated five

GSC_ALLOW_TOOLS='list_*,get_site' # exact names, or one trailing * GSC_DENY_TOOLS='delete_*' # subtracted from whatever allow left

essential is list_sites, get_site, list_sitemaps, query_search_analytics and inspect_url — everything needed to look at a property, and nothing that changes it.

An entry that matches no tool stops the server with the list of real names. An ignored typo would otherwise leave a tool missing from tools/list with nothing pointing at the cause, and nobody traces an absence back to an environment variable.

If you run several of these servers at once, mcp-hub is the other answer — its /hub endpoint replaces every server's tools with six meta-tools.

Narrowing the list also narrows the credential: the OAuth scopes this server requests are derived from the tools that are actually registered, so a server denied the Indexing tools never asks for the Indexing scope.

Installation

Claude Code
claude mcp add google-search-console -- npx -y @ni-c/google-search-console-mcp
Claude Desktop
{

"mcpServers": { "google-search-console": { "command": "npx", "args": ["-y", "@ni-c/google-search-console-mcp"], "env": { "GSC_SERVICE_ACCOUNT_KEY_FILE": "/path/to/key.json", "GSC_SITE_URL": "sc-domain:example.com" } } } }

Codex
[mcp_servers.google-search-console]

command = "npx" args = ["-y", "@ni-c/google-search-console-mcp"]

[mcp_servers.google-search-console.env] GSC_SERVICE_ACCOUNT_KEY_FILE = "/path/to/key.json" GSC_SITE_URL = "sc-domain:example.com"

Docker
docker run --rm -i \

-v /path/to/key.json:/key.json:ro \ -e GSC_SERVICE_ACCOUNT_KEY_FILE=/key.json \ -e GSC_SITE_URL=sc-domain:example.com \ ghcr.io/ni-c/google-search-console-mcp

Through mcp-hub

A client that cannot spawn a local process — ChatGPT connectors, Claude on the web, Cursor, LibreChat — reaches google-search-console-mcp through mcp-hub: one container serves many stdio MCP servers over Streamable HTTP, with an OAuth 2.1 login behind a single password and long-lived tokens for the clients that cannot do OAuth. Its /hub endpoint puts every server behind six meta-tools, so one connector reaches all of them without N×tool schemas in the model's context, and it speaks both protocol revisions — a question this server asks travels through it to the person at the far end.

Its /config/mcp.json uses Claude Code's format, so the entry is the one you already have:

{

"mcpServers": { "google-search-console": { "command": "npx", "args": ["-y", "@ni-c/google-search-console-mcp"], "env": { "GSC_SERVICE_ACCOUNT_KEY": "…", "GSC_SITE_URL": "sc-d

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx