How to Connect Google Search Console to Cursor with MCP

Connect Google Search Console to Cursor with a remote MCP server, verify OAuth or token access, and investigate SEO issues alongside your code.

TL;DR

To use Google Search Console in Cursor, register a compatible remote MCP endpoint in Cursor’s MCP settings. For GSC Magic, the configuration is {"mcpServers":{"gsc-magic":{"url":"https://gscmagic.com/mcp"}}}. Authenticate, ask for your available Search Console properties, and start with a read-only comparison. Cursor can use the findings while examining your site’s code, but it cannot infer private performance data without a working connection.

Why connect Cursor to Search Console?

Cursor knows a great deal about files open in your project. It can find route definitions, inspect metadata, search for incorrect canonical links and help change a template. What it does not know from the repository is which pages Google actually shows, which queries bring clicks or whether a decline began last Tuesday.

That gap often leads to generic SEO advice. An assistant sees a page with a short title and says to improve the title. But perhaps that page already earns most of your clicks, while a different article is slipping in search results. Without Search Console data, the assistant has little basis for choosing priorities.

An MCP connector gives Cursor another input: real reports from an authorized Google Search Console property. You can bring a problem found in search performance into the same workspace where you investigate code. That is the benefit. MCP does not improve the page by itself.

If you’re unfamiliar with the protocol, begin with the Google Search Console MCP overview. This tutorial stays focused on Cursor.

Requirements and an important distinction

You need a recent Cursor version that supports MCP, an accessible MCP server, and a Google account with permission to view the right Search Console property. The server can be hosted or self-managed.

This example uses the documented GSC Magic endpoint. Its documentation describes OAuth sign-in and access-token authentication. If your account has not been activated or the endpoint is unavailable, the settings can be correct while requests still fail.

Also decide whether you want a global connection or a project-specific one. Cursor can use user-level MCP configuration and, depending on the version and workspace configuration, project-level MCP settings. A global connection is practical if you manage several sites. A project-specific configuration may be easier to audit with a team, but you should never put personal secrets into files that Git tracks.

Step 1: open Cursor’s MCP settings

In Cursor, open Settings → MCP or its current MCP/Tools section. Look for the option to add a custom server. Cursor’s menus can change, so the precise label may be different in your installed version.

Cursor also supports a user-level configuration file at ~/.cursor/mcp.json. For a remote Streamable HTTP endpoint, the configuration follows this shape:

{
  "mcpServers": {
    "gsc-magic": {
      "url": "https://gscmagic.com/mcp"
    }
  }
}

Save the file and return to Cursor’s MCP screen. The server should appear under the name gsc-magic. Do not use the URL of your public website here. The connector URL points to the MCP service, not your sitemap or Search Console page.

The configuration format follows Cursor’s MCP documentation, which covers remote HTTP servers and local processes. If you already have MCP servers configured, add this entry inside the existing mcpServers object rather than replacing the whole file.

Step 2: connect and authenticate

Select the server in Cursor and follow its Connect or authorization control. With supported OAuth flows, the client opens a browser so you can sign in to the MCP service and grant the requested Google permissions.

Use the Google account that actually has access to your Search Console property. Many developers have one personal account, one work account and perhaps a client account; successful sign-in to the wrong one is a common cause of an empty property list.

If OAuth cannot complete in your Cursor version, GSC Magic documents an alternative: create an access token in the dashboard under Connect → Access tokens. The remote MCP configuration can send a bearer token header:

{
  "mcpServers": {
    "gsc-magic": {
      "url": "https://gscmagic.com/mcp",
      "headers": {
        "Authorization": "Bearer gsm_YOUR_TOKEN"
      }
    }
  }
}

Use this only as a configuration example. Never commit a real token, post it in a chat or include it in a screenshot. Prefer a read-only token when all you want is reporting. Store it using the safest configuration method available to your operating system and client.

Some old client builds handle custom OAuth redirects differently. If authentication fails, try the provider’s documented token route before assuming the Google API is down.

Step 3: test the connection without changing files

Open Cursor’s agent chat and start with a discovery request:

Use the connected Search Console tools to list all available properties, including their full identifiers. Do not edit my project files. Ask me to select a property before requesting performance data.

You should see the tool being invoked or a tool result that identifies real properties. If Cursor merely explains where to click in Google Search Console, it might not have called the MCP tool at all.

Select the correct property. A domain property might include subdomains, whereas a URL-prefix property typically does not. Choosing the wrong property changes the scope of the data and can make comparisons look inconsistent.

If no sites appear, open the MCP status page and confirm authorization first. Check the user’s Search Console permissions next. Connecting an MCP client is not the same as granting access to every property in a Google account.

Step 4: combine performance evidence with source code

Here is a practical task: identify pages with many impressions but weak click-through rates, and check their metadata in your repository.

First ask Cursor to request a Search Console report over the last 28 complete days. Filter to your most important pages or non-branded queries and ask for the URL, query, clicks, impressions, CTR and average position.

