Feature

A Google Search Console MCP server

Ask Claude about your search performance and get answers from your own Search Console data, your Copilot SEO Action plan and your experiments, without exporting a CSV first.

MCP (the Model Context Protocol) is the standard way for an AI assistant to call tools in another service. Copilot SEO runs an MCP server, so Claude Code, Claude.ai and Claude Desktop can read your Search Console data and, if you allow it, add annotations and start experiments. Other MCP clients can connect with a personal access token.

What can you ask it?

The assistant picks the tools and arguments. The figures are the same ones the Overview, Pages and Queries screens show, so they match what you see in the app.

The tools

ToolWritesWhat it returns or does
whoamiThe person, their teams and roles, and whether the token may write
setup_statusEach team's setup steps, done or not, what to do next, and which need the person, with the link
list_search_console_sitesSearch Console sites the person's Google accounts can see, marking ones already added
add_siteYesAdd a Search Console site to a team and start its import
set_brand_termsYesReplace a team's brand terms (owners and admins)
list_propertiesSites with their ids and data_through_date
sites_overviewEvery site side by side for a period against the one before, with a trend and actions in Now
gsc_metricsClicks, impressions, CTR and position by query, page or date
get_rankingsHow many queries or pages rank in the top 3, the rest of page one, page two and beyond, each week, and what moved between them
list_recommendationsThe Action plan, highest value first
get_recommendationOne action: diagnosis, evidence, how to act, status, review date
update_recommendationYesMove an action between Now, Next and Later, or dismiss it with a reason
mark_implementedYesRecord that the change was made, with a note; starts the 28-day review and annotates the day
get_outcomesImplemented actions with their reviews (before, after, verdict), and ones still waiting
list_markersAnnotations: releases, notes, team-wide ones and Google updates
create_markerYesAnnotate a release or change; with a ref, calling again updates it
delete_markerYesDelete an annotation on a site
list_experimentsExperiments with their cached before and after
get_experimentOne experiment, analysed now
create_experimentYesStart measuring a change to a page, a group of pages or the whole site
list_url_groupsSaved URL groups with totals for a period against the one before
create_url_groupYesSave a URL group from rules (contains, starts with, exact, regex) and excludes
list_alertsRecent alerts for a team, newest first

Search Console data runs about two days behind. list_properties tells the assistant the last complete day for each site, and gsc_metrics never reads past it, so a "last 28 days" answer is 28 days of finished data rather than 26 and two empty ones.

Query-level rows leave out the queries Google anonymises, so totals built from query text come out lower than page totals. The assistant is told to expect the difference.

How do you connect it?

Claude Code, Claude.ai and Claude Desktop

These sign in with OAuth. Sign-in only sends you back to Claude's own addresses or to a program on your computer (such as Claude Code or mcp-remote), so a look-alike app can't collect your approval. In Claude Code:

claude mcp add --transport http copilot-seo https://copilot-seo.com/mcp

Then run /mcp and sign in through the browser. In Claude.ai or Claude Desktop, add the same URL as a custom connector. You approve a consent screen that names the client, after confirming your password.

Access tokens last a day and the client refreshes them itself. Refresh tokens last 90 days. A client that asks for read access gets a read-only token.

Scripts and other MCP clients

Any other client connects with a personal access token instead. Create one on the Connect AI assistant page in Settings. Tokens can always read. They can only change anything if you tick "Allow writes" when you create them.

curl -fsS https://copilot-seo.com/mcp \
  -H "Authorization: Bearer $COPILOT_SEO_TOKEN" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_properties","arguments":{}}}'

What can a token see?

Every tool acts as the user who owns the token, across the teams that user belongs to. A site, annotation or experiment outside those teams comes back as not found. Tools that change anything refuse a read-only token. The Connect AI assistant page lists connected apps as well as tokens, and disconnecting an app ends its access straight away. Requests are limited to 120 a minute per user.

Query text, page URLs and notes can come from anyone: searchers, other sites, your teammates. The server tells the assistant to treat them as data, never as instructions.

Where it fits

The MCP server is a way into the rest of Copilot SEO, not a separate product. The Action plan it reads ranks CTR opportunities, keyword cannibalisation and content decay alongside each other, and create_experiment starts the same SEO experiments you can create in the app. A useful pattern is to have your deploy pipeline or your assistant add an annotation for every release, so a change in the figures can be read against what shipped.

There is no tool to end or cancel an experiment yet. Do that in the app.

An assistant can start from the guide for agents. Once it is connected, it also gets the full guide, with each routine step by step, and a ready-made prompt for each routine.

Point your assistant at your Search Console data.

Copilot SEO is in early access. Join the list and we'll let you know when your account is ready.

Get early access →