Skip to the content.

Integrations

Every tool seo-suite connects to, how each connection works, what you need to do, what it costs, and what is still planned. Checked 2026-10-24. Prices change often; references/tools.md has the full price notes.

The short version:

Contents

Where to start

Every step after the first is optional. Stop once the free data answers your questions.

  1. Nothing yet. Install seo-suite (README) and ask in plain words, for example “audit example.com”. The scripts need no accounts or keys.
  2. Google Search Console. Add the site, preferably as a Domain property, verify it (how), and submit the sitemap under Indexing → Sitemaps. Then sign in once for the API (how), or export the Performance report each month, or let Claude open Search Console in the browser while you are signed in.
  3. Bing Webmaster Tools. Import the site from Search Console, which also verifies it.
  4. Ahrefs Free. Verify the site. It gives the best free view of your own backlinks: the top 1,000 backlinks and keywords, plus a site audit.
  5. A PageSpeed Insights key, only if psi.py runs out of the shared quota. Set psi_api_key with /plugin configure seo-suite@seo-suite.
  6. GA4, if you want to see conversions from organic traffic. Add Google’s analytics-mcp server (see GA4).
  7. Google Business Profile, if you are a local business. Set it up or claim it.
  8. Paid data, only for questions free data can’t answer. Install one connector, sign in, then set its budget above 0 (see the credit guard).
  9. Let Claude change things, if you want. At the default autonomy level 1 it only reads and reports. Level 2 lets it propose code changes as pull requests (levels).
  10. Schedules, last. The seo-automation skill proposes permission rules and a schedule, and applies them only after your OK.

Commands that start with /, such as /plugin configure, are typed into a Claude Code session. Commands that start with claude, gcloud or npx are run in your computer’s terminal.

Terms used here

At a glance

Level Meaning
Built in The plugin’s own scripts call it. Nothing to set up
Through claude-seo claude_seo.py installs claude-seo on first use and runs its tool. Needs git and Python 3.11–3.14
Connector Install a small add-on plugin from this repo and sign in to the vendor once. The credit guard limits its spending
Add it yourself No connector. You add the vendor’s own MCP server. The credit guard recognises it and limits its spending
Your licence A licensed tool you add yourself. The credit guard recognises it but lets calls through, because there is no per-call charge
Your account Your own Google, Bing or business data, through exports, an official server or the browser
Web Public sources Claude reads with its own web tools, or that you check by hand
Advice only Covered in the docs, with no connection
Planned Not built yet

The Stack column gives each tool’s label in the Main stack: “default” is the free stack every run starts with, and “paid” is the small and big lists that apply once paid tools are set up.