Next have Cursor map those URLs to the actual code. On an Astro site this might mean content files and page templates; in Next.js it might mean route metadata, layout files or dynamic title logic. The important part is to compare the actual rendered page with the query intent before proposing changes.

For example, a guide could receive 1,200 impressions for setup-related searches but only 18 clicks. Its average position and search intent matter. If most impressions occur around position 18, rewriting the title is unlikely to be the whole answer. If the page averages position 3 for a very relevant query and gets unusually few clicks, the visible result deserves closer examination.

Ask Cursor to show a proposed diff and explain which observed facts support the change. Do not let a single low CTR number trigger automatic rewrites of every title tag.

A second workflow: debug a search traffic drop

Start with a prompt like this:

Compare Google Search clicks for the last 28 complete days against the previous 28. Rank pages by the absolute number of clicks lost, not only percentage decline. For the five biggest losses, identify the leading query and device changes. Do not modify code.

After reviewing the results, choose one URL. Ask Cursor to inspect the route and determine whether recent code could have affected indexing or discoverability. You might find an incorrect canonical, a noindex directive, missing internal links or a page that accidentally redirects.

But be careful: a traffic decline is not proof of a code defect. Search demand, competitors, snippets, seasonality and Google’s ranking systems also change. The proper sequence is observe, form a hypothesis, inspect the code, test the hypothesis and only then change something.

Our organic traffic drop checklist walks through those distinctions in more detail.

A third workflow: investigate sitemap and indexing issues

Suppose you shipped a new docs section but some pages have not appeared in search. You can ask the connector for reported sitemap errors and indexed-version URL Inspection information, then inspect your sitemap generation and routing logic in Cursor.

Useful questions are: does the sitemap include canonical, successful URLs? Are the pages linked from relevant navigation? Do they return 200 responses? Do their canonical elements refer to themselves or to another page?

Google explicitly says a sitemap is a discovery hint, not an indexing guarantee. A submitted sitemap may contain URLs that are not indexed for perfectly legitimate reasons. See Google’s sitemap guidance.

The URL Inspection API reports indexed-version information. It does not run a live URL inspection and cannot force indexing. Treat its findings as a diagnostic starting point.

For a complete walk-through of those reported statuses, read our not-indexed guide.

How to make the assistant’s recommendations trustworthy

A good SEO assistant should return enough context for you to reproduce its finding. For every report, request the property, time period, search type, dimensions, filters and numbers. Ask the assistant to distinguish what it directly observed from what it believes might explain the change.

When it proposes a code edit, ask for three things: the file path, the exact change and how you will validate it. If a suggested edit affects redirects or canonical URLs across many routes, review the full list of affected pages before proceeding.

Avoid prompts such as “Optimize my entire website for SEO.” They encourage broad, difficult-to-audit changes. Instead try “Check whether the three pages that lost the most impressions have canonical, robots or routing errors; report findings without editing anything.”

If your site uses CI or a staging environment, keep your normal review process. The connector makes evidence easier to access, but it does not replace build tests or production monitoring.

Privacy, access and team workflows

Search Console data is not public merely because your website is public. Query reports can expose commercial priorities, unreleased pages and client information. Read the terms of both the MCP service and the AI client you use.

GSC Magic’s documented model separates analytics from administrative write actions. Read-only tokens make sense for recurring reports; write mode should be enabled only when a specific approved task requires it. The assistant’s ability to edit local source files is a separate permission from its ability to call Search Console tools.

For client projects, use the correct workspace and remove access when the engagement ends. A shared local configuration file should never contain a credential belonging to a different customer.

Troubleshooting and quick answers

Cursor shows the server but no tools

Check the server’s connection and authorization status. Make sure your configuration uses the remote URL field rather than a local command entry, and reload the MCP configuration if necessary.

The connection is green, but the property list is empty

Check the account used during OAuth, the property name and Search Console access permissions. This is often an authorization-scope issue rather than a data issue.

Can Cursor directly improve my Google rankings?

No tool can guarantee rankings. Cursor can help investigate code changes, while Search Console provides evidence of search performance. You still need to choose relevant improvements and evaluate outcomes.

Does Cursor need my Google Cloud credentials?

A managed remote connector can handle provider authentication without requiring you to create a separate Google Cloud project. A self-hosted connector may require your own OAuth client and Google API configuration.

Can I use the same GSC Magic account with Claude Code?

The server endpoint is the same, but you configure each client separately. See the Claude Code tutorial for terminal commands.

Next step: one useful task, not twenty dashboards

After the connection is working, select one page that matters to your business and compare its last two complete reporting windows. Ask Cursor to investigate the source code only when the numbers suggest something actionable. That small loop is the best way to establish confidence in an SEO agent.

For available tools, authentication details and supported clients, see the GSC Magic docs. For ideas about what to analyze after setup, the SEO agent prompt library provides concrete follow-up questions.

Join the waitlist

Coming soon. Get 30% off Pro for 6 months when you join.

Join the waitlist