Back to guides

How Do I Set Up a Claude MCP Stack for SEO Work?

Jake McCluskeyIntermediate45 min read
How Do I Set Up a Claude MCP Stack for SEO Work?

If you're still pulling Google Search Console and Ahrefs data into Claude by copy-pasting CSVs, you're doing the 2024 version of the job. The MCP (Model Context Protocol) version looks like this: "Claude, compare last week's GSC impressions for my 20 tracked keywords to Ahrefs' current rank, flag anything that's getting impressions but sitting page 2, and write five title tag variations for each." One prompt. Real data. Here's the stack.

Why this matters

SEO work is 80% data gathering and 20% decisions. Every hour you spend exporting CSVs, pivoting spreadsheets, and reconciling column headers is an hour Claude could do in 30 seconds — if it had direct access to the data source.

MCP (Model Context Protocol) is the standard Anthropic built for that access. Each data source gets an MCP server. Claude connects to the server, queries it live, and operates on real current data instead of whatever stale export you pasted in.

For SEO, the stack that changes your week is: Google Search Console MCP + Ahrefs MCP + a writer project with your voice guide and offer docs in the knowledge base. Three connections, and you've replaced most of what a junior SEO analyst does manually.

Before you start

You need:

  • Claude Pro, Team, or Enterprise. MCP connectors require it.
  • Admin access to your Google Search Console property.
  • An Ahrefs paid account with API access (API is on standard plans and above — check your plan; no separate API key purchase required if you're already paying).
  • Claude Desktop or Claude.ai with connectors enabled. Both work — desktop is smoother for MCP.

Step 1: Connect Google Search Console via MCP

Anthropic maintains a GSC connector in the MCP Directory. Open Claude settings → Connectors → browse the directory → find Google Search Console → click Connect.

You'll go through Google's OAuth flow:

  1. Click Sign in with Google.
  2. Pick the Google account that owns your GSC property.
  3. Approve the scopes Claude is requesting — webmasters.readonly is what you want. Do not approve broader scopes than that.
  4. Pick which properties Claude can see (you can limit to specific sites).

Back in Claude, test with: "List my verified Search Console properties." If you get a list of your domains, you're wired up.

Step 2: Connect Ahrefs via MCP

Ahrefs publishes an MCP server. In Claude's Connectors panel, add Ahrefs (or paste the MCP server URL from Ahrefs' docs if it's not in the directory yet).

Authentication: Ahrefs uses an API token. Get yours from Ahrefs → Account Settings → API Access → generate token. Paste into Claude's connector config.

Be careful with scopes. Ahrefs' API is credit-metered — a chatty Claude can burn credits fast. Look for a read-only or rate-limited token option if you have one, and check your Ahrefs dashboard after the first few queries to calibrate usage.

Test: "What's the current organic keyword count for [your-domain.com] in Ahrefs?" If you get a number, you're connected.

Step 3: Set up a "SEO Ops" Project with your context

Open Claude → Projects → New Project → name it "SEO Ops" (or your brand's SEO workspace).

Drop into the knowledge base:

  • Your current tracked keyword list (CSV or Google Sheet link).
  • Your brand voice guide (for title tag and meta description rewrites).
  • A short "rules of engagement" doc: what you don't optimize for (e.g., "don't chase keywords that compete with our paid offer"), what counts as a win (e.g., "impressions lift + CTR lift on money pages").

Project custom instructions:

"You have access to Google Search Console and Ahrefs via MCP. When asked about SEO performance, always pull live data — don't estimate. Before writing title tags or metas, pull current ranking and CTR for the target page first. Use U.S. English. Never suggest keyword-stuffed titles."

Projects are described in detail in How Do I Build My First Claude Project.

Step 4: Run your first real query

In the SEO Ops project, try something meaningful:

"For the 10 keywords in my tracked list, pull last 7 days of impressions and average position from GSC. Then pull current position from Ahrefs for the same keywords. Flag any keyword where GSC says we're page 2 (positions 11–20) and we're getting over 100 impressions — those are the quick wins."

Watch Claude work. It'll make MCP calls (you'll see tool-use indicators), reconcile the two data sources, and come back with a prioritized list. The first run will take 20–40 seconds.

Compare the output to what you'd get by exporting both CSVs and VLOOKUPing. Faster, and the prioritization is already done.

Step 5: Build repeatable workflows as saved prompts

The power of the stack is repetition. Save the useful queries as prompt templates inside the Project (or as a Skill if you're on Claude Code too — see the Skills guide).

Templates I use weekly:

  • Monday SEO pulse — the page-2 opportunity query above, plus any ranking drops of 3+ positions.
  • Title tag sprint — "For these 5 page URLs, pull GSC CTR, pull Ahrefs top-ranking competitors' titles, write 3 title variants per page that align with our voice guide."
  • Content gap — "Cross-reference our top-performing GSC queries with keywords Ahrefs shows competitors ranking for but we don't. Output the top 10 gaps."

Each one is a single prompt that used to be two hours of spreadsheet work.

Verify it worked

1. Both MCPs answer live queries. Ask Claude to pull today's data from each. Check the numbers against the respective dashboards.

2. Cross-source queries reconcile. Ask a question that requires both sources ("impressions from GSC AND ranking from Ahrefs for keyword X"). If Claude pulls both and joins them, the stack is working.

3. Tool-use is visible. In the chat, you should see Claude invoking google_search_console.* and ahrefs.* tools. If it's not, it's guessing, not querying.

Where this breaks

  • Ahrefs credit burn. Claude will happily run 30 API calls to answer one vague question. Be specific in your prompt ("pull these 10 keywords," not "look at our keywords"). Check your Ahrefs credit usage weekly until you've calibrated.
  • GSC data latency. Search Console data is 2–3 days behind real-time. Don't schedule a Monday 8am pull that's trying to report Sunday's numbers — it won't be there yet. Run Monday pulls against "last full 7 days" or "last 28 days."
  • Property mismatches. If your GSC and Ahrefs use different domain formats (www vs. non-www, http vs. https), the join will silently miss. Standardize on one canonical form.
  • Token use. Big keyword lists + full data pulls can blow past conversation limits. Use /clear between major queries, or scope your tracked list to the 20–50 keywords that actually matter.
  • Ahrefs TOS. Running automated queries through an MCP is allowed, but aggressive scraping or reselling Ahrefs data via the API is not. Personal/agency use within your account's own domains is fine; check their TOS if you're doing client work at scale.

What to try next

Want this built for you instead?

Let's talk about your AI + SEO stack

If you'd rather skip the how-to and have it shipped for you, that's what I do. Start a conversation and we'll figure out the fastest path to results.

Let's Talk
Questions from readers

Frequently asked

Do I need a paid Ahrefs plan for the MCP to work?

You need API access, which is included on standard Ahrefs plans and above. You don't pay extra for MCP — it's the same API credits whether you call Ahrefs from a script or through Claude. Check your plan; if API isn't enabled, you'll need to upgrade.

Can I use this without Ahrefs — just GSC?

Yes. GSC-only still gives you impressions, clicks, CTR, and average position for your own site. You lose competitor data and backlink signals, but the quick-win workflow (page 2 keywords with high impressions) works from GSC alone.

Will Claude burn through my Ahrefs API credits?

It can, if you prompt vaguely. A question like 'look at our keywords' might trigger 30 API calls. Scope your prompts ('pull these 10 keywords') and monitor the Ahrefs usage dashboard for the first week. Once calibrated, weekly audits run in single-digit credit counts.

Is Claude seeing my raw analytics data?

Yes — Claude queries the data live through the MCP and reasons over it in the conversation. With the 'do not train on this data' toggle on, that content stays out of Anthropic's training. Enterprise and Team plans are already out by default.

What's the difference between using the MCP and just pasting a CSV?

Freshness and scale. The MCP pulls current data every query, so you never work from stale exports. It also handles bigger datasets than you can paste, and reconciles across sources (GSC + Ahrefs + your own CRM) in a single prompt. CSV pasting is fine for one-off questions; MCP is fine for weekly operations.