Tool Level Used for What you do Cost Stack
Any website (yours or a competitor’s) Built in Crawls, page audits, robots.txt, sitemaps, redirects, rendering checks, page comparisons Nothing Free Main in every list
claude-seo (AgriciDaniel) Through claude-seo The rendered DOM for render_diff.py (Playwright), Search Console Search Analytics, URL Inspection and sitemaps, and technical drift between crawls Nothing: installed on first use. For Search Console, sign in once Free Main in every list
Google PageSpeed Insights API Built in Lab speed audits and real-user Core Web Vitals Nothing. Add a free key only if the shared quota runs out Free Main (paid lists); Cross-check in the default stack, lab against CrUX field
Google, Bing and YouTube autocomplete Built in Keyword ideas Nothing Free. Unofficial public endpoints, rate-limited Default: Cross-check (Google, Bing). Paid: Cross-check (Bing), Reserve (Google). YouTube: Reserve
Your server’s access logs Built in Which bots crawl what, fake Googlebots, sitemap URLs never crawled Supply the log files Free Main in every list
Semrush Connector Competitors’ keywords and traffic, keyword volume and difficulty Install the connector, sign in, set semrush_monthly_units A Semrush plan that includes API units Reserve
Ahrefs Connector Backlinks, competitor link profiles, organic keywords Install the connector, sign in, lower the key’s cap in Ahrefs, set ahrefs_monthly_units Lite plan ($129/mo) or higher domain-rating-free (to build): Main (default), Cross-check (small, big). REST v3 on Standard (to build): Cross-check (big). Lite, Site Audit, the GSC endpoints and the MCP: Reserve, the MCP only in sessions you watch
DataForSEO Connector Bulk keyword volumes, search result snapshots, backlinks, AI-answer data Install the connector, enter the API login, set a daily limit at DataForSEO, set dataforseo_monthly_usd Pay as you go, $50 minimum top-up Main (small, big); labels per API in references/tools.md. Reserve (default)
Similarweb, SE Ranking, Keywords Everywhere, AlsoAsked, Otterly, Lumar Add it yourself Traffic estimates, rank tracking, volumes, question research, AI-answer tracking, crawling Add the vendor’s MCP server (named after the vendor), set other_monthly_usd The vendor’s own plan SE Ranking Data API (to build): Main (small). In the big list it splits by market: Main for the GE pairs and the markets DataForSEO Labs lacks, and Cross-check in the markets Labs covers. Reserve (default). SE Ranking’s other APIs and the other vendors: Reserve
Screaming Frog Your licence Large crawls with JavaScript rendering CLI for scheduled crawls, MCP in sessions you watch £199/year. Free mode crawls 500 URLs and has no MCP Big: Main (licensed CLI). Small and the default stack: Reserve
Sitebulb Your licence Reading finished crawls (its MCP is read-only and can’t start crawls) Add its MCP server (OAuth) A Sitebulb plan Reserve
Google Search Console Your account Clicks, queries, positions, indexing Sign in once for the API (claude_seo.py google-signin), or export Performance reports, or let Claude use Search Console in the browser Free The API (through claude-seo): Main (default, small, big); in the default Technical list, URL Inspection is a Cross-check against crawl.py. Bulk export to BigQuery: Main (default, big), Reserve (small). Search generative AI report, Links and Crawl Stats exports: Reserve, use when a person exports them
Google Analytics 4 Your account What organic visitors do and whether they convert Sign in with gcloud and add Google’s analytics-mcp server Free Main in every list. AI referrals: Main (default), Cross-check (small, big)
Bing Webmaster Tools Your account Bing search data and your backlinks Export reports Free The API (client to build): Main (default, small, big). Crawl methods: Cross-check (default, small, big). Positions: Cross-check (default), Main (small, big). Keyword API: Cross-check (default), Reserve (small, big). AI Performance export: Reserve, use when a person exports it
Google Keyword Planner Your account Search volume ranges Export the shortlist’s volumes Free with a Google Ads account Reserve
Google Business Profile, Merchant Center Your account Local and shopping visibility Share exports or read-only access Free Main in every list where they apply (Business Profile client to build)
IndexNow Your account Telling Bing, Yandex and others that a page changed Host a key file at your site’s root Free Main in every list (submitter to build)
Live search results Web Who ranks, what the results page shows, People Also Ask Nothing Free on a Claude subscription; an API-key run pays Anthropic’s web search fee (up to 8 searches a call) WebSearch samples: Main (default), Cross-check (small, big)
ChatGPT, Perplexity, Google AI Overviews and AI Mode, Copilot, Claude, Gemini Web Whether AI answers mention or cite you Nothing, or collect answers yourself Free stack: GA4 AI referrals and SerpApi Free. Paid: official APIs through ai_probe.py; DataForSEO SERP and AI Mode for Google AI answers (Main stack) ai_probe.py: Main (small, big), Reserve (default). Checks by hand: Reserve. Never automated in the apps
Wayback Machine Web Old versions of pages Nothing Free Cross-check in every list; Reserve for a site move
Rich Results Test, Schema Markup Validator Web (by hand) A final check of structured data Run them yourself Free Reserve

Main stack

The ranked core of tools that lets a run do SEO end to end with no person in the loop once credentials are given. The full tables are in references/tools.md: why each tool is there, how a run drives it, what it costs a month, what each cross-check compares, and the condition for every Reserve tool.

