protogrid

Search / io.github.sonnivasquez/gsc-mcp

Google Search Console MCP

L0· runs locally

Local, read-only Google Search Console MCP server. Quick Connect needs no Cloud project.

v1.1.0 · active · repository · website · descriptor JSON · versions

Runs on your machine: something must execute the package.Only local packages are published (npm, PyPI, OCI, …). The registry never executes them, so tools are unknown until you run it.
Quality–new
Trust96of 100
Packages1
Tools seen0

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "gsc-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@sonnivasquez/[email protected]"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRET": "${GSC_OAUTH_CLIENT_SECRET}"
      }
    }
  }
}
claude mcp add gsc-mcp -e "GSC_OAUTH_CLIENT_SECRET=${GSC_OAUTH_CLIENT_SECRET}" -- npx -y @sonnivasquez/[email protected]
[mcp_servers.gsc-mcp]
command = "npx"
args = ["-y", "@sonnivasquez/[email protected]"]
env = { "GSC_OAUTH_CLIENT_SECRET" = "${GSC_OAUTH_CLIENT_SECRET}" }
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "gsc-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@sonnivasquez/[email protected]"
      ],
      "enabled": true,
      "environment": {
        "GSC_OAUTH_CLIENT_SECRET": "{env:GSC_OAUTH_CLIENT_SECRET}"
      }
    }
  }
}
{
  "mcpServers": {
    "gsc-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@sonnivasquez/[email protected]"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRET": "${GSC_OAUTH_CLIENT_SECRET}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=gsc-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzb25uaXZhc3F1ZXovZ3NjLW1jcEAxLjEuMCJdLCJlbnYiOnsiR1NDX09BVVRIX0NMSUVOVF9TRUNSRVQiOiIke0dTQ19PQVVUSF9DTElFTlRfU0VDUkVUfSJ9fQ%3D%3D"
}
{
  "servers": {
    "gsc-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@sonnivasquez/[email protected]"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRET": "${GSC_OAUTH_CLIENT_SECRET}"
      }
    }
  }
}
{
  "mcpServers": {
    "gsc-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@sonnivasquez/[email protected]"
      ],
      "env": {
        "GSC_OAUTH_CLIENT_SECRET": "${GSC_OAUTH_CLIENT_SECRET}"
      }
    }
  }
}
extensions:
  "gsc-mcp":
    enabled: true
    name: "gsc-mcp"
    type: stdio
    cmd: "npx"
    args:
      - "-y"
      - "@sonnivasquez/[email protected]"
    envs:
      "GSC_OAUTH_CLIENT_SECRET": "${GSC_OAUTH_CLIENT_SECRET}"
    timeout: 300

Placeholders to fill from your own secret store: ${GSC_OAUTH_CLIENT_SECRET}. The registry never accepts secret values.

This is a local package: the command runs on your machine.

Quality – / 100new

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependencies67 · weight 15
  • fail
    deps.known_vulns1 advisory to act on (malicious, or rated high or critical with a fix available): GHSA-mrhx-c7xc-m3w5 in [email protected] (direct, fixed in 4.6.6); 2 more of lower severity or without a fix
  • pass
    deps.mcp_sdk_version@modelcontextprotocol/sdk 1.32.2, no known advisory
  • pass
    deps.resolvable@sonnivasquez/[email protected] resolved: 190 packages

Tool list unknown · checked 2026-11-07 18:01 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance90
livenessn/a
freshness100
hygiene100

+repository +namespace-matches-repo +website ~liveness-unmeasured +updated-3d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

@sonnivasquez/[email protected] npm189 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.32.2 · advisories checked 2026-11-07

advisoryseveritypackagefixed in
GHSA-mrhx-c7xc-m3w5Zod can exhaust memory while validating oversized constrained collectionshigh[email protected]directfixed in 4.6.6
GHSA-3g3m-2fjr-6pw4Glob: AbortSignal cancellation bypass allows post-timeout filesystem traversalmoderate[email protected]indirectfixed in 14.0.2
GHSA-g3hv-75wg-m249minimatch has potential denial of service via globparts amplificationmoderate[email protected]indirectfixed in 11.0.1

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

