Changelog

Every change that reached production, newest first, dated. GSC PAP is a v0.x public preview, so this page is also the honest answer to how much of it is still moving.

Last shipped . 34 entries since September 3, 2026.

FasterNew days reach your archive two days sooner

The archive used to wait four days before saving a day, although Search Console usually finalises its data after two. It now asks Google which days are final and saves each one within an hour, so questions about last week are answered from your archive sooner.

FixedDay-over-day Analytics comparisons are right

ga4_compare_periods with days=1 now compares today with yesterday. Before, every "last N days" Analytics window was one day longer than asked and the two compared windows shared a day, so a day-over-day question got a muddled answer. Windows are now exactly N days in your property's time zone.

FixedA clear message when the Search Console permission is missing

If you left the Search Console box unticked on Google's consent screen, every Search Console tool passed on Google's bare "invalid_scope" error. Your assistant now hears that the permission is missing and gets a link to the page that shows how to grant it, and the Analytics tools keep working in the meantime.

FixedPressing Back after signing in no longer shows an expired session

Going Back after signing in replays Google's consent page, which used to end on "Sign-in session expired" although you were signed in. You now land on your account instead. When a sign-in link really has expired, the page says why: it was reused after Back, or it is over ten minutes old.

AddedGuides now show the screens they describe

Each guide now has a screen from Search Console, GA4 or PageSpeed Insights at the step it explains, with numbered marks the caption walks through. The screens are recreated with example data for a made-up site, so they show where to click without showing anyone's account.

AddedEvery guide now shows a diagram or a sample answer

Each workflow guide now draws its main point: where a click can fail to become a session, where a URL can stop on its way into Google's index, the Core Web Vitals thresholds, or what the assistant's answer looks like for a made-up site. The figures are built from text, so they follow dark mode and come through in the Markdown version of each page.

AddedA guide to the AI queries in your Search Console report

Search Console mixes AI Mode follow-ups, searches that AI agents run for their users and scripted queries into the same report, with nothing marking which is which. The new guide shows what each group looked like on our own site, gives a tested regex filter for each, and measures what they do to CTR and average position, along with how many visits AI assistants send according to GA4.

Fixedga4_top_pages no longer calls its rows landing pages

The tool groups sessions by page path, so a session counts on every page it views, but its description said landing pages. An assistant taking that at face value could add the rows up as total sessions, which on our own property overstates them 2.19 times. The description now says what the rows count, and points to ga4_overview for totals and correlate_gsc_to_ga4 for landing sessions.

ChangedGuide examples in the AI client you use

The worked example in each guide was written for Claude, though the prompts run in any MCP client. A switch above it now rewrites the example for ChatGPT, Codex, Cursor, Gemini CLI or Copilot and links that client's setup guide. The choice is remembered in your browser.

ChangedThe clicks vs sessions guide now covers combining the two