Default: big website, free only. Every run starts here, at every site size: the most thorough stack that costs $0. The page count sets only its depth: up to 2,000 URLs the run covers every URL, and above that it works in sections and samples. Free means $0 to run. API keys for free quotas (PageSpeed Insights, CrUX, Search Console, Bing Webmaster Tools) count as free; pay-per-call APIs (OpenAI, Anthropic, Perplexity, DataForSEO) don’t. The small and big paid lists below take over only when budgets or credentials for paid tools are set, or when you ask. The full tables, quotas, billing-account notes and what free can’t answer are in references/tools.md.

Size. Small is up to 2,000 indexable URLs: the sitemap total across every locale folder, subdomain and ccTLD. Big is more. Markets, competitors, keywords and locations multiply the costs but don’t change the class.

Small sites, paid. Main costs about $15–20 a month, pay per use, with no subscription.

Big sites, paid. Main costs about $140–200 a month, with Screaming Frog as the only licence. Main + Cross-check is about $400–710, with Ahrefs Standard as the one SEO subscription.

Semrush, Moz for big sites, SerpApi Free for big sites (use when there is no Ahrefs plan), Similarweb, AlsoAsked, Yext and the person-assisted exports (the Search generative AI report, the Links report and Bing’s AI Performance report) are Reserve. In the default free stack, every paid tool is Reserve, brought in when its budget or credentials are set or you ask.

Rules every integration follows

Built in: no accounts, no keys

The scripts use only Python’s standard library, so there is nothing to install.

Each connector is optional. Install only the ones for vendors you pay for, so nobody sees a failing server for a tool they don’t have.

Vendor Install (type in Claude Code) How it connects Sign-in
Semrush /plugin install seo-suite-semrush@seo-suite Semrush’s official MCP server, read-only Run /mcp, choose plugin:seo-suite-semrush:semrush, then Authenticate. Log in to Semrush in your browser
Ahrefs /plugin install seo-suite-ahrefs@seo-suite Ahrefs’ official MCP server, limited to its SEO tool groups Run /mcp, choose plugin:seo-suite-ahrefs:ahrefs, then Authenticate. Log in, pick the workspace and click Allow. Needs the Lite plan or higher
DataForSEO /plugin install seo-suite-dataforseo@seo-suite DataForSEO’s official MCP server, which runs on your computer through npx. Needs Node.js 22 or newer. The first start downloads it Run /plugin configure seo-suite-dataforseo@seo-suite and enter the API login and password from DataForSEO’s dashboard. The API password is not your dashboard password. Both are masked and kept in the system keychain (the Keychain on macOS)

Vendor details:

Setup notes for each: Semrush, Ahrefs, DataForSEO. The whole setup, with permission rules and schedules, is in the seo-automation skill.

The credit guard: a budget for every paid call

The credit guard is part of the main plugin. It checks every paid MCP call before it runs and records it after, however the vendor was added (a connector above, claude mcp add, or a claude.ai connector), as long as the server’s name contains the vendor’s name, for example semrush, ahrefs, dataforseo or dfs-mcp. Name any server you add by hand after its vendor. claude.ai connectors should match too, but that is unverified.

There is no guard in cloud routines, which load no plugins, or in claude -p --bare, which skips hooks. Never add --bare to a scheduled run.

Every budget starts at 0, which blocks all paid calls. Free tools and cached results still work. You set the budgets once with /plugin configure seo-suite@seo-suite:

Option Default Meaning
semrush_monthly_units, ahrefs_monthly_units 0 Monthly budget in API units. A month is a UTC calendar month
dataforseo_monthly_usd, other_monthly_usd 0 Monthly budget in US dollars
per_run_cap_pct 25 The most one session may spend, as a percentage of each monthly budget
ask_above_pct 5 A single call estimated above this percentage of its monthly budget is not run. It is listed in the end-of-run questions, and you approve it by raising this value or the budget for the next run
max_rows 50 Row limit on paid Semrush, Ahrefs and DataForSEO calls. Other vendors’ calls are not clamped
cache_ttl_days 0 Days a paid result is reused. 0 means 30 days for keyword volumes, 7 for search results, rankings, domain data and backlinks, and 1 for site audits

Example. With semrush_monthly_units at 20,000, one session may spend up to 5,000 units (25%). Any single call estimated above 1,000 units (5%) is held for your decision.

