npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@sarahpark/google-search-console-mcp

v1.0.1

Published

A minimal MCP server for Google Search Console

Downloads

247

Readme

Google Search Console MCP Server

A Model Context Protocol (MCP) server that gives AI agents direct access to your Google Search Console data.

  • Search analytics — query clicks, impressions, CTR, and average position by page, query, country, device, or date range
  • Compare periods — week-over-week, month-over-month trends
  • Find opportunities — high-impression/low-click queries, ranking keywords you didn't know about
  • Track specific pages — see which URLs are gaining or losing traction
  • Index coverage — check which pages are indexed, excluded, or erroring
  • Sitemap status — verify sitemaps are being read and how many URLs are indexed

Read-only access — this server cannot submit URLs, modify settings, or make any changes to your Search Console properties.

[!IMPORTANT] This server uses service account authentication. The service account must be added as a user on each Search Console property you want to access.

Tools

List all sites (properties) you have access to in Google Search Console.

No parameters required.

Query search analytics data — clicks, impressions, CTR, and position.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | siteUrl | string | Yes | Site URL as it appears in Search Console (e.g. https://example.com/ or sc-domain:example.com) | | startDate | string | Yes | Start date in YYYY-MM-DD format | | endDate | string | Yes | End date in YYYY-MM-DD format | | dimensions | string | No | Comma-separated: query, page, country, device, searchAppearance, date | | rowLimit | number | No | Max rows to return (default 100, max 25000) | | searchType | string | No | web, image, video, news, discover, or googleNews (default web) | | queryFilter | string | No | Filter by query. Prefix with regex: for regex matching | | pageFilter | string | No | Filter by page URL. Prefix with regex: for regex matching | | countryFilter | string | No | ISO 3166-1 alpha-3 country code (e.g. USA, GBR) | | deviceFilter | string | No | DESKTOP, MOBILE, or TABLET |

Check indexing status, crawl info, and mobile usability for a URL.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | siteUrl | string | Yes | Site URL as it appears in Search Console | | inspectionUrl | string | Yes | The full URL to inspect (must belong to the site) |

List all submitted sitemaps and their status for a site.

| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | siteUrl | string | Yes | Site URL as it appears in Search Console |

Installation

Quick setup via agent

Already have your service account key? Paste this prompt into Claude Code or Claude Desktop and it will configure everything for you:

Clone and build the Google Search Console MCP server from https://github.com/sarahpark/google-search-console-mcp, then add it to my global MCP config. My service account key is at /path/to/service-account-key.json. After setup, call list_sites to verify it works.

Replace the key path with your actual file location.

Build from source

git clone https://github.com/sarahpark/google-search-console-mcp.git
cd google-search-console-mcp
npm install
npm run build

Configuration

Google Cloud setup: service account key

  1. Go to Google Cloud Console and create a new project (or select an existing one)
  2. Open the Search Console API page and click Enable
  3. In the sidebar, go to APIs & ServicesCredentials
  4. Click Create CredentialsService account
  5. Give it a name (e.g. "search-console-mcp"), then click Create and Continue
  6. You can skip the optional role/access steps — click Done
  7. On the Credentials page, click on the service account you just created
  8. Go to the Keys tab → Add KeyCreate new key → select JSON → click Create
  9. A .json key file will download — save it somewhere safe (e.g. ~/.config/gcloud/service-account-key.json)

[!CAUTION] Treat this key file like a secret key. Do not save it inside your project repo or commit it to git. Store it outside your project directory and reference it by absolute path in your MCP config.

Google Search Console access

  1. Copy the service account's email address (it looks like [email protected] — you can find it on the service account details page)
  2. Go to Google Search Console
  3. Select your property, then go to SettingsUsers and permissions
  4. Click Add user, paste the service account email, set the permission to Restricted, and click Add

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "gsc": {
      "command": "node",
      "args": ["/absolute/path/to/google-search-console-mcp/build/index.js"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      }
    }
  }
}

Claude Code (VS Code)

Add to the "mcpServers" object in ~/.claude.json:

{
  "mcpServers": {
    "gsc": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/google-search-console-mcp/build/index.js"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/absolute/path/to/service-account-key.json"
      }
    }
  }
}

Usage

Once configured, ask Claude naturally:

  • "List my Search Console properties"
  • "Show me the top 20 queries for my site over the last 28 days"
  • "Check the indexing status of https://example.com/blog/my-post"
  • "Compare mobile vs desktop performance this month"
  • "What sitemaps are submitted for my site?"

License

MIT