Skip to content
Agentmart
Submit a tool

Google Search Console

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

Connector by ni-c · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 1
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/ni-c-google-search-console-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
12 read · 5 write · 4 delete
Secrets
5 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 21

Read from the source code; the running server may list different tools.

Read 12 · Look things up without changing anything.

  • get_indexing_status
  • get_site
  • get_sitemap
  • get_verification_token
  • get_verified_site
  • inspect_url
  • inspect_urls
  • list_sitemaps
  • list_sites
  • list_verified_sites
  • query_search_analytics
  • setup_site

Write 5 · Create, change, send or run things.

  • add_site
  • request_indexing
  • submit_sitemap
  • submit_sitemaps
  • verify_site

Delete 4 · Delete, drop, revoke or wipe things.

  • delete_site
  • delete_sitemap
  • unverify_site
  • update_site_owners

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • GOOGLE_APPLICATION_CREDENTIALS
  • GSC_CLIENT_SECRET
  • GSC_REFRESH_TOKEN
  • GSC_SERVICE_ACCOUNT_KEY
  • GSC_SERVICE_ACCOUNT_KEY_FILE

Other settings (environment variables or headers).

  • GSC_ALLOWED_SITES
  • GSC_ALLOW_TOOLS
  • GSC_CLIENT_ID
  • GSC_DENY_TOOLS
  • GSC_READ_ONLY
  • GSC_SITE_URL

Tools (21)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_siteAdd a property

    Adds a property to Search Console. This does NOT verify ownership: unless the credential already owns the domain, the property lands as siteUnverifiedUser and every data call for it returns 403. To actually get a working property, use setup_site, which does this in the right order — get_verification_token, then the DNS record or HTML file, then verify_site, then this.

  • delete_siteRemove a propertycan change or delete data

    Removes a property from Search Console. Two-step: the first call returns a confirmation token, the second performs the removal.

  • delete_sitemapRemove a sitemapcan change or delete data

    Removes a sitemap from the property. Two-step: the first call returns a confirmation token, the second performs the removal.

  • get_indexing_statusGet Indexing API status for a URLread-only

    Returns when this credential last notified Google about a URL through the Indexing API, and what kind of notification it was. This reports the notification history only — it says nothing about whether the page is indexed. inspect_url answers that. The credential must be a verified *owner* of the property — Search Console user access is not enough, and the API answers 403 without saying which of the two is missing.

  • get_siteGet one propertyread-only

    Returns one property and the permission level this credential has on it. Useful for settling which of the two spellings exists — "sc-domain:example.com" and "https://example.com/" are separate properties holding separate data.

  • get_sitemapGet one sitemapread-only

    Returns the full record for a single submitted sitemap: last submitted, last downloaded, warnings, errors, and the URL counts per content type. This is how to check whether a submission actually worked — errors appear here, never in the response to submit_sitemap.

  • get_verification_tokenGet a verification tokenread-only

    Returns the token that proves ownership of a site, and says exactly where to put it. Nothing is created and nothing is claimed by this call — it is safe to run against a domain you do not own, it just achieves nothing. A domain property can only be proven by DNS. A URL-prefix property can use FILE or META here; ANALYTICS and TAG_MANAGER prove ownership through an existing Google product rather than a token, so they have no token to fetch and are only usable with verify_site directly. Placing the token is a human step. Once it is in place, call verify_site.

  • get_verified_siteGet one owned siteread-only

    Returns one verified site and the email addresses of all its owners.

  • inspect_urlInspect a URLread-only

    Asks Google what it knows about one URL: whether it is indexed, when it was last crawled, which sitemaps reference it, the canonical Google chose versus the one declared, robots.txt and mobile-usability verdicts, and any rich-result problems. This is the API behind the URL Inspection tool in the Search Console interface. It reports the *indexed* state, not a live fetch — a page changed an hour ago still shows what Google last saw. The URL Inspection API allows 2 000 calls per property per day and 600 per minute. That is a daily budget, not a rate limit — spending it blocks inspection for the …

  • inspect_urlsInspect several URLsread-only

    Description is built at runtime.

  • list_sitemapsList sitemapsread-only

    Lists the sitemaps submitted for a property, each with when Google last downloaded it, how many URLs it holds per content type, and whether processing produced warnings or errors. To refresh a sitemap Google already knows, submit the same URL again — there is no separate update call, and submitting is idempotent. Google re-crawls on its own schedule; nothing can force it, and the ping endpoint that used to exist was removed in 2023.

  • list_sitesList propertiesread-only

    Lists every Search Console property this credential can see, with the permission level it has on each. This is the first call to make when anything returns 403: an empty list means the identity was never added to any property, which is the usual state of a fresh service account. permissionLevel is what the credential may do: siteOwner (everything, including the Indexing API), siteFullUser (all data, no user management), siteRestrictedUser (most data), and siteUnverifiedUser — which means the property is listed but ownership was never proven, and every data call for it returns 403 until it is v…

  • list_verified_sitesList owned sitesread-only

    Lists every site this credential has *verified ownership* of, with the full owner list for each. This is a different list from list_sites: that one is Search Console properties, this one is proven ownership, and a site can be in either without being in the other. setup_site compares the two.

  • query_search_analyticsQuery search analyticsread-only

    Description is built at runtime.

  • request_indexingNotify Google that a URL changed

    Tells Google through the Indexing API that a URL was updated or removed. Google only acts on this for pages with JobPosting or BroadcastEvent structured data. For any other page the call succeeds, returns a timestamp, and changes nothing — it is not a way to get a normal page crawled sooner. Submit a sitemap for that. The credential must be a verified *owner* of the property — Search Console user access is not enough, and the API answers 403 without saying which of the two is missing. The default quota is 200 URLs per day per project.