Suggested starting budgets for one site:

What it does on each call:

Vendors it recognises:

Vendor Budget it uses How it prices a call
Semrush semrush_monthly_units From Semrush’s published prices. A report with no known price is held for your decision
Ahrefs ahrefs_monthly_units From Ahrefs’ published prices. Free tools, such as Rank Tracker and account info, run without a budget check
DataForSEO dataforseo_monthly_usd From DataForSEO’s published prices. Free tools, such as documentation and the balance check, run without a budget check
Similarweb, SE Ranking, Keywords Everywhere, AlsoAsked, Otterly other_monthly_usd Prices unknown. Every call is counted as ask_above_pct of other_monthly_usd (5% by default)
Lumar other_monthly_usd Calls that start or resume a crawl (analyze_run_crawl, analyze_resume_crawl, analyze_create_single_page_request, lumar_act) are counted the same way. All other calls run without a budget check
Screaming Frog, Sitebulb None You pay for a licence, not per call, so calls run without a budget check

Only Semrush, Ahrefs and DataForSEO have a connector. For the others, add the vendor’s MCP server yourself and name it after the vendor so the guard recognises it:

More detail: references/paid-tools-automation.md.

Autonomy levels: what Claude may change

By default Claude only reads and reports. To allow more, set the autonomy_level option with /plugin configure seo-suite@seo-suite:

Level What Claude does without asking
1. Analyse (default) Reads only: fetches, crawls, free tools, paid calls within budget, reports
2. Fix in code Level 1, plus edits to your site’s code on a separate branch, sent as a pull request
3. Ship Level 2, plus merging pull requests that pass CI, and submitting sitemaps and IndexNow for changed URLs
4. Operate Level 3, plus publishing to a CMS and Search Console sitemap submission through an authorised connector

Anything above your level waits for your OK. No level covers requesting indexing in Search Console, so that always needs your OK. Some actions always need you, whatever the level (see Rules). Details: references/autonomy.md.

Your own data: Google, Bing and your business accounts

Source How seo-suite gets the data Notes
Google Search Console The Search Console API through claude-seo once you sign in: claude_seo.py gsc-export writes the same CSV an export gives, claude_seo.py run gsc_inspect.py checks URLs, and at autonomy level 4 claude_seo.py submit-sitemap submits a sitemap. Sign in once in a terminal: python3 <plugin-dir>/scripts/claude_seo.py google-signin --client-secret client_secret.json, with an OAuth client (type Desktop app) from a Google Cloud project with the Search Console API enabled. It asks only for webmasters.readonly; add --sitemap-write for webmasters, which level 4 needs. A service account an owner adds as a property user works too (GOOGLE_APPLICATION_CREDENTIALS). Without a sign-in: your exports (Performance → Export), read by gsc_analyze.py. Or Claude works in Search Console itself in the built-in browser or Claude in Chrome, signed in as you. With the Ahrefs connector, its gsc tools also read Search Console data at 0 units (except gsc-anonymous-queries), in sessions you watch Google publishes no Search Console MCP server. With access set up (OAuth, or a service account added as a property user), the Search Console API gives up to 25,000 rows per request and the URL Inspection API 2,000 checks a day per site. An OAuth app left in Testing status gets refresh tokens that expire after 7 days, which breaks scheduled runs: publish the app, or use a service account. For big sites, have an owner turn on the bulk export to BigQuery early: it needs Google Cloud billing and has no row cap, but does not backfill. The Search generative AI report has no API, so it is exported in the browser. Data warning: a Google logging error made impressions, CTR and average position unreliable from 2025-05-13 to 2026-04-27 (clicks were not affected), so don’t compare those metrics across that window (Google’s notice)
Google Analytics 4 Google’s official analytics-mcp server, which you add yourself after signing in with gcloud Read-only unless started with --allow-write. The plugin never adds that flag
Bing Webmaster Tools Performance exports, which gsc_analyze.py reads by matching Bing’s column names to Search Console’s. Or Bing’s API, with a key from Settings → API Access, through a community MCP server you choose to trust The plugin has no built-in Bing API client. Bing powers Copilot, so its data matters for AI search too
Google Keyword Planner Your export (a UTF-16 CSV), read by research_store.py ingest volumes, which keeps ranges such as “1K – 10K” as written Ranges unless the Ads account spends. The same command reads Semrush, Ahrefs and DataForSEO volume exports. Google’s official Google Ads MCP has no Keyword Planner
Google Business Profile An authorised connector, or exports and screenshots from the owner. The public listing is read with web search Performance (searches, calls, directions, website clicks) needs owner access. The Business Profile API needs Google’s approval. Profile edits always need your OK, and business.google.com is never automated
Bing Places, Apple Business The owner’s dashboards Listing corrections are exact items in the end-of-run approval batch. The owner applies them, because Bing Places and Apple Business have no public API for it
Google Merchant Center Read-only, through a connector or an export: diagnostics, the feed source and a sample of about 20 top products Feed data overrides page markup, so seo-ecommerce checks that feed, page and markup match. Edits always need your OK
IndexNow Changed URLs are submitted at autonomy level 3 or higher. First the site must serve a key (8–128 letters, digits or dashes) as a UTF-8 text file {key}.txt at its root. seo-suite has no IndexNow setting, so the key file is part of the site Up to 10,000 URLs per request. Reaches Bing, Yandex, Seznam, Naver, Yep and others. Google does not use IndexNow
Cloudflare AI Crawl Control Read in your Cloudflare dashboard: Security Settings → Bot traffic → AI bot policies With Bot Preference Sync on and an AI policy set to block, Cloudflare puts its own rules at the top of your robots.txt. They disallow Amazonbot, Applebot-Extended, Bytespider, CCBot, ClaudeBot, Google-Extended, GPTBot and meta-externalagent, and add Content-signal: search=yes, ai-train=no, use=reference. robots_check.py evaluates the live file, so it sees these rules, but it doesn’t yet say Cloudflare added them. Available on all plans
Google Indexing API Not used Only for JobPosting and livestream (BroadcastEvent) pages. It is not a way to get ordinary pages indexed

