# SiteGuru MCP Server

The SiteGuru MCP server gives AI assistants direct access to your SiteGuru SEO data —
site audits, Google Search Console performance, keyword data, competitor analyses and
Shopify insights — so you can ask about your sites in plain language instead of clicking
through reports.

[SiteGuru](https://siteguru.co) is an SEO tool that tells you exactly what to fix on your
website to get more traffic.

## Connecting

| | |
| --- | --- |
| **Endpoint** | `https://mcp.siteguru.co/mcp` |
| **Transport** | Streamable HTTP |
| **Auth** | OAuth 2.1 (with dynamic client registration) or a personal access key |

Most clients only need the endpoint URL. Add it as a remote MCP server and you will be
sent to SiteGuru to sign in and approve access; the client stores the token it gets back.

For clients that cannot do the OAuth flow, create an access key in your SiteGuru account
and send it as a bearer token:

```
Authorization: Bearer <your-siteguru-access-key>
```

You need a SiteGuru account on a plan that includes MCP access. Your plan is checked on
every request, so access follows your subscription.

Start by calling `list_sites` to see which sites you can reach — every other tool takes a
site domain from that list.

## Tools

The same list, machine-readable with full input schemas, is public at
[`/.well-known/mcp/server-card.json`](https://mcp.siteguru.co/.well-known/mcp/server-card.json)
— no token needed to look.

- **list_sites** — List the SiteGuru sites you can access, with each site's health score, connected data sources (Search Console / Google Analytics 4) and available date ranges. Call this first; every other tool references a site by its domain.
- **get_todo_list** — Get the prioritized SEO to-do list for a site: the most important issues to fix, grouped into technical, content and opportunity categories, each with a severity and a link to the full report.
- **get_seo_report** — Get an SEO report for a site: indexation, page titles, meta descriptions, headings, image alt texts, structured data, canonical urls, page speed, og tags, orphan pages, hreflangs, broken links, redirected urls, error pages, sitemap, lorem ipsum, backlinks and site-wide checks. Supports summary, issues-only and full per-page modes.
- **get_page_report** — Get the full SEO audit for a single page: its actual title, H1, meta description, canonical URL and page speed score, its indexation status, and every issue and compliment from the checks that ran.
- **find_pages** — List and search a site's pages by SEO health. Find a specific page by path or title, scope to a section, or surface the worst-scoring pages first.
- **get_traffic_overview** — Get a traffic overview for a date range from both data sources: Search Console clicks, impressions and CTR plus GA4 sessions, users and revenue, with top pages and top queries and period-over-period change.
- **get_traffic_sources** — Get the site's Google Analytics 4 traffic sources for a date range: the channels sending sessions (Organic Search, Direct, Referral, Paid Search, Organic Social, …) with their share of total and revenue for ecommerce sites.
- **get_top_keywords** — Get the site's top 100 Search Console keywords for a date range, with clicks, impressions, CTR and average position, each compared to the previous period.
- **get_top_pages** — Get the site's best pages by Search Console clicks for a date range, each with impressions, average position, GA4 pageviews when connected, and the single keyword that page wins the most clicks on.
- **get_focus_keywords** — Get the keywords the user is deliberately tracking, each with its target page and target position, current clicks, impressions and ranking, and optionally a per-keyword page-optimization checklist.
- **get_search_topics** — Get the site's Search Topics (keyword clusters) with their combined KPIs and top-keyword preview, or drill into one topic for its full keyword list.
- **get_keyword_cannibalization** — Find queries where two or more of the site's own pages compete for the same keyword, with each competing page's clicks, impressions and position.
- **get_new_keywords** — List queries the site has started ranking for this period (newly in roughly the top 30) that it wasn't ranking for before.
- **get_lost_keywords** — List queries that used to rank in the top 30 with real traffic but have since dropped out, biggest losses first.
- **get_low_hanging_fruit** — Get keywords already earning impressions that rank just below the click-winning positions — the quickest ranking wins, each with the page to improve.
- **get_top_products** — Shopify only. Get a store's top products for a date range, ranked by revenue then Search Console clicks, with clicks, impressions and GA4 revenue.
- **get_product_issues** — Shopify only. List the products that need SEO work, lowest health score first, each with its failing checks — or drill into one product's full SEO checklist by handle.
- **get_top_collections** — Shopify only. Get a store's top collections (category pages) for a date range, ranked by revenue then clicks; a collection's revenue is the combined sales of its products.
- **get_collection_issues** — Shopify only. List the collections that need SEO work, lowest health score first, each with its failing checks — or drill into one collection by handle.
- **get_backlink_opportunities** — Surface referring domains that link to the site's competitors but not to the site: potential outreach targets, ranked by domain authority with referring domains, backlinks and spam score.
- **list_competitor_analyses** — List the site's completed competitor analyses, one entry per competitor, with keyword gap and overlap counts and how recent each analysis is. Read-only; never starts a new (paid) analysis.
- **get_competitor_analysis** — Get one competitor's full report: the keyword gap (what content to create), the keyword overlap, an AI summary with recommendations, and a head-to-head KPI comparison of estimated organic traffic, keyword counts, domain rank, referring domains and backlinks.
- **get_declining_content** — Find content decay: pages whose Search Console clicks have dropped over the last 6 complete months, biggest decline first, with the full month-by-month click history.
- **get_growing_content** — Find rising content: pages whose Search Console clicks have grown over the last 6 complete months, biggest growth first, with the full month-by-month click history.
- **get_page_content_trend** — Drill into one page's per-keyword monthly clicks over the last 6 months, biggest movers first — the "why" behind a declining or growing page.

## What it can do

Every tool is **read-only**. Nothing here changes your site, your SiteGuru settings or your
Google accounts, and the competitor and backlink tools never start a new (paid) analysis —
they only read analyses you have already run in the app.

Each result comes back as a short summary plus structured JSON, and every issue carries a
link straight to the matching report in SiteGuru so you can go fix it.

## Support

Questions or problems: [support@siteguru.co](mailto:support@siteguru.co) —
or see [siteguru.co](https://siteguru.co).
