Blog

SEO in Cursor with your Google Search Console data

Connect Search Console to Cursor with an MCP server, find queries at positions 5 to 30, and update the ranking page in your repo in one session.

By Noah ·

Most SEO work on an existing site follows the same loop. You look at Search Console, find a page that almost ranks, change its title or content, ship it, and check again a few weeks later. The slow part is moving between the Search Console dashboard, a chat window, and the editor where the page lives.

Cursor removes most of that. Its agent can call tools from an MCP server and edit files in your repo in the same conversation. With a Search Console MCP server connected, one agent can read the queries a page ranks for, open the file that renders that page, and change it.

This post walks through that workflow with CalmSEO as the MCP server and our own site, calmseo.com, as the example.

What you need

  • A Google Search Console property you have access to.
  • Cursor, with the site's source code open as a project. The workflow works best when titles, meta descriptions, and page copy live in the repo. If your content lives in a CMS, the agent can still draft the changes for you to paste in.
  • A free CalmSEO account with Search Console connected. The Search Console tools are free on every plan.

Step 1. Connect CalmSEO to Cursor

  1. Sign up for CalmSEO. In the dashboard, open the Google Search Console card, click Connect with Google, and approve the read-only scope with the Google account that can see your property.
  2. In Cursor, open settings and find MCP, or create the config file directly. Use ~/.cursor/mcp.json to make CalmSEO available in every project, or .cursor/mcp.json in the repo to limit it to one project.
  3. Add the CalmSEO server:
{
  "mcpServers": {
    "calmseo": {
      "url": "https://mcp.calmseo.com/mcp"
    }
  }
}
  1. Restart Cursor or refresh MCP servers from the MCP settings screen.
  2. Start a new Agent conversation, ask Cursor to use CalmSEO, and complete the OAuth flow when Cursor prompts you to authenticate.

The Cursor setup docs cover the same steps in reference form. To check the connection, start with a call that lists your properties:

Use CalmSEO to list my Search Console properties.

This calls the list_gsc_sites tool. Domain properties look like sc-domain:example.com and URL-prefix properties look like https://www.example.com/. Use the exact ID in later prompts.

Step 2. Find queries at positions 5 to 30

Queries at positions 5 to 10 are on page one below the top results. Positions 11 to 30 are on pages two and three. In both cases Google already connects the page with the query, so updating that page is usually less work than writing a new one. Requiring some impressions filters out queries that only showed up once or twice.

Use CalmSEO Search Console data for sc-domain:example.com for the last 28 days.
List queries with an average position between 5 and 30 and at least 20 impressions.
Include the page that ranks for each query, plus clicks, impressions, CTR, and position.
Sort by impressions.

The agent runs query_gsc_search_analytics with the query and page dimensions and filters the rows. Search Console data usually lags by two to three days, so the most recent days may be missing.

Example from calmseo.com

Here is what this looks like on our own property, using a two-week window from October 4 to October 17, 2026. Only one query passed both filters. It was "keyword research mcp", and the page ranking for it is /keyword-research-mcp. That page had 98 impressions, 1 click, and an average position of 21.6 over the two weeks. These are the queries Search Console reported for it:

QueryClicksImpressionsAvg. position
keyword research mcp18623.4
mcp keyword research0214
keyword tool mcp0115

Search Console leaves out some rare queries for privacy reasons, so the query rows add up to fewer impressions than the page total. One query carries almost all of the impressions, and the page sits on page three for it. That makes it a clear candidate for an update.

Step 3. Open the page that ranks

This step needs the repo, which Cursor already has open. Ask it to find the file and compare it with the page's queries:

Find the file in this repo that renders /keyword-research-mcp.
Use CalmSEO to get the Search Console queries for https://calmseo.com/keyword-research-mcp for the same dates.
Compare those queries with the page's title, meta description, headings, and body copy.
List the queries the page does not address yet.

The agent calls get_gsc_page_queries for the URL and searches the repo for the route. In our codebase the page is a single TSX file with the title and meta description defined as constants at the top, so Cursor reads the query data and the page source in the same conversation.

In our example, the title is "Keyword Research MCP for AI Assistants". It already starts with the main query, so the title is unlikely to be the main gap for this page. The content is the better place to look.

Step 4. Rewrite the title and meta description

If the title does not match the main query, or the page gets impressions at a decent position and few clicks, start with the title and meta description.

Rewrite the title and meta description for this page.
Keep the main query near the start of the title.
Keep the title under 60 characters and the description under 155 characters.
Show me three options for each, then update the file with the one I pick.

Character counts are only a rough guide, because Google truncates snippets by pixel width. Paste your picks into the meta title and description checker to preview the Google snippet on desktop and mobile before you commit. Google can still show a different title or description than the one you set.

Step 5. Add the missing section

If the comparison in step 3 found queries the page does not cover, add a section that covers them.

Add a section to this page that covers the queries from your list that the page does not address.
Match the existing components and tone in this file.
Only describe features that already exist in this codebase.

Review the diff before you accept it. The agent can check product claims against your code. Check the tone and audience fit yourself.

To see what the pages ranking above you cover, you can add live search results to the same conversation. This uses CalmSEO's search_serp tool, which costs 1 credit for the top 10 results:

Use CalmSEO to check the top 10 Google results for "keyword research mcp" in the United States.
Summarize the subtopics those pages cover that our page does not.

Step 6. Ship it and check back in a few weeks

Commit and deploy the change. Google has to recrawl the page before anything moves, and positions often fluctuate for a while afterward, so give it at least four weeks before you judge the result. You can ask Google to recrawl sooner with URL Inspection in Search Console.

Because the change is a commit, Cursor can read the git log to find the exact date the page changed and use it as the comparison point:

Check the git log for the last change to the /keyword-research-mcp page file.
Use CalmSEO to compare Search Console data for https://calmseo.com/keyword-research-mcp
for the 28 days before that date and the 28 days after it.
Show clicks, impressions, CTR, and average position for the page and for each query.

Compare windows of the same length, and keep seasonality in mind for queries that change with the time of year. If a change did not help, the same conversation has everything needed to try the next one.

What it costs

The Search Console tools used in this workflow, list_gsc_sites, query_gsc_search_analytics, and get_gsc_page_queries, are free on every CalmSEO plan. Third-party data uses credits. A top 10 SERP check with search_serp uses 1 credit, a single-page audit with audit_page uses 5, and a keyword volume lookup with get_keyword_search_volume uses 15. New accounts start with 20 credits, and paid plans start at $19 per month for 600 credits.

For more prompts that surface pages worth updating, see finding SEO opportunities in Google Search Console. For an overview of what the Search Console tools return, see the Google Search Console MCP page.

Bring your Search Console data into Cursor

20 free credits + free Google Search Console tools. No card required.