Skip to content

Growthr SEO + GEO MCP

by growthr.com · remote · no sign-in to list tools · v1.2.0 · published by com.growthr

SEO + GEO tools in your AI editor: scan as ChatGPT and Google crawlers see it, fix order, llms.txt.

Changes · 2

4 tools: 2 change things and 2 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http seo-geo https://mcp.growthr.com/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "growthr_fix_order" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for
  • The server marks "growthr_ai_visibility" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

4 tools

Changes things 2Claude Code: ask
  • growthr_ai_visibilityRun one buyer-shaped prompt through Gemini with Google Search grounding (a real, cited web search, the same mechanism behind Google AI Overviews) and report where the brand lands o…1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "growthr_ai_visibility" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run one buyer-shaped prompt through Gemini with Google Search grounding (a real, cited web search, the same mechanism behind Google AI Overviews) and report where the brand lands on the five-rung ladder: absent, cited (a page of the brand's site is a source), mentioned (named in the text), recommended (on the shortlist), or recommended against. Also returns the other names on the shortlist and the source domains the answer was built from. One prompt per call; limited to a few calls per day per user because grounded requests are billed per query.

    Annotations the server declares

    • title: Check whether an AI answer names a brand
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • growthr_fix_orderRun the scan and sort every failed check into buckets: blockers (fix before anything else, they hide everything downstream), this afternoon (metadata, llms.txt, trust pages, on-pag…1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "growthr_fix_order" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Run the scan and sort every failed check into buckets: blockers (fix before anything else, they hide everything downstream), this afternoon (metadata, llms.txt, trust pages, on-page), needs a sprint (schema, markdown negotiation, speed), and the off-site work no scan can measure (reviews, directories, third-party mentions), which is what decides whether AI engines recommend a business.

    Annotations the server declares

    • title: Order a site's fixes by effort
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 2Claude Code: allow
  • growthr_llms_txtRead a site's homepage, sitemap (or homepage links), and up to twelve pages, then draft an llms.txt in the llmstxt.org format: H1 name, blockquote summary, grouped page list with o…No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Read a site's homepage, sitemap (or homepage links), and up to twelve pages, then draft an llms.txt in the llmstxt.org format: H1 name, blockquote summary, grouped page list with one-line descriptions, contact, profiles, links. The 'When to use' section is left as a marked placeholder on purpose; it is a judgment about the business that no crawler can write. Returns the draft plus notes on anything skipped.

    Annotations the server declares

    • title: Draft an llms.txt for a site
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • growthr_scanFetch a public domain the way search engines and AI crawlers do (ChatGPT's GPTBot, Claude's ClaudeBot, and the fetchers behind Perplexity and Google AI Overviews: from a datacenter…No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    Fetch a public domain the way search engines and AI crawlers do (ChatGPT's GPTBot, Claude's ClaudeBot, and the fetchers behind Perplexity and Google AI Overviews: from a datacenter IP, no JavaScript) and run 22 weighted checks: reachability as a browser, GPTBot, and ClaudeBot; server-rendered content; metadata; strict JSON-LD and Organization schema; robots.txt access for AI crawlers; llms.txt and an in-page link to it; sitemap; honest 404s; markdown negotiation; trust pages; speed; and on-page SEO (title, description, single h1, viewport, alt text, favicon). Returns a 0-100 score and every check with pass/fail, what was found, and a fix hint. Reads about a dozen public URLs once. Growthr logs the domain and tool name for usage stats.

    Annotations the server declares

    • title: Scan a site for SEO and AI readability
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http seo-geo https://mcp.growthr.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__seo-geo__growthr_scan",
      "mcp__seo-geo__growthr_llms_txt"
    ],
    "ask": [
      "mcp__seo-geo__growthr_fix_order",
      "mcp__seo-geo__growthr_ai_visibility"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as seo-geo. Review it before you use it.