SkillAgentSearch skills...

google-seo-mcp

SEO & GEO MCP server: Google Search Console, GA4, PageSpeed Insights, structured data, llms.txt, AI crawler checks, WordPress (Yoast, WP-CLI over SSH), GitHub (in-place edits, images) and Gmail attachments as 100 tools for AI agents; optional hosted mode with Google sign-in, per-user tokens and a Gi…

Install / Use

claude mcp add Akxan -- npx -y github:Akxan/google-seo-mcp

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

76/100

Supported Platforms

Claude Code
Claude Desktop

Our assessment of google-seo-mcp

google-seo-mcp scores 76/100 on our quality scale, 820th of 957 AI & Machine Learning skills we index.

Its MCP Server is 39 KB long, well organised into 29 sections with 18 code examples: a thorough specification that gives an agent plenty to work with.

It has 10 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
4/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated today, so google-seo-mcp is actively maintained.
  • Our last check on 2026-09-26 found the source still online.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

google-seo-mcp compared with similar skills

All 4 of these similar skills score higher than google-seo-mcp; compare them before choosing.

SkillScoreStarsUpdatedFormat
google-seo-mcp (this skill)by Akxan7610todayMCP Server
claude-memby thedotmack10096.6ktodayCLAUDE.md
Agent-Reachby Panniantong10091.8k20d agoCLAUDE.md
Understand-Anythingby Egonex-AI10085.4k3d agoCLAUDE.md
headroomby headroomlabs-ai10074.5ktodayCLAUDE.md

Frequently asked questions

How do I install google-seo-mcp?
Run claude mcp add Akxan -- npx -y github:Akxan/google-seo-mcp. The install tabs above show the steps for each supported agent.
Which AI agents does google-seo-mcp work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is google-seo-mcp safe to use?
It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is google-seo-mcp still maintained?
The repository was last updated today, so google-seo-mcp is actively maintained.
<div align="center">

google-seo-mcp

SEO & GEO MCP server for Claude, Codex, Cursor and any MCP client — Google Search Console, Google Analytics 4, PageSpeed Insights, structured data, llms.txt, WordPress and GitHub as 100 tools, so an assistant can diagnose and fix technical SEO, content and generative-engine-optimization issues in one conversation.

GitHub stars License: MIT Node TypeScript MCP Tools Release Deploy Last commit

Google Search Console · Google Analytics 4 · PageSpeed & CrUX · on-page and GEO audits · WordPress over SSH · GitHub

Quick start · Tools · Any agent · Architecture · Configuration · Deploy 24/7 · 中文文档

</div>

Why

google-seo-mcp is a Model Context Protocol server for SEO automation with AI agents. It connects Google Search Console, Google Analytics 4 (GA4), PageSpeed Insights / Core Web Vitals, the Chrome UX Report, Knowledge Graph, Wikidata, IndexNow, WordPress (Yoast SEO, WP-CLI over SSH) and GitHub, and adds GEO (generative engine optimization) checks: AI crawler access for GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot, llms.txt, JSON-LD / schema.org structured data, E-E-A-T signals and AI citation tracking.

Most SEO MCP servers wrap one API. Real SEO work crosses several: you find a striking-distance keyword in Search Console, check the landing page's engagement in GA4, audit the page, rewrite its title and FAQ, publish the change to WordPress or a static-site repo, then watch the numbers. This server gives an assistant every step of that loop as tools, with the guard-rails a public-facing site needs: read-only mode, destructive-action annotations, and untrusted-content instructions.

What it can do

