EN PT ID

SC-MCP 2026: Claude Reads Your X Post SEO

July 8, 2026 · 11 min read · Guide

In the first week of July 2026, two Google announcements landed within five days of each other, and together they quietly redrew the SEO map for X and Bluesky creators. On July 2, the Show HN feed surfaced search-console-mcp, an open-source Model Context Protocol server that lets Claude, Codex, and other MCP-aware agents pull live Google Search Console data without a copy-paste round trip. Five days later, on July 7, Google shipped the new social/video platform panel inside Search Console itself, exposing YouTube, TikTok, LinkedIn, and X impression data as a first-class filter alongside traditional web search.

The two releases are not related by any official Google post, but they line up. SC-MCP is the read path that makes the new social/video data actionable: you can now ask an agent "which of my X threads are getting TikTok-style discovery this week" and get a real answer with no spreadsheet in the loop. For a creator whose analytics live in five different dashboards, this is the first time the data is in a place where an AI tool can act on it.

The 30-second version: Search Console MCP (SC-MCP) is an MCP server that wraps Google's Search Console API. Wire it into Claude Code or Codex, and you can ask "show me my X post impressions for July" in plain English. Combined with GSC's new social/video panel (July 7, 2026), creators can now close the loop on cross-platform post performance without leaving the chat. This guide is the working setup plus the four queries worth running first.

What Search Console MCP Actually Does

Search Console MCP is a small Python server that exposes the Google Search Console API as a set of MCP tools. An MCP-aware client (Claude Code, Codex, Cline, Continue, Roo Code) can call those tools directly, with no auth juggling on the agent side and no manual export from the GSC web UI. From the creator's perspective, the difference between "with SC-MCP" and "without SC-MCP" is the difference between asking a question in chat and copying rows out of a CSV.

The repository is github.com/sudomichael/search-console-mcp, MIT-licensed, ~600 lines of Python. It implements the read-side endpoints the Search Analytics API exposes: queries, pages, devices, countries, dates, and search appearance. It does not implement write-side endpoints (no sitemaps submit, no URL removal), and it does not expose the new social/video data directly — that data lives behind a different filter that SC-MCP added on July 7, the same day Google shipped the panel.

What you get, end to end, is a chat-accessible Google Search Console. That is the entire product, and that is exactly the layer that was missing before.

Why the July 7 GSC Update Changes the Math

Before July 7, 2026, GSC only showed web search performance. A creator publishing on X, Bluesky, LinkedIn, YouTube, or TikTok had to instrument each platform separately: X Analytics for X, Bluesky stats for Bluesky, LinkedIn Page analytics for LinkedIn, YouTube Studio for YouTube, TikTok Creator Portal for TikTok. None of those platforms had a unified search-performance lens because each one defined "search" differently, and Google did not have a way to see cross-platform creator data as a single corpus.

The July 7 update changes that. The new social/video platform panel inside GSC exposes impressions, clicks, CTR, and position for:

That is the first time a creator can sit in a single Google UI and see "my X thread on AT Protocol federation" next to "my LinkedIn post on the same topic" with the same metric shape. SC-MCP, which was already wired to the GSC API, picks up the new social/video data on day one. The two releases land together because both sides of the stack needed the other to be useful.

The 4 Queries Worth Running First

Once SC-MCP is wired into Claude Code (setup below), the productive part is the queries you run against it. The four that have produced the most actionable signal in the first week of July 2026 are these.

Query 1: Cross-Platform Impressions for a Topic

The most basic SC-MCP query is also the most powerful: ask for total impressions across all platforms for a topic cluster over the last 28 days. SC-MCP returns the same shape as the GSC web UI, but it does the dimension join automatically (web + YouTube + TikTok + LinkedIn + X) without you having to click five tabs.

gsc_query(
  site_url="https://yourdomain.com",
  start_date="2026-06-10",
  end_date="2026-07-08",
  dimensions=["date"],
  filters={"query_contains": "at protocol"}
)

The response gives you a date-bucketed impression series. From there you can ask Claude to plot it, summarize spikes, or correlate with a specific X thread URL. That last move — "now correlate this with my X post from June 14" — is the killer workflow because it ties the GSC side to the platform side without any manual bookkeeping.

Query 2: X Thread Discovery vs Web Discovery

The second query separates X search impressions from web search impressions for the same query. The reason this matters: a creator publishing a thread on X and a blog post on the same topic will often see one of them dominate search while the other goes silent. The split tells you which platform is the discovery surface for a given topic and where to invest the next post.