It compares the four ways to combine Search Console and GA4 data (GA4's Search Console link, Looker Studio, BigQuery and an MCP server) by what each needs and where each stops, and shows on our own data why per-page rows never add up to the site total: GA4 sessions by page path came to 2.19 times the real figure, by landing page exactly 1.

ChangedConversions now come with the key events behind them

A GA4 property marks whatever its owner likes as a key event, so one conversions total can be mostly things nobody would call a conversion: add to cart, login, even logout. ga4_conversions_by_source now returns that total broken out by event name, and reports transactions next to revenue, so a shop's actual purchase rate is visible instead of a session key-event rate that counts ten different things at once. The two can differ by a factor of ten on the same property in the same month. Responses also carry the property's currency and time zone, which Google sends on every report and which we had been discarding, so revenue is no longer a bare number and a date range names the zone it was cut in.

Changedcompare_periods answers in TOON

compare_periods now returns TOON instead of a markdown table, 20% fewer tokens on the same rows. The format is per tool and search_analytics_query stays on markdown, so the two can be compared on live calls rather than on a fixture. Worth saying what the number is not: the same payload shrinks 22% in bytes, and byte counts overstate the context win because JSON punctuation is nearly free to tokenise. Against the raw Search Console API response, TOON is 45% smaller in tokens on this tool and a third smaller on search_analytics_query.

AddedTwo tools for the pages that never worked

find_new_pages lists the pages Search Console started showing in the last week and whether each has earned a click, because 90% of the clicks a new page ever earns arrive in its first seven days: a page still silent after that rarely becomes anything. find_dead_pages is the other end, the pages appearing for months that have never earned a click, split by whether Google is showing them and nobody clicks or barely showing them at all. Those need opposite work, and only one of them is a title problem.

FasterThe index coverage summary is ten times faster

get_index_coverage_summary inspected its sample one page at a time, so it cost the sum of ten URL inspections. The inspections now run together and the tool costs about as much as its slowest single page. Measured on the same property with the same ten URLs: 69 seconds before, 7 after.

AddedEvery page has a Markdown version

Add .md to any page's path and you get that page as clean Markdown, with a canonical link back to the HTML. It is there for assistants that would rather read a page than parse one, and for anyone who wants to paste a guide into a prompt without the navigation coming along.

AddedSetup guides for fourteen more clients

opencode, Cline, Roo Code, Kilo Code, Warp, LM Studio, ChatGPT, Goose, Antigravity, Amp, Kiro, Raycast, GitHub Copilot CLI and n8n. Each configuration comes from that client's own documentation rather than from the shape the others use, because the key names genuinely differ. Twenty-six clients in total.

AddedLibreChat, the twenty-seventh client

LibreChat is the first client on the list that is usually not one person's: a self-hosted install serves a team, and Search Console access is per person. The guide therefore leads with the configuration that asks each user for their own token, so one server entry gives a team separate views of their own properties rather than a shared one.

AddedA pricing page, with the price in the first sentence

The answer used to live in a comparison card and an FAQ answer, which was enough for summaries of the site to say to go and check the pricing page. There is one now, and it says $0 in the heading, in the table and in the page's structured data.

AddedA comparison of Search Console MCP servers

The hosted and self-hosted options side by side, each claim dated and linked to its source. It includes the cases where something else is the better fit, because a comparison that never says that is not a comparison.

FixedChatGPT connectors can refresh their access

Our OAuth metadata did not list offline_access, which ChatGPT reads before it treats a connection as refreshable. It is listed now. Note that custom MCP connectors in ChatGPT remain a Business, Enterprise and Edu feature, which is OpenAI's rule rather than ours.

FixedThe server reports its own version in the handshake

On connecting, we were sending the version of the framework underneath us instead of ours, so clients logged and displayed the wrong number. The handshake now says 0.3.0.

FixedThe sign-in bot check retries by itself

Cloudflare's widget retries a failed check on its own, and our error handling was reporting the failure before that retry could run. A recoverable hiccup could therefore end as a blocked sign-in. The retry runs now, and only a second failure is reported.

FasterThe slow tools stopped waiting in line

Tools that make several independent Google calls now make them at the same time instead of one after another. batch_inspect_urls with ten URLs went from about 50 seconds to 7, and the Search Console to GA4 correlation stopped running its two halves back to back.

FasterThe archive reads from a database sized for it

Postgres was still on the settings it ships with, against an archive that had long outgrown them. Queries over your archived history return quicker as a result, and the slow ones now record themselves so the next complaint starts from evidence.

AddedWe notice when Google stops letting us read a property

If a property's access disappears on Google's side, through a permission change in Search Console, that is recorded and shown. Before, it looked indistinguishable from a property with no data.

FixedArchive totals no longer drop anonymized traffic

Search Console withholds the query text for rare searches, and we were summing the rows we could see. Archived totals therefore came in under the real number. Totals now come from Search Console's own daily figures, which include the traffic whose queries it will not name.

FixedThe performance overview reported one query as the whole site

Under some date ranges get_performance_overview returned a single query's clicks and impressions as the site total, which is the kind of wrong number that looks plausible for weeks. It reports the site total.

FixedThe weekly digest compares two full weeks

It was putting four days up against seven, so the comparison read as a collapse every time regardless of what the site did.

AddedOne-click connector for Claude.ai

The MCP endpoint advertises itself to OAuth clients and accepts clients that register themselves, so Claude.ai and other connector clients can connect with a Google sign-in. No token to copy and no configuration file to edit.

FixedClaude Desktop accepts the config we hand out

Onboarding offered a configuration file that Claude Desktop rejected when it loaded it, which made the first run fail for the client most people start with.

ChangedFour tools that were live but unlisted

The catalog said 30 tools while the server answered 34. The four it had missed are listed and documented, so what the site promises and what the server does are the same set.

AddedThe archive starts filling the moment you connect

Backfill used to wait for the next scheduled run, and the schedule could skip an account without saying anything. It now starts from the sign-in itself, so the sixteen months Google still holds are copied while you are setting up your client.

AddedAn email when Google stops accepting our token

A Google grant can break without anyone touching GSC PAP, through a password change or a revoked permission. That now sends you a message asking you to reconnect, instead of turning into answers that are empty for no stated reason.

Following along

Every entry here is also an item in the RSS feed, and this page has a Markdown version if you would rather hand it to an assistant than read it. The log starts on September 3, 2026: there is work before that date, but it predates the point where writing it down for other people was worth doing.

Paid plans arrive with v1.0 and will be announced here first, with the notice period described on the pricing page. If something on this list broke for you rather than for us, the address is on the about page.