| Area | Tools | |---|---| | Search Console (16) | gsc_list_sites, gsc_search_analytics, gsc_site_snapshot, gsc_compare_periods, gsc_opportunities (position 8–20 quick wins), gsc_ctr_opportunities, gsc_cannibalization, gsc_question_queries, gsc_rich_results_report, gsc_inspect_url, gsc_index_coverage (batch URL inspection with sitemap membership, referring URLs, rich-result issue severities and orphan detection), gsc_list_sitemaps (including the child sitemaps of an index) / gsc_submit_sitemap / gsc_delete_sitemap, gsc_add_site / gsc_delete_site | | Google Analytics 4 (11) | ga_list_properties, ga_property_config (streams, custom dimensions/metrics, key events, audiences with their defining clauses, Ads links, retention, attribution model and lookback windows, Google Signals state — read-only), ga_run_report (up to 4 date ranges, in-list and OR filters, and a dataQuality note whenever rows were sampled or withheld by privacy thresholding), ga_batch_run_reports, ga_run_pivot_report, ga_run_funnel_report, ga_run_realtime_report, ga_get_metadata, ga_check_compatibility, ga_compare_periods, ga_landing_page_seo (organic landing pages merged with Search Console, and a warning when GA4 records far fewer organic sessions than Search Console clicks, the signature of consent mode or a missing tag) | | Page & site audits (10) | page_audit, site_crawl, pagespeed, sitemap_check, robots_check, canonical_host_check (www/https/trailing-slash variants must all land on one address), hreflang_check, social_preview_check, compare_pages, keyword_suggest | | GEO (14) | ai_crawler_access, llms_txt_check, llms_txt_generate, structured_data_audit (per-type validation, cross-page entity consistency, and what makes the entity resolvable: live sameAs profiles, schema phone against visible text, one @id for publisher/author to reference), schema_generate, schema_validate, geo_page_score, geo_answer_coverage (per question people actually search, does a passage on the page answer it in its opening sentences, or is the answer missing, unheaded or buried), eeat_audit, knowledge_graph_check, indexnow_submit, ai_citation_check, ai_search_sources (batch up to 10 questions against Perplexity's search endpoint and rank who gets cited), brand_mentions | | Analysis (8) | seo_digest (what changed since the previous period: totals, the pages and queries that moved, what stopped bringing clicks - the weekly check the server can also send by itself), migration_check (pre-migration URL safety net), cross_site_links, content_refresh_candidates, crux_history, crux_snapshot (latest real-user record with the LCP sub-part breakdown, so you can see whether LCP is slow because of the server, resource discovery, transfer or render-blocking), wikipedia_pageviews (monthly views per language for an entity, with seasonality and year-on-year change), reviews_snapshot | | WordPress (28, optional) | wp_site_info, wp_list_posts, wp_get_post, wp_update_post, wp_seo_status, wp_update_seo, wp_bulk_update_seo (Yoast fields), wp_builder_check, wp_builder_list_items, wp_builder_update, wp_builder_restore (BeTheme / Muffin Builder content, including the entries inside toggles, tabs and FAQ lists, which can also be appended to, with snapshot-based undo), wp_list_media, wp_update_media (alt text), wp_upload_media (fetch, convert and resize an image into the media library, optionally as the featured image), wp_list_terms, wp_update_term, wp_internal_link_suggestions, wp_list_redirects, wp_add_redirect, wp_delete_redirect (Yoast Premium), wp_get_schema, wp_set_schema (JSON-LD injection), wp_get_seo_settings, wp_update_seo_settings (site-wide Yoast: title templates, archive noindex, breadcrumbs, organization identity with its contact email, telephone and social profiles, sitemap), wp_list_revisions, wp_update_post_from_revision (rollback with a diff preview), wp_delete_cache (site-wide purge, critical-CSS regeneration, and clearing WP Rocket's used CSS after a header, footer or theme change), wp_run (raw WP-CLI) | | GitHub (8, optional) | github_get_file, github_list_dir, github_search_code, github_list_commits, github_commit_files (atomic multi-file commits with full content, in-place find/replace edits for large files, or base64 binaries), github_commit_image (fetch an image URL, convert to webp, resize or crop, add variants, commit), github_commit_attachment (same, from a Gmail attachment), github_build_status (did the commit actually build and go live: check runs, deployments, or a direct fetch of the page for hosts that report nothing back) (so a static site can be edited from any client) | | Gmail (2, optional) | gmail_find_attachments (read-only search of the authorized mailbox listing each message's attachments, so a photo someone emailed lands in the repo through github_commit_attachment without leaving the chat), gmail_get_message (read the body of an emailed draft article or a client's corrections, plain text or HTML, with paging) |

