What Is an SEO MCP Server?

An SEO MCP server is a set of tools an AI coding agent can call directly. Instead of opening a rank tracker in a browser, reading a number and pasting it into a prompt, the agent asks for the number itself. Model Context Protocol is the wire format that makes that possible: the agent lists the tools a server exposes, picks one, and gets structured data back rather than a screenshot of a dashboard.

SEO breaks into six jobs, and every server in this category covers some subset of them. Capture reads a live search results page. Discovery turns one seed phrase into the queries people actually type. Rank answers where a domain sits for a query today. Search Console reads what Google already knows about a site you own. Listening finds the conversations where a topic comes up. Publishing moves a draft toward a post.

The split that matters in this category is where the data comes from. Most SEO MCP servers are a thin protocol layer over a paid data API, so the tool call is free and the data behind it is metered. ToolPiper runs the capture in the browser already installed on the Mac, which changes the cost model and also the limits: there is no keyword volume to read, because volume is a vendor dataset and not something a page can be looked at to learn.

The State of the Art (August 2026)

The category is young and it is consolidating around one data vendor. Most SEO MCP servers are a protocol wrapper over DataForSEO, which sells search volume, backlinks, domain overviews and SERP reads by the call. That is not a criticism of the servers. It is the only practical way to answer a question like "how many people search this per month", because nobody can derive that from a page.

OpenSEO (Every App) is the most complete open implementation as of 2026-08-28. It is MIT licensed with full source, ships as a TypeScript app on Cloudflare Workers with a hosted MCP server, and carries nine MIT agent skills covering keyword research, clustering, competitive landscape, competitor analysis, link prospecting, local SEO, site audit, SEO coach and project setup. Six workflows: keyword research, rank tracking, competitor insights, backlinks, site audits, AI visibility. Its README is direct about the data layer: "Either way, you need a DataForSEO API key to get SEO data." Google Search Console, GA4 and its own site-audit crawler are the exceptions that do not call out to the vendor.

The second thing that moved in 2026 is what a search results page even is. An AI Overview now answers a large share of informational queries above the first organic result, and it cites specific domains. That makes "who does Google quote on this query" a different and more useful question than "what rank am I". Reading the AI Overview and the domain it cites first is now the single most load-bearing capture on an informational keyword, and it is the part most SERP APIs flatten away: a typed row survives the trim, and the block contents and its sources do not.

Both facts point the same direction. The vendor-backed servers own the numeric datasets. What is still unevenly covered is reading the live page carefully, including the parts of it that are not organic results.

What's Coming

The horizon table below separates what is being built from what has only been announced elsewhere. Two things are worth flagging in prose because they change how this page will read.

First, AI Overview presence is not stable. It rotates by session, by location and by personalisation, so a single capture is a sample and not a measurement. Anything that wants to be a measurement needs repeated captures on a schedule, and that is a scheduling feature rather than a search feature.

Second, the parts of SEO that need a dataset stay out of reach on this architecture. Search volume, backlink graphs and domain-level authority scores are not observable from a page. A tool that reported them would be reselling a vendor feed, and that is a product decision this project has already made in the other direction.

How ToolPiper Handles This Today

All of the tools below live in the Outreach family and are exposed over ToolPiper's local MCP server, so any MCP client on the Mac can call them. The rung badge at the top of this page names the plan they sit on, and it is derived from the same entitlement table the app itself reads, so it cannot drift from the product.

SERP capture and AI Overview detection

serp_search captures the live Google or Bing results page for a query using the reader's own Chrome. It returns ranked organic results with rank, title, url, domain and snippet, plus People Also Ask questions and related searches. On Google it also returns the AI Overview and the domain it cites first. That last field is the one that answers "is this query already answered above the fold, and by whom".

Because the capture drives a real browser rather than an API, the query leaves the Mac only to Google or Bing. There is no data vendor in the path, no API key to hold and no project to create first.

Keyword discovery

serp_autocomplete reads Google Suggest and returns the real autocomplete queries for a seed term. With expansion it fans out one level across letter suffixes, turning one seed into the phrasings people type. No browser is needed for this one.

