# Growthr SEO + GEO MCP

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

- name: com.growthr/seo-geo-mcp
- version: 1.2.0
- connection class: R0 (autonomous)
- trust: 79/100 flags: no-repository
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.growthr%2Fseo-geo-mcp
- tools: https://api.protogrid.dev/v1/servers/com.growthr%2Fseo-geo-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "seo-geo-mcp": {
      "type": "http",
      "url": "https://mcp.growthr.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 85
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-97% ~updated-44d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (strong)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 4 of 4 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 866 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 4, about 866 tokens to load them all
- tool set hash: 208de5344900e25bb29648eebbbbb312
- badge: [![protogrid quality](https://protogrid.dev/badge/com.growthr/seo-geo-mcp.svg)](https://protogrid.dev/servers/com.growthr/seo-geo-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://mcp.growthr.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9655172)

## Packages

_none_

## Tools (4)

- `growthr_ai_visibility`: 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.
- `growthr_fix_order`: 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.
- `growthr_llms_txt`: 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.
- `growthr_scan`: 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.