Each source’s label is in the At a glance table. The three it doesn’t list are Reserve: Bing Places and Apple Business, use when the owner corrects listings or exports insights; Cloudflare AI Crawl Control, use when the site is on Cloudflare; and the Google Indexing API, use for JobPosting or BroadcastEvent pages only.

Verifying you own the site

Search Console, Bing Webmaster Tools and Ahrefs Free all need proof that you own the site.

Service Ways to verify Watch out for
Google Search Console Domain property: a DNS record at your domain name provider (the only method). URL-prefix property: HTML file upload, HTML tag, Google Analytics tracking code, Google Tag Manager, or the DNS record Prefer a Domain property. It covers every subdomain and both http and https
Bing Webmaster Tools Import from Search Console, which verifies automatically. Or an XML file (BingSiteAuth.xml at the site root), a meta tag, or a CNAME record. Domain Connect can add the record for supported DNS providers Bing re-checks imported sites. If you revoke its Search Console access, reconnect it or verify another way
Ahrefs Free Search Console (recommended), a DNS TXT record, an HTML file in the root folder, or an HTML tag in the homepage <head> With Search Console, add the project in the same form as the Search Console property (www or not). Keep the record in place: Ahrefs checks it regularly

From autonomy level 2, Claude can add the HTML file or tag in a pull request. It counts only once that change is live. A DNS record needs your approval at every level, because DNS changes are always gated.

Free servers you can add yourself

None of these is bundled. The credit guard has no opinion on them because they cost nothing, so your permission rules decide.

Server What it adds Notes Stack
Chrome DevTools MCP (official) Performance traces (for example, the long tasks behind a poor INP) and a Lighthouse audit of your own pages. The audit has no performance category claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest. Use it only on your own site Main in every list
Microsoft Clarity MCP (official) Your Clarity project’s data The project admin creates the token. 10 requests per project per day, covering the last 1–3 days, so run it as one fixed daily job Cross-check in every list
Google Ads MCP (official) Read-only Google Ads data It has no Keyword Planner Reserve: use when the site runs Google Ads
Bing Webmaster Tools, community (zizzfizzix/mcp-server-bwt) Bing query and page stats Uses your Bing API key. Third-party code Reserve: use until the plugin’s Bing client exists
Search Console, community (AminForou/mcp-gsc) The Search Console API OAuth or a service account. Third-party code holding your Search Console access: audit it and pin a version. Destructive tools are off by default Reserve: use when claude-seo can’t be set up on the machine (no git, or no Python 3.11–3.14)

