open-seo-mcp-skills: SEO skills for Claude that read your own GSC and GA4 accounts
Open-source SEO + GEO skills for Claude on your real GSC/GA4/ads data. Free MCP: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp
At a glance
- What is it?
- The repository ships eight MIT-licensed Claude skills for SEO and GEO work, and routes every data call through the hosted Ryze MCP connector rather than a bundled API key. The code is free and the data path is not, which is the whole argument the README is making.
- Who is it for?
- Adopt it if you already run Google Search Console, GA4 and Google Ads for the sites you work on, and you want the SEO workflow to live inside Claude Code rather than a separate dashboard. Do not adopt it if you need a tool that works offline, on a client site you cannot connect to a third-party workspace, or without any hosted dependency at all.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly Shell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem is the data layer, not the skill layer
The README opens with a direct claim about the open source SEO category: most projects are a UI over the DataForSEO API, so the code is free but the data never was. That framing is the project's reason to exist. The skills themselves are prompt-and-tool definitions, and writing them is not the hard part. Getting real positions, real clicks and real AI referral traffic into the model's context is the hard part, and it is where hosted SEO subscriptions charge. The repository's answer is to borrow the data from accounts the user already pays for. Rankings come from Google Search Console, traffic from GA4, keyword volumes from Google Ads keyword planner data. DataForSEO covers the gaps Google will not fill, such as competitor keywords and backlinks, and the README states it is already wired into the connector so there is no key to manage. The intended user is an engineer or technical marketer who has Claude Code open all day and does not want to switch to a dashboard to check whether a page is decaying.
Eight skills, each pinned to a named data source
The README lists the skills in a table with a source column, and that column is the most useful part of the documentation. seo-audit covers indexation, CTR anomalies, decaying pages and quick wins, and runs on GSC plus GA4. keyword-research takes a seed through ideas, volume, CPC and intent to a clustered plan, using Google Ads plus DataForSEO. rank-tracking reports position movers between two periods and explicitly replaces a tracker subscription, reading only GSC. competitor-gap finds keywords a competitor ranks for that you do not. backlink-check compares a backlink profile and referring domains against a competitor. ai-visibility reads GA4 AI-referral reports to show which engines send traffic and which pages they cite. content-brief builds a SERP-driven brief with headings, entities, questions and internal links. seo-vs-ads crosses GSC with Google Ads to find queries you pay for that you already rank for organically. That last one is the clearest example of the design paying off: the join only works if both sides are the user's own accounts, and no third-party tool can produce it from scraped data.
How the MCP connector and skill namespacing fit together
Two layers are in play. The Ryze MCP server at https://connector.get-ryze.ai/mcp exposes provider tools, and the skills are the Claude-side instructions that decide which tool to call and how to interpret the result. The README documents the naming convention for tool authors: tools are namespaced as provider__tool, with examples given as google_search_console__runRawSearchAnalytics and google_ads__generateKeywordIdeas. When a request shape is unclear, the README says to call native__get_provider_docs with the provider name, such as dataforseo or google_search_console, and it returns the official API documentation. Two constraints are stated plainly. Tool availability can vary by workspace, and every skill in the repository states its fallback for that case. That fallback convention matters more than it first appears: it means a skill written against a tool your workspace does not expose should degrade rather than fail silently, though the README does not spell out what each fallback does. The authorisation model is also worth noting. The connector is HTTP transport, and the user signs in, picks a workspace, and connects Search Console, GA4 and ads accounts once.
Getting it running: two commands, or a git clone
The README gives a three-line quick start. The first line registers the connector: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp. The second and third add and install the plugin from the marketplace: claude plugin marketplace add Ryze-AI-Adgent/open-seo-mcp-skills followed by claude plugin install open-seo-mcp-skills@ryze. The README notes that the plugin bundles the connector, so the first command is optional in Claude Code. For users who would rather not use the plugin system, the manual path is a git clone and a copy into the skills directory: git clone https://github.com/Ryze-AI-Adgent/open-seo-mcp-skills && cp -r open-seo-mcp-skills/skills/* ~/.claude/skills/. There is also a UI path for Claude outside Claude Code, under Settings, Connectors, Customize, add custom connector, with the name Ryze AI and the same connector URL. After installation the interaction is plain language: the README suggests prompts such as run an SEO audit on my site, what keywords does competitor.com rank for that I don't, and how much am I paying for clicks I'd get free.
The hosted connector is the dependency the licence does not cover
MIT covers the skills and the repository. It does not cover the data path, and the README says so: data access runs through your own Ryze workspace and your own connected accounts. That is a real architectural constraint, not a footnote. If the connector is unavailable, or your workspace does not expose a given provider tool, the skills have nothing to read, and the README's own note that tool availability varies by workspace suggests this is expected behaviour rather than an edge case. The second constraint is account access. Every high-value skill depends on the user being able to authorise Search Console, GA4 and Google Ads for the relevant properties. An agency working on a prospect's site before a contract exists cannot run most of these skills, because the prospect has not granted access. A third constraint is DataForSEO. The README positions it as built in with no key to manage, which removes setup friction but also removes the user's visibility into per-call cost. The README is explicit that other hosted tools add roughly a 28 percent markup on data calls, and it does not state the billing arrangement on its own connector. That is the gap a buyer should close before committing a team.
What it does differently from a Semrush or Ahrefs subscription
The README's comparison table puts Semrush and Ahrefs at $120 or more per month with data included, and lists their rankings and traffic as estimated. The distinction the project draws is between estimation and measurement. A rank tracker infers positions from SERP scrapes; this reads the positions Google already recorded for the user's property. The same split applies to traffic, where GA4 is the source rather than a modelled estimate, and to AI visibility, where the README contrasts prompt-sampling estimates with actual AI referral traffic in GA4. The trade-off is scope. A Semrush subscription covers any domain the user types in, including competitors and prospects, with no authorisation step. This covers the properties the user has connected, plus whatever DataForSEO can return about everyone else. For competitive research the two converge on similar sources. For reporting on your own site, the measurement argument holds. The other difference is the interface: the README notes that Semrush and Ahrefs do not work inside Claude, while these are native skills plus MCP. Whether that is an advantage depends entirely on whether the user already works in Claude Code.
Maintenance cost and what the repository does not say
The repository is Shell, MIT licensed, and the last push recorded is 2026-09-09, with no releases retrieved. The skills are text definitions, so forking and editing them is cheap, and the README invites exactly that: take them, change them, ship them. The maintenance surface sits on the connector side. Tool names are namespaced and provider-scoped, so a change in a provider's API shape can invalidate a skill's assumptions, which is presumably why native__get_provider_docs exists as an escape hatch. Anyone maintaining a fork should expect to re-check tool names against their workspace periodically. On licensing, MIT permits modification and redistribution of the skills, but the README makes clear that data access is governed by the user's Ryze workspace and connected accounts, so redistributing a fork does not redistribute data access. This is a description of what the repository states, not legal advice; teams with compliance requirements around third-party data processing should read the connector's terms separately.
Editorial conclusion
Adopt it if you already run Google Search Console, GA4 and Google Ads for the sites you work on, and you want the SEO workflow to live inside Claude Code rather than a separate dashboard. Do not adopt it if you need a tool that works offline, on a client site you cannot connect to a third-party workspace, or without any hosted dependency at all. Before installing, verify two things: that the Ryze connector can be authorised for every property you plan to audit, and whether DataForSEO-backed skills such as competitor-gap and backlink-check incur a separate charge on your workspace, because the README states the markup situation for other tools but does not state the billing model for its own connector.
Community notes