Creator SEO MCP

io.github.YoshyaesPublished by GitHub account Yoshyaesv0.1.1Updated Oct 24, 2026

SEO MCP server for creators. Ranks Google Search Console opportunities by ad revenue, not clicks.

VerifiedSTDIODesktop onlyWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

An SEO assistant for content creators that pulls Google Search Console data and ranks keyword and page opportunities by estimated ad and affiliate revenue.

What you can do
It queries Google Search Console to surface striking-distance keywords (positions 4-15), per-page performance, month-over-month content decay, and query cannibalization across pages. It also fetches a URL to audit on-page title, meta, headings and body against a target query, and combines all signals into one revenue-weighted action list. Six tools are designed to be used together in a creator SEO workflow.
When to use it
Use it when you run a content site or blog and want to decide which SEO fixes are worth doing first based on money rather than raw clicks. It suits creators monetized by display ads or affiliate links who already have Search Console data and want prioritized, page-level recommendations.
Requirements
Runs locally as a Python package (uvx or pip). Requires a Google Cloud OAuth 2.0 desktop credentials.json file, whose absolute path is set in GOOGLE_CREDENTIALS_PATH, plus the Search Console API enabled and access to the relevant properties. Optional environment variables CREATOR_SEO_SITE_RPM and CREATOR_SEO_AFFILIATE_CATEGORIES tune revenue weighting. Desktop only; network access needed for Google APIs and page fetches.
Before you install
It reads your Google Search Console data through OAuth credentials, so the credentials.json file is sensitive and should be kept private. The audit tool fetches page URLs, sending those addresses to the site being analyzed. Revenue figures are estimates driven by the RPM and affiliate values you configure, so treat rankings as guidance rather than guaranteed income.

Installation

In SourceWeft

  1. Open Creator SEO MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

creator-seo-mcp

[CI]

An MCP server for content creators that connects Google Search Console to your page content and ranks every SEO opportunity by estimated revenue, not vanity clicks.

Generic SEO tools surface raw GSC numbers. This one tells you which fix pays most, based on your actual display-ad RPM and affiliate commission rates.

What it does

Six tools, designed to work together in a full creator-SEO workflow:

ToolDescription
get_striking_distance_keywordsQueries ranking at positions 4-15 with real impression volume, the ranking page, and the gap to page 1
get_page_performanceFull GSC picture for one URL: clicks, impressions, CTR, position, and the queries driving it
analyze_content_decayFlags pages losing clicks or impressions month-over-month
audit_page_onpageFetches a URL, reads title/meta/headings/body, compares against a target query, and proposes concrete edits
find_cannibalizationDetects queries where multiple pages compete, splitting authority
get_top_opportunitiesThe headline call: combines all signals, weights by revenue, returns a single ranked action list

Install

bash
uvx creator-seo-mcp

Or with pip:

bash
pip install creator-seo-mcp

Setup

1. Google Search Console credentials

Follow docs/gsc-setup.md to:

  • Enable the Search Console API in Google Cloud
  • Create an OAuth 2.0 Desktop client
  • Download credentials.json

2. Claude Desktop config

Add to your claude_desktop_config.json:

json
{  "mcpServers": {    "creator-seo-mcp": {      "command": "uvx",      "args": ["creator-seo-mcp"],      "env": {        "GOOGLE_CREDENTIALS_PATH": "/path/to/credentials.json",        "CREATOR_SEO_SITE_RPM": "15"      }    }  }}

3. Claude Code config

bash
claude mcp add creator-seo-mcp uvx creator-seo-mcp \  -e GOOGLE_CREDENTIALS_PATH=/path/to/credentials.json \  -e CREATOR_SEO_SITE_RPM=15

4. Revenue config (optional but recommended)

Set your display-ad RPM so opportunities are ranked by real dollars:

bash
export CREATOR_SEO_SITE_RPM=22          # your Mediavine/Raptive RPMexport CREATOR_SEO_AFFILIATE_CATEGORIES='{"gaming-deals": 2.0}'

See .env.example for all options.

Example agent prompts

  • "Show me my top five revenue-weighted SEO opportunities for this week."
  • "Which of my posts are losing traffic compared to last month?"
  • "My Baldur's Gate 3 build guide is stuck on page 2. Audit it against its main keyword and tell me what to fix."
  • "Find any posts that are competing with each other for the same search term."
  • "What is the on-page gap between this article and the query it is trying to rank for?"

Two Average Gamers case study

Real output from get_top_opportunities, run live against Two Average Gamers (a top-200 gaming blog on Mediavine display ads and Amazon affiliate links) on 2026-08-25, over the trailing 28 days (392K impressions, 3.5K clicks per Search Console).

This is the actual "before" baseline, not a mockup. Dollar estimates use the default $15 RPM placeholder (set CREATOR_SEO_SITE_RPM to your real network RPM for accurate figures). Out of 147 scored opportunities across all three signal types, the top 5 by estimated revenue:

#TypePageQueryFinding
1Striking distancebest-letterboxd-alternatives..."letterboxd for games"Position 4.6, 97K impressions, 1.6-position gap to page 1
2Cannibalizationsame page + 3 others"letterboxd for games"4 TAG pages splitting 99.8K impressions on the same query
3Striking distancebackloggd-review"backloggd"Position 5.5, 11.4K impressions, 2.5-position gap to page 1
4Cannibalizationsame page + 2 others"backloggd"3 TAG pages splitting 15.1K impressions on the same query
5Striking distancebackloggd-vs-gg-vs-savepoint"backloggd"Position 5.5, 3.7K impressions, 2.5-position gap to page 1

analyze_content_decay also flagged 40 pages losing clicks month-over-month on this run, the worst being a 100% drop (10 clicks to 0) on a Palworld lawsuit post and a 61% drop on a Palworld tower-boss guide, both worth a content refresh before the traffic they had is gone for good.

Update (2026-08-25): the title/H1 edits for the two striking-distance opportunities above are live. Re-running audit_page_onpage against the real pages confirms it:

PageTarget queryIn title?In H1?Remaining suggestions
best-letterboxd-alternatives..."letterboxd for games"✅✅none
backloggd-review"backloggd"✅✅none
backloggd-vs-gg-vs-savepoint"backloggd"✅✅none

No position or traffic movement to report yet, and that's expected, not a null result: Search Console's data has a 2-3 day freshness lag, so a same-day re-pull still covers the identical 2026-07-26 to 2026-08-22 window as the original baseline above, before any of these edits existed. Google also needs to re-crawl and re-rank the pages, which typically takes longer than the raw data lag. This section will be updated again once a GSC pull actually covers the post-edit period (realistically 2-3 weeks out) with the real position and click change, not before.

Contributing

Issues and PRs welcome. See CONTRIBUTING.md for guidelines.

License

MIT

Source: README.md at commit c868317

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.