Public web sources

Scheduled runs and code changes

Which source answers which question

The free column gives the default free stack’s Main tools, and the paid column the paid lists’ Main tools. Both note their cross-checks. Ranks are in the Main stack; every Reserve condition is in references/tools.md.

Question Free source Paid, when free isn’t enough
Broken pages, redirects, titles, canonicals, duplicates crawl.py (per section above 2,000 URLs), sitemap_check.py, page_audit.py, redirect_check.py Big sites: Screaming Frog (licensed CLI). Cross-check: DataForSEO On-Page, a second crawl from other IPs
Is content there only after JavaScript runs? render_diff.py, with the DOM from claude-seo’s renderer (claude_seo.py render) Big sites: Screaming Frog renders whole sections. Cross-check: DataForSEO On-Page with JavaScript or browser rendering
Speed and Core Web Vitals, yours or a competitor’s CrUX API and History API (to build) for field data, and Chrome DevTools MCP traces. Cross-check: psi.py lab audits — (the paid lists use the same free tools, with psi.py as Main)
Structured data page_audit.py and schema_rules.py. The Rich Results Test by hand is Reserve Big sites: Screaming Frog’s structured-data validation. Cross-check: DataForSEO On-Page microdata errors
Your own queries, clicks and positions Search Console API through claude-seo (claude_seo.py gsc-export, 16 months of data) and the bulk export to BigQuery (needs Cloud billing). Without a sign-in: exports → gsc_analyze.py —
How bots crawl your site log_analyze.py on your access logs. Cross-check: Bing Webmaster crawl data (to build) —
Keyword ideas Search Console queries and WebSearch samples (People Also Ask). Cross-check: keyword_ideas.py Google and Bing suggestions (no volumes) DataForSEO Google Autocomplete. Cross-check: Bing suggestions
Search volume and difficulty Search Console impressions (measured demand, not volumes). Cross-check: Bing keyword API counts (to build) DataForSEO Google Ads volumes; difficulty from SE Ranking (to build) and, outside Georgia, DataForSEO Labs (Main on big sites, a cross-check on small). Big cross-checks: Ahrefs Standard and DataForSEO Clickstream
Competitors’ keywords and traffic Competitor sitemap inventory (to build), WebSearch samples, compare_pages.py, and the CrUX popularity rank for each competitor’s size band SE Ranking Data API (to build), and DataForSEO Labs outside Georgia (Main on big sites, a cross-check on small). Big cross-checks: Ahrefs Standard, and SE Ranking in Labs markets
Your own backlinks Bing Webmaster Tools API (to build). Cross-checks: Moz API Free and a live page_audit.py check. Ahrefs Free and the Search Console Links report are Reserve, exported by a person DataForSEO Backlinks API. Big cross-check: Ahrefs Standard
Competitors’ backlinks Common Crawl web graph (to build), domain level, and Ahrefs domain-rating-free (to build) for authority DataForSEO Backlinks API. Big cross-check: Ahrefs Standard
Rank tracking Search Console positions, and SerpApi Free (to build) snapshots for the money tier. Cross-check: Bing Webmaster positions DataForSEO Google organic SERP snapshots for competitors and other locales. Cross-checks: SerpApi Free (small), Ahrefs Rank Tracker (big)
Visibility in AI answers GA4 AI-referral sessions, and SerpApi Free for AI Overview and AI Mode. Checks by hand are Reserve ai_probe.py and DataForSEO Google AI Mode and AI Overview. Big cross-check: Ahrefs Brand Radar’s Claude, AI Overview and AI Mode data
What a page looked like before Wayback Machine CDX API (a Cross-check for competitor history) —