packageregistryversionruntimesecrets
@sonnivasquez/gsc-mcpnpm1.1.0–GSC_OAUTH_CLIENT_SECRET

Tools (0)

No tools observed. Local packages are never executed by the registry.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.sonnivasquez/gsc-mcp",
  "title": "Google Search Console MCP",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "version": "1.1.0",
  "packages": [
    {
      "version": "1.1.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "@sonnivasquez/gsc-mcp",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "GSC_AUTH_MODE",
          "format": "string",
          "choices": [
            "oauth",
            "service_account"
          ],
          "description": "oauth or service_account. Unset defaults to service_account. Set oauth for Quick Connect or your own OAuth client."
        },
        {
          "name": "GSC_ACCESS_MODE",
          "format": "string",
          "choices": [
            "readonly",
            "full"
          ],
          "description": "readonly or full. full enables gsc_submit_url, gsc_submit_batch, and gsc_submit_sitemap. When unset, legacy GSC_SCOPES and GSC_ENABLE_WRITE apply and writes stay off unless both allow them. Setup refuses full access for Quick Connect."
        },
        {
          "name": "GSC_SITE_URLS",
          "format": "string",
          "description": "Property allowlist. JSON string array of exact Search Console property ids, a legacy comma-separated list, or all alone (or JSON [\"all\"]) for every current and future property. Property-scoped tools need an allowlist."
        },
        {
          "name": "GSC_KEY_FILE",
          "format": "filepath",
          "description": "Path to a service account JSON key. Required when GSC_AUTH_MODE is service_account, which is the default mode."
        },
        {
          "name": "GSC_DATA_DIR",
          "format": "filepath",
          "description": "Local state directory for OAuth tokens, datasets and opt-in audit history. Default is ~/.gsc-mcp."
        },
        {
          "name": "GSC_EXPORTS",
          "format": "string",
          "description": "Set to 1 to allow gsc_export_dataset and saved gsc_generate_report files on this machine. Any other value keeps local export disabled."
        },
        {
          "name": "GSC_HISTORY",
          "format": "string",
          "description": "Set to 1 for explicit local gsc_change_impact history actions. Independent of exports; no scheduler or notifications."
        },
        {
          "name": "GSC_OAUTH_SECRETS_FILE",
          "format": "filepath",
          "description": "Optional path to a Desktop OAuth client secrets JSON file. It takes precedence over GSC_OAUTH_CLIENT_ID and GSC_OAUTH_CLIENT_SECRET. Quick Connect does not need it."
        },
        {
          "name": "GSC_OAUTH_CLIENT_ID",
          "format": "string",
          "description": "Optional OAuth client id. Used with GSC_OAUTH_CLIENT_SECRET when GSC_OAUTH_SECRETS_FILE is unset. Quick Connect does not need it."
        },
        {
          "name": "GSC_OAUTH_CLIENT_SECRET",
          "format": "string",
          "isSecret": true,
          "description": "Optional OAuth client secret paired with GSC_OAUTH_CLIENT_ID. Quick Connect does not need it."
        },
        {
          "name": "GSC_SCOPES",
          "format": "string",
          "choices": [
            "readonly",
            "full"
          ],
          "description": "Legacy scope tier, readonly or full. Ignored when GSC_ACCESS_MODE is set. full alone does not enable writes."
        },
        {
          "name": "GSC_ENABLE_WRITE",
          "format": "string",
          "description": "Legacy write opt-in. Set to 1 together with GSC_SCOPES=full when GSC_ACCESS_MODE is unset. Ignored when GSC_ACCESS_MODE is set."
        }
      ]
    }
  ],
  "repository": {
    "id": "1415916969",
    "url": "https://github.com/sonnivasquez/gsc-mcp",
    "source": "github"
  },
  "websiteUrl": "https://gscmcp.dev",
  "description": "Local, read-only Google Search Console MCP server. Quick Connect needs no Cloud project."
}