Show 6 more tools
  • setup_siteCheck what a property still needsread-only

    Works out where a property stands and says exactly what to do next. Getting a working Search Console property takes four steps in one order — obtain a verification token, place it in DNS or on the page (a human step), verify ownership, add the property — and nothing in the API enforces that order. Calling add_site first succeeds and leaves a property that returns 403 for every piece of data, which looks like a permissions problem and is not. This reads the current state and reports the next step, including the DNS record or meta tag to copy when that is what is missing. It changes nothing.

  • submit_sitemapSubmit a sitemap

    Submits a sitemap URL, or resubmits one Google already knows. To refresh a sitemap Google already knows, submit the same URL again — there is no separate update call, and submitting is idempotent. Google re-crawls on its own schedule; nothing can force it, and the ping endpoint that used to exist was removed in 2023. The call succeeding means Google accepted the address, not that the sitemap is valid — it is fetched later, and any parse error shows up in get_sitemap minutes to hours afterwards.

  • submit_sitemapsSubmit several sitemaps

    Description is built at runtime.

  • unverify_siteRemove ownershipcan change or delete data

    Removes this credential from the owners of a site. Two-step: the first call returns a confirmation token, the second performs the removal.

  • update_site_ownersChange the owner listcan change or delete data

    Replaces the list of verified owners of a site. This is how a second person or a service account is granted ownership without placing a token of their own. It REPLACES rather than adds: the list you pass becomes the complete owner list. Call get_verified_site first and send back the existing addresses plus the new one, or the others are removed. This server refuses a list that does not contain at least one address, because that is the shape of an accidental wipe. Two-step: the first call returns a confirmation token, the second performs the change.

  • verify_siteVerify ownership

    Tells Google to check for the verification token and, if it finds it, records this credential as an owner. Run get_verification_token first and place the token — this call only checks, it does not place anything. A failure here is almost always "not there yet" rather than "wrong": DNS records take minutes to an hour to propagate, and a freshly uploaded file may still be behind a CDN cache. Retrying later is the normal response.

Signals

Stars
1
Forks
0
Open issues
0
Weekly downloads
47
Last commit
Oct 23, 2026 (5 days ago)
Last release
Sep 7, 2026 (1 month ago)
Last package publish
Sep 7, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.ni-c/google-search-console-mcp
Version
0.3.0
Auth
API key
Packages
npm @ni-c/google-search-console-mcpoci ghcr.io/ni-c/google-search-console-mcp:0.3.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ni-c

Cite this page

Google Search Console MCP server. Agent Mart. https://agentmart.dev/connectors/ni-c-google-search-console-mcp (last updated 2026-10-24)