What to connect, by budget

Budget Stack
$0/mo Search Console, Bing Webmaster Tools, GA4, a PageSpeed key, Ahrefs Free, Screaming Frog free mode, and seo-suite’s scripts. For unattended runs this is the default free stack
~$130–200/mo Add one of Ahrefs Lite ($129, for link-heavy work) or Semrush Starter ($199) (for keyword- and competitor-heavy work; the $139 SEO plan lists no MCP access, so a run can’t use it), plus a $50 DataForSEO top-up for bulk volumes and search results, which lasts months at the scheduled pipelines’ few dollars a month
~$500+/mo Ahrefs Standard or Semrush Pro+, plus a Screaming Frog licence, a DataForSEO wallet, and an AI tracker (Brand Radar or Otterly Standard) if AI visibility is a goal you report on

Why each paid tool is worth it, and how to spend less: references/tools.md.

Every credential and where it goes

Credential Where you get it Where it goes
PageSpeed Insights API key Google Cloud console → enable PageSpeed Insights API → Credentials → API key psi_api_key in /plugin configure seo-suite@seo-suite. It is kept in the system keychain and exported as PSI_API_KEY each session
Semrush OAuth, or an API key OAuth: /mcp → plugin:seo-suite-semrush:semrush → Authenticate. Key: set SEMRUSH_API_KEY in your shell, then run the claude mcp add … --header "Authorization: Apikey $SEMRUSH_API_KEY" command above. The key ends up in ~/.claude.json
Ahrefs (Lite or higher) OAuth /mcp → plugin:seo-suite-ahrefs:ahrefs → Authenticate. Then lower the key’s 200,000-unit cap in Account settings → API keys
DataForSEO API login and API password from the dashboard. The API password is not your dashboard password /plugin configure seo-suite-dataforseo@seo-suite (system keychain). Never pass them on the command line
GA4 Application Default Credentials from gcloud auth application-default login with the analytics.readonly and cloud-platform scopes, or by impersonating a service account GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_PROJECT_ID in the claude mcp add analytics-mcp command
Bing Webmaster Tools Settings → API Access in Bing Webmaster Tools No seo-suite option uses it. A community Bing MCP server can
Search Console An OAuth client (Desktop app) from your Google Cloud project, for claude_seo.py google-signin; or a service account that an owner adds as a property user claude-seo keeps the token in ~/.config/claude-seo/oauth-token.json (owner-only permissions) and the client’s path in ~/.config/claude-seo/google-api.json. A service account goes in GOOGLE_APPLICATION_CREDENTIALS
IndexNow A key you make up: 8–128 letters, digits or dashes A text file {key}.txt at the site root
Ahrefs Free None It has no API or MCP. Use it in its own interface

What leaves your machine

Destination What is sent When
The sites you audit, yours or competitors’ Ordinary page requests (URLs) Every crawl, page audit, robots, sitemap, redirect or comparison check
Google PageSpeed Insights The page URL, and your key if set psi.py
Google and Bing autocomplete Your seed phrases, with the language and country keyword_ideas.py
Your DNS resolver IP addresses of hits claiming to be Googlebot or Bingbot log_analyze.py --verify-dns only
Semrush, Ahrefs, DataForSEO and other vendors you connect The query Claude sends: domains, URLs or keywords Paid calls, only within your budgets
Google (GA4, Search Console) and other accounts you connect Requests made with your sign-in Only when you have connected them
GitHub, PyPI and Playwright’s download host The git clone and pull of claude-seo, its Python packages and Chromium. Nothing about your sites The first time claude_seo.py runs, a pull before every use, and a new setup when claude-seo’s requirements change
Anthropic Everything Claude reads or writes in the session, as for any Claude Code use Always

The credit guard’s ledger and cache, the research store and the work log are local files. The research store goes further only if you commit it to a repo.

Check your setup

Advice only: not connected

The docs explain what these are for and when they are worth paying for, but the plugin has no connection to them. The Stack column gives each one’s label in the Main stack; every Reserve condition is in references/tools.md.

Tool What the docs say it is good for Stack
Moz Domain Authority, Page Authority and Spam Score, when someone reports in them. Moz has an official MCP server, in beta on paid API plans for account owners (https://api.moz.com/mcp/v1/data, OAuth or a Bearer API key). The plugin hasn’t wired it, and the credit guard doesn’t recognise Moz. In the Main stack the free API tier is a backlink cross-check for small sites API Free tier: Cross-check (default and small backlinks). Big sites and Moz Pro: Reserve
Majestic Trust Flow and Citation Flow. API on its API plan only, no MCP Reserve
SpyFu Historical paid-search and competitor ads Reserve
AnswerThePublic Question and phrase lists. No API listed Reserve
Google Trends Relative interest over time. Its API is in alpha Reserve
Ahrefs Brand Radar, Semrush AI Visibility, Peec AI, Profound Paid trackers of brand mentions in AI answers Brand Radar: Cross-check (big, paid, to build). The others: Reserve
Semrush Sensor Algorithm volatility, to see whether a drop is industry-wide (free page) Reserve
Looker Studio Free dashboards on Search Console and GA4 Reserve
Ahrefs Free (formerly Ahrefs Webmaster Tools) Your own site’s backlinks and audit, in its own interface Reserve
Screaming Frog free mode Crawling up to 500 URLs, to cross-check the plugin’s crawler Reserve
Screaming Frog Log File Analyser A desktop app for very large logs. log_analyze.py covers the core questions Reserve
YouTube Studio, vidIQ, TubeBuddy YouTube analytics and keyword tools for a channel strategy Reserve
BrightLocal, Yext, Semrush Listing Management Citation audits and listing distribution for multi-location businesses Reserve
Local Falcon Map-pack rankings on a grid of locations Cross-check (big, paid, local businesses). Reserve (small)
Botify, Conductor Enterprise crawling and SEO platforms Reserve

Planned, not built yet

In build order, the items that unblock the most categories first:

  1. Done: the Search Console API runs through claude-seo (claude_seo.py gsc-export, run gsc_inspect.py, submit-sitemap), with webmasters.readonly by default. It writes the same CSVs gsc_analyze.py reads, so mid-size sites aren’t limited by the 1,000-row export.
  2. A Bing Webmaster Tools API client for the query, page, link, crawl and keyword methods.
  3. Credit guard changes: an SE Ranking price table and a budget per vendor, row limits per endpoint, and the missing price rows (AI Mode, Maps, Clickstream and others).
  4. An IndexNow submitter that checks the key file before sending, since level 3 promises IndexNow.
  5. Done: ai_probe.py, direct AI-answer checks through the official APIs of OpenAI, Anthropic and Perplexity: a fixed question set, several runs each, fed to ai_visibility.py. They use the APIs because OpenAI’s terms forbid automated extraction from the ChatGPT app. API answers can differ from what the app shows. Gemini is Reserve: answers grounded with Google Search are never stored for analysis, because its terms forbid it, and the API without grounding is brought in only when GA4 shows gemini.google.com at 10% or more of AI-referral sessions for two months [heuristic]. With it, rank_snapshot.py and rank_compare.py store fixed-condition positions and compare runs.
  6. CrUX LCP subparts and the full 40-week history in psi.py, through the CrUX API and History API, using the same Google key.
  7. A polite competitor inventory: competitor sitemap diffs that honour robots.txt, send one request at a time per host, and stop on 403, 429 or a challenge.
  8. An Ahrefs REST v3 client for the big-site cross-checks and the free domain-rating-free endpoint.
  9. A Screaming Frog CSV adapter for triage.py and the research store, and a CDN log converter for log_analyze.py.
  10. A SerpApi collector for the Free plan’s 250 searches a month.
  11. A Common Crawl graph reader for the free domain-level link graph.
  12. A Google Business Profile client for local businesses.

Also planned, outside that order:

Under consideration, not yet decided. These came out of a review of other Claude Code SEO plugins (claude-seo, geo-seo-claude, seomachine and the older seo-skills), keeping only ideas with evidence behind them. The review’s Search Console fetcher, IndexNow submitter and CrUX history are now items 1, 4 and 6 above.

How it works inside Claude Code

More detail