gsc_query(
  site_url="https://yourdomain.com",
  start_date="2026-06-10",
  end_date="2026-07-08",
  dimensions=["query", "searchAppearance"],
  filters={"searchAppearance": ["X_SEARCH", "WEB"}]
)

For a creator who treats X as the broadcast layer and the blog as the durable record, this query is the closest thing to a publishing dashboard. You see the queries that hit the blog post, the queries that hit the X thread, and you can stop guessing where the reader actually found you.

Query 3: Drift Detection Across Platforms

Drift detection is the workflow that turned SC-MCP from a curiosity into a daily tool. You ask Claude to compare this week's social/video impressions to last week's, flag anything down more than 30 percent, and propose an X thread or Bluesky post that could recover the lost reach. The query is the same shape as Query 1, but with two date ranges and a small Claude prompt that does the comparison.

last_week = gsc_query(site_url, "2026-07-01", "2026-07-07", dimensions=["date"])
this_week = gsc_query(site_url, "2026-06-24", "2026-06-30", dimensions=["date"])
# Claude compares: which platform, which date, which query dropped the most?
# Claude proposes: one X thread draft, one Bluesky post draft, one LinkedIn update.

That is the production-grade creator loop in 2026: a 7-day read, a one-line comparison prompt, and three draft posts in the output. You went from five dashboards and a spreadsheet to one chat message in 90 seconds.

Query 4: Cross-Link Audit Between X and Blog

The fourth query is the SEO discipline move: ask Claude to enumerate every X post URL that you referenced in a blog post in the last 90 days, then check the GSC page dimension for each. If a blog post has an outbound link to an X thread and the thread has zero X-search impressions, you have a cross-link audit problem: the link is not pulling its weight in the new X-search world.

# Step 1: list all outbound x.com links in your blog (Claude does this from a sitemap crawl)
# Step 2: for each, ask SC-MCP for X_SEARCH impressions over 90 days
gsc_query(site_url, "2026-04-09", "2026-07-08",
  dimensions=["page"], filters={"searchAppearance": "X_SEARCH"})
# Step 3: Claude flags: blog post X has 6 outbound x.com links, 4 of them have 0 X impressions.
# Step 4: Claude rewrites the link text to be more descriptive so X's indexer classifies the thread better.

The audit is the kind of thing a creator would never do by hand, and a marketing agency would charge $5,000 for. With SC-MCP it is a 10-minute chat session, repeatable weekly.

The 5-Minute Setup

Wiring SC-MCP into Claude Code takes about five minutes if you already have a Google Search Console verified property and a working Claude Code install. The shape is the same as any MCP server: a one-line config in ~/.config/claude/mcp_servers.json and a service-account key on disk.

Step 1: Install the Package

Clone or pip-install the SC-MCP server. The recommended path is the GitHub release, not PyPI, because Google updated the API contract on July 7 and the release tag tracks the live GSC endpoints.

git clone https://github.com/sudomichael/search-console-mcp.git
cd search-console-mcp
uv sync
# This pulls the MCP SDK + google-api-python-client + auth libs

If you do not have uv installed, the repo falls back to pip install -e . on Python 3.11+. The full env is ~80 MB.

Step 2: Service Account + GSC Property Access

SC-MCP authenticates with a Google service account, not OAuth. Create a service account in Google Cloud, download the JSON key, and add the service account email as a user (any role, "Full" works) inside the Search Console property you want to query. This is the same flow that any GSC automation uses; no special scope needed beyond webmasters.readonly.

# 1. Service account JSON at: ~/keys/gsc-service-account.json
# 2. In GSC UI: Settings → Users and permissions → Add user
#    Paste the service account email: [email protected]
#    Permission level: Full (read-only is enough for SC-MCP, but Full is harmless)

The service account flow is the difference between SC-MCP and other GSC tools: there is no browser OAuth dance, no token refresh in the middle of a session. The MCP server reads the key on disk and is ready.

Step 3: Wire It Into Claude Code

Add the SC-MCP server to Claude Code's MCP config. The config file is at ~/.config/claude/mcp_servers.json on Linux and macOS, and the same path under %APPDATA% on Windows.

{
  "mcpServers": {
    "gsc": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/search-console-mcp", "python", "-m", "search_console_mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/home/you/keys/gsc-service-account.json",
        "GSC_DEFAULT_SITE": "https://yourdomain.com"
      }
    }
  }
}

Restart Claude Code. The first time you start a session, type /mcp and confirm that the GSC server is listed and shows the available tools. If you see gsc_query in the tool list, the setup is done.

