Run claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcp, type /mcp, and sign in with your PaidSync login. Claude Code then reaches your Search Console properties through 6 tools: clicks, impressions, CTR and position by query, page, country and device, plus sitemap index coverage. Claude Code asks before it runs each tool.
Watch tier. Search Console is read-only in PaidSync, so Claude Code reads your search data and changes nothing.
Claude Code talks to remote MCP servers over Streamable HTTP. PaidSync is one of them. Add it once and the same terminal that edits your code can report on and manage your Search Console campaigns.
claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcpBy default that registers the server for the current project only. Add --scope user to make it available in every project on your machine. Run claude mcp list to confirm it is there, then start a session and type /mcp to sign in.
Takes 10 seconds. Google or email sign-in. The free plan is 15 tasks a month at $0, no card.
Click Connect on Search Console and sign in with the Google account that has access to your properties. Search Console authorizes via Google OAuth, and PaidSync never sees your Google password.
Already inside Claude Code? Ask it to run connect_google_search_console. The tool returns a link to open in your browser.
Inside a session, list_gsc_properties shows every property your Google login can open. Name the property in your prompt.
In your terminal, run:
claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcpStart a session, type /mcp, pick paidsync, and sign in with your PaidSync login in the browser window that opens. Claude Code stores the OAuth token for you. No key is pasted anywhere.
Setting this up for a team? Commit a .mcp.json at the repo root so every engineer gets the same connector:
{
"mcpServers": {
"paidsync": { "type": "http", "url": "https://mcp.paidsync.ai/mcp" }
}
}Prefer an API key, for example for headless runs? Send it in a header, never in the URL, where it would end up in logs:
claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcp --header "Authorization: Bearer $PAIDSYNC_API_KEY"In a committed .mcp.json, add "headers": { "Authorization": "Bearer ${PAIDSYNC_API_KEY}" } so the key stays in each engineer's environment and never enters git. Applying a change to Google Ads still requires the OAuth sign-in. On other platforms a key can apply changes too, so treat it like a password and prefer OAuth.
In a Claude Code session ask: “What are my top 20 organic queries by clicks this month, with the average position for each”
Claude Code returns clicks, impressions, CTR and average position for each query. The connection is live.
Each prompt below maps to tools in the PaidSync Search Console group. Claude Code picks the tool. The last column says whether the call can change anything in the ad account.
| Ask | Tools it calls | Changes your account? |
|---|---|---|
| “List my Search Console properties” | list_gsc_properties | No |
| “What are my top 20 organic queries by clicks this month” | get_gsc_search_analytics | No |
| “Which pages get a lot of impressions but a low click-through rate” | get_gsc_search_analytics | No |
| “How many of the URLs in my sitemaps are indexed” | get_gsc_index_coverage | No |
| “Compare my organic performance this month with the same month last year” | get_gsc_search_analytics | No |
| “Which Google Ads keywords am I paying for where I already rank in the top five” | analyze_paid_organic_overlap | No |
| “Break down my organic clicks and impressions by country for the last 90 days” | get_gsc_search_analytics | No |
The -p flag runs Claude Code without the interactive session. Sign in once through /mcp and the stored OAuth token carries over. A report that lands in a file looks like this:
claude -p "Pull last 28 days Search Console top queries by clicks and list the pages with high impressions and low CTR." \
--allowedTools "mcp__paidsync" \
--output-format json > reports/search-console-$(date +%F).jsonReads run straight through, and so do writes. --allowedTools "mcp__paidsync" allows every PaidSync tool, writes included, with no prompt. For an unattended job, allow only the read tools it needs, each by name as mcp__paidsync__tool_name.
Search Console is read-only in PaidSync: none of the 6 Search Console tools can write. They cover property listing, search analytics by query, page, country and device, and sitemap index coverage. Search Console keeps 16 months of data.
Over MCP, the approval step is Claude Code’s own prompt. It asks before it runs a tool unless you allowed it with --allowedTools or in your settings. PaidSync adds checks on its side. Deletes, pauses and budget changes need confirm_destructive, and a pre-write rule check blocks unsafe arguments. The approval card, and Undo on an applied card whose change has a safe inverse, apply only in the PaidSync workspace.
Sign up at paidsync.ai, connect Search Console in the dashboard, then run claude mcp add --transport http paidsync https://mcp.paidsync.ai/mcp in your terminal. Type /mcp inside a session, pick paidsync, and sign in with your PaidSync login.
No. Search Console is read-only in PaidSync. Claude Code reads your search data and never changes your property.
Yes. With Google Ads also connected, analyze_paid_organic_overlap estimates the monthly spend on keywords where you already rank in the top five, and Claude Code can compare top organic queries with your paid keywords.
Yes. Once you have signed in through /mcp, claude -p reuses the stored OAuth token. Reads run straight through. Writes need care. No one is there to answer the Claude Code prompt, so any write tool you allowed with --allowedTools runs straight through. For an unattended job, allow only the read tools it needs.
Yes. The free plan is $0 for 15 tasks a month with no card. Pro starts at $99 a month and Team at $249 a month.
Search Console reports. One command in Claude Code.