Autocomplete returns presence, not volume. A seed that fans out to forty suggestions tells you the phrasings exist and that Google considers them worth suggesting. It does not tell you how many people search them per month, and no page on this site presents an autocomplete count as a demand figure. If you need volume, that is a dataset and it is named in the comparison below.

Rank check

serp_rank_check finds where specific domains sit in the live Google or Bing results for a query. It captures the page once, by the same browser path as serp_search, and reports the position for each domain asked about.

This is a point sample. There is no stored history and no scheduled re-check, so trend questions ("am I moving up") need either repeated calls kept somewhere yourself or a rank tracker that keeps history.

Search Console

Four tools read a property you already own. gsc_site_list lists the properties the connected account can reach and is the prerequisite for the rest. gsc_analytics queries search analytics: clicks, impressions, CTR and position, across multiple dimensions, with regex filters, pagination up to 25,000 rows and period comparison. gsc_inspect inspects one to ten URLs for indexing state, canonical, last crawl date, mobile usability and rich results. gsc_sitemap_list lists sitemaps with error and warning counts, last downloaded date and indexed URL count, and can submit a new one.

These call Google. They require a Google OAuth connection, and the request and its response travel to and from Google's servers like any Search Console query would. That is worth stating plainly because the rest of this page is about work that stays local, and this part is not.

Ready to try it? Connect Search Console to your AI editor walks the OAuth setup end to end.

Listening and mentions

reddit_search searches Reddit posts by keyword, optionally scoped to a subreddit, and returns titles, scores, comment counts and permalinks. hn_search searches Hacker News stories and comments through Algolia's index, which runs one to two minutes behind live. hn_trending_list pulls what is on the front page right now. reddit_post submits a post or a reply.

This is the half of SEO that is not a search engine. A query with thin search demand can still have an active thread every week, and the thread is often the better place to answer it.

The publishing queue

queue_add puts content into the outreach queue as a draft with a platform variant. queue_list lists drafts and filters by status. queue_publish marks a draft published.

The queue is a staging area rather than a distribution system: publishing currently sets the draft's status, and dispatch to the platforms themselves is not wired up. It belongs on this page because a keyword read that ends in a draft is the actual shape of the work, not because it does the posting for you.

Models and Hardware

None of the capture tools need a model. The models below are the ones the drafting half of this workflow uses: writing meta descriptions and titles at volume, and grouping a fanned-out keyword list into topics. Both run on the Mac.

How Does This Compare?

The honest version of this comparison starts with what OpenSEO has and this does not, because that list is long and it is the deciding factor for most of the people reading. If you need search volume, keyword difficulty, backlinks, a domain overview, rank history or a crawl of your whole site, OpenSEO has all of them and ToolPiper has none of them. The geo_* and seo_* suite that once aimed at some of this was removed in August 2026 and is not planned to return.

What is different is the shape of the cost and the depth of the capture. OpenSEO is open source; its data is not. Every keyword, SERP and backlink call is metered through DataForSEO, whether you pay OpenSEO monthly or top up a DataForSEO account yourself. ToolPiper's capture is unmetered because it reads the page in a browser you already have, with no API key, no data vendor, no project and no credits. OpenSEO's MCP asks for a project on every call; this one asks for a query.

On the capture itself: OpenSEO's get_serp_results calls DataForSEO's Google organic endpoint, slices the top twenty items and returns six fields per item. Every block type passes through as a typed row, so an AI Overview appears with a rank and empty title, url, domain and description, while the block's contents and the sources it cites live in nested items the six-field trim discards. serp_search returns the AI Overview and the domain it cites first, and it can read Bing as well as Google.

Start Here

The spoke directory below is the instructional half of this page. It is one guide today and grows with the cluster.

Limits worth knowing before you start

  • macOS 26 or later on Apple Silicon.
  • Google Chrome installed. serp_search and serp_rank_check drive it directly.
  • One capture is a sample. AI Overview presence rotates by session, location and personalisation, so a single read is evidence and not a measurement.
  • Search Console needs a Google OAuth connection, and those calls go to Google.
  • No search volume, no backlinks, no site crawl, no rank history. Those are datasets, and they are named in the comparison above.