Step 4: First Sanity Query

Ask Claude to do a 7-day pull and confirm the numbers match the GSC web UI. This is the same data the GSC dashboard shows, so the comparison is a literal end-to-end test of the wiring.

Use gsc_query to fetch the last 7 days of search analytics for https://yourdomain.com,
grouped by date. Show me the total impressions and clicks for each day.
Then compare it to what I see in the GSC Performance tab.
They should match exactly.

If the numbers match, the setup is verified. If they do not, the most common culprit is the site URL format: GSC accepts https://yourdomain.com (domain property) or sc-domain:yourdomain.com (URL-prefix property), and SC-MCP needs the exact string the property was registered with. The repo's README has a gsc_list_sites tool that lists every property your service account can see; use that to copy the right URL.

Where ThreadGrab Fits in This Picture

ThreadGrab is a read-side social archiving tool: paste any public X URL and you get a stable, structured Markdown page that crawlers and AI agents can fetch. The natural pairing with SC-MCP is that every GSC impression on a threadgrab.com mirror page is a confirmed AI-citation candidate. When you run SC-MCP Query 1 (cross-platform impressions for a topic), the mirror pages on threadgrab.com will show up in the page dimension. That tells you which of your archived threads is being picked up by the citation layer, and which is still relying on x.com directly.

For a creator who already runs ThreadGrab, SC-MCP is the missing read-side answer to the question ThreadGrab answers on the write side: where is my content actually being discovered? The two tools together close the loop from publish (X) to mirror (ThreadGrab) to discovery (GSC) to action (Claude-drafted next post). That is the production-grade creator stack for the second half of 2026.

Frequently Asked Questions

Does SC-MCP work with the new social/video panel that GSC shipped on July 7, 2026?

Yes, with the July 7 release tag. The previous version only exposed web search data; the current release adds the social/video platform filter as a first-class dimension, which means you can ask for X_SEARCH, YOUTUBE_SEARCH, TIKTOK_SEARCH, and LINKEDIN_SEARCH impressions alongside traditional web search in the same query. If you cloned the repo before July 7, pull the latest release tag and restart the MCP server.

Do I need a paid Claude plan to use Search Console MCP?

No. SC-MCP runs against the MCP protocol, which Claude Code, Codex, Cline, Continue, and Roo Code all speak. The free Claude Code plan works for ad-hoc queries; a paid plan is only needed if you want to run long cross-platform audit sessions that exceed the rate limit on the free tier (about 50 GSC API calls per day, which is enough for a weekly creator workflow).

Is my GSC data sent anywhere when I use SC-MCP?

No. SC-MCP runs locally on your machine. The flow is: your MCP client (Claude Code, etc.) calls a tool on the local SC-MCP server, the server calls the Google Search Console API directly using your service account key, and the response goes back to your local chat. Google sees the request come from your service account, not from any third-party service. There is no relay, no log shipping, no analytics middleware. The repo has no telemetry code, and the MIT license lets you audit every line.

What is the rate limit on the GSC API, and does SC-MCP handle it?

The Search Analytics API allows about 1,200 queries per minute per service account, with a 5-queries-per-second practical ceiling for a single property. SC-MCP has built-in rate limiting that throttles to 4 queries per second by default, which stays comfortably under the API ceiling. If you are running 90-day cross-platform audits with the new social/video panel, expect the rate limit to be the bottleneck, not the MCP layer. The README documents a GSC_RATE_LIMIT_QPS env var you can lower if your service account shares a project with other GSC consumers.

Can SC-MCP write to GSC, or is it read-only?

Read-only. The server implements the Search Analytics query endpoint and the site list endpoint, and nothing else. It cannot submit sitemaps, request indexing, remove URLs, or change any GSC setting. That is a feature, not a limitation: it keeps the security surface tiny, makes the service account permission "Restricted" safe (the minimum read scope), and means a compromised agent cannot accidentally break your GSC property.

How does this compare to the existing threadgrab MCP and OpenRouter MCP coverage on this site?

SC-MCP closes the read-side loop that X-Hosted MCP (distribution), OpenRouter MCP (model routing), and ThreadGrab itself (mirroring) leave open. The 3-layer stack now reads: ThreadGrab mirrors the publish, X-Hosted MCP distributes it, OpenRouter MCP routes the model that drafts the next post, and SC-MCP reads the discovery data back. Each layer is a separate MCP server; together they are the working creator stack for the second half of 2026.

Want the citation-ready mirror on your own domain?

Try ThreadGrab