Plus google_auth_status for diagnostics, and oauth_list_grants / oauth_revoke_grant to see and cut off the clients that connected through the OAuth layer (operator token only: a client that arrived through OAuth cannot see them). Every tool carries MCP annotations (readOnlyHint, destructiveHint, idempotentHint), the server publishes instructions for the model, and there is a read-only mode and toolset filtering.

<details> <summary><b>Example prompts</b></summary>
  • "Give me a snapshot of example.com for the last 28 days."
  • "Which queries rank between 8 and 20 with the most impressions, and which posts are they on?"
  • "Audit https://example.com/guide and score it for AI answer engines."
  • "Find question-style queries we already get impressions for and tell me where a FAQ is missing."
  • "Check whether GPTBot, PerplexityBot and ClaudeBot can reach the homepage."
  • "Before we move to the new host, verify every URL with traffic still resolves on new.example.com."
  • "Rewrite the SEO title and meta description of post 515 and publish it."
  • "Take this photo URL, make a 1200×675 webp cover plus a 1000-wide card, commit both to public/assets/img/blog/, then register the cover in src/lib/blog.js."
  • "Alba emailed three photos yesterday. Find them, turn the first one into the cover for the new post and commit it."
</details>

Tech stack

| Layer | Choice | Notes | |---|---|---| | Runtime | Node.js ≥ 22, TypeScript 5, ES modules | no build-time codegen, tsc only; googleapis requires Node 22 | | Protocol | @modelcontextprotocol/sdk | stdio for local clients, stateless Streamable HTTP for servers | | Google | googleapis (Search Console v1, Analytics Data v1beta, Analytics Admin v1beta, Gmail v1 read-only, optional) + google-auth-library | REST clients, no gRPC; service account or OAuth | | Web audits | cheerio, image-size, sharp, native fetch | PageSpeed Insights, CrUX (history and latest record with the LCP sub-part breakdown), Knowledge Graph, Wikidata, Wikimedia pageviews, Internet Archive CDX, Google Autocomplete, IndexNow, Perplexity, Brave, Places APIs over HTTPS | | WordPress | ssh + WP-CLI, two PHP helpers uploaded on first use | Yoast indexable rebuild, cache purge (WP Rocket / Super Cache / W3TC / LiteSpeed), mu-plugin for JSON-LD | | GitHub | REST + Git Data API, sharp for images | token from GITHUB_TOKEN or gh auth token; edits are validated to match exactly once before anything is committed | | Hosted mode | node:sqlite, google-auth-library OAuth2, GitHub App (RS256 JWT → installation tokens), server-rendered HTML | optional multi-tenant web UI: Google sign-in, encrypted refresh tokens, per-user bearer tokens, per-user GitHub access | | Validation | zod schemas per tool | descriptions double as LLM documentation | | Quality | smoke test with tool-list snapshot, secret-scan git hooks | npm test, npm run check:secrets |

Architecture

flowchart LR
    subgraph Clients
        CC[Claude Code]
        CD[Claude Desktop]
        HTTP[Any MCP client<br/>over HTTPS]
    end

    subgraph Server["google-seo-mcp"]
        direction TB
        T1[stdio transport]
        T2[Streamable HTTP<br/>Bearer auth · /healthz]
        HM[Hosted mode<br/>Google sign-in · SQLite<br/>per-user tokens]
        S["createServer()<br/>annotations · read-only · toolsets · instructions"]
        subgraph Tools
            GSC[gsc.ts]
            GA[ga.ts]
            WEB[web.ts · crawl.ts]
            GEO[geo.ts]
            AN[analysis.ts]
            WP[wp.ts]
            GH[github.ts]
            GM[gmail.ts]
        end
        T1 --> S
        T2 --> S
        S --> Tools
    en

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars10
CategoryAI
Updated21h ago
Forks6

Languages

TypeScript

Trust signals

97/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 info