Skip to main content
Glama
RyanKramer

AutoRank MCP

by RyanKramer
README.md
<!-- mcp-name: io.github.RyanKramer/autorank-mcp -->

# AutoRank MCP

Technical SEO tools for AI agents. Generate and validate structured data, build
meta tags and crawl directives, check how a result will actually render in
Google, and analyse copy — all from inside Claude, Cursor, or any MCP client.

**No API key. No account. No network calls.** Every tool is a pure function, so
the server does its job offline and installs in one line.

Browser versions of these tools live at
[autorank.so/free-tools](https://autorank.so/free-tools).

## Install

Claude Desktop — add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "autorank": {
      "command": "uvx",
      "args": ["autorank-mcp"]
    }
  }
}
```

Or with pip:

```bash
pip install autorank-mcp
```

Then point your client at the `autorank-mcp` command. No environment variables
are required.

## Tools

### Structured data
| Tool | What it does |
|---|---|
| `generate_faq_schema` | FAQPage JSON-LD from question/answer pairs |
| `generate_article_schema` | Article JSON-LD with author and dates |
| `generate_breadcrumb_schema` | BreadcrumbList JSON-LD |
| `generate_local_business_schema` | LocalBusiness JSON-LD with postal address |
| `validate_json_ld` | Parses a block, checks required fields per type, flags risky patterns |

### Meta and crawl directives
| Tool | What it does |
|---|---|
| `generate_meta_tags` | Full head block: title, description, canonical, OG, Twitter Card |
| `generate_robots_meta` | Robots meta tag from directives, with a plain-English explanation |
| `generate_robots_txt` | robots.txt, optionally blocking the major AI crawlers |
| `validate_robots_txt` | Validates syntax and surfaces the mistakes that cause real damage |
| `generate_hreflang` | hreflang tags, with the return-link requirement spelled out |

### SERP and copy
| Tool | What it does |
|---|---|
| `check_title_length` | Pixel-width truncation check for titles |
| `check_description_length` | Pixel-width truncation check for descriptions |
| `serp_preview` | How the whole result renders, breadcrumb included |
| `keyword_density` | Word and phrase frequency with a stuffing warning |
| `readability_score` | Flesch Reading Ease and grade level |

### Utilities
| Tool | What it does |
|---|---|
| `build_utm_link` | UTM-tagged tracking URLs, warns on case-inconsistency |
| `slugify` | Clean URL slugs from titles |
| `autorank_free_tools` | Lists the web-only tools that need live crawling |

## Design notes

**Title checks measure pixels, not characters.** Google truncates on rendered
width, and character counts mislead badly — sixty capital `W`s and sixty `i`s
occupy very different space. Titles are the most common cause of a rewritten
snippet, so the check approximates width instead.

**The schema tools will not help you lie.** `validate_json_ld` flags
`aggregateRating` whenever it appears, because fabricated ratings are a
documented cause of manual actions, and `generate_faq_schema` states plainly
that the answers must already be visible on the page. Structured data that
disagrees with rendered content is a spam signal, not a shortcut.

**Some tools are deliberately absent.** Anything needing live crawling or a
keyword corpus — broken-link checking, keyword difficulty, sitemap extraction,
duplicate-content detection — is not a pure function, so it stays on the web
where it belongs. `autorank_free_tools` lists those.

**robots.txt controls crawling, not indexing.** `validate_robots_txt` says so in
its output, because conflating the two is the single most common way sites
accidentally leave pages in the index.

## Development

```bash
git clone https://github.com/RyanKramer/autorank-mcp
cd autorank-mcp
pip install -e .
autorank-mcp
```

## About

Built by [AutoRank](https://autorank.so) — AI SEO content automation. The web
versions of these tools, plus about thirty more, are free at
[autorank.so/free-tools](https://autorank.so/free-tools).

MIT licensed.

TDQS

B3.1/5.0

Scored across 18 tools

Disambiguation4/5

Each tool targets a distinct SEO asset or action, making most selections unambiguous. Some overlap exists between check_title_length/check_description_length and serp_preview, but the descriptions clarify the different outputs. No tools are redundant.

Naming Consistency4/5

The naming is mostly consistent with a generate_/check_/validate_ pattern, and all names use snake_case. Exceptions like slugify, keyword_density, and readability_score deviate slightly but remain intuitive and readable.

Tool Count4/5

At 18 tools, the count is slightly above the typical 3-15 range but justified by the breadth of SEO functionality. Each tool serves a distinct purpose, though a few could be consolidated or omitted without major loss.

Completeness3/5

The toolkit covers many core SEO tasks: meta generation, robots handling, common schemas, and content analysis. However, significant gaps remain, such as sitemap generation, redirect handling, and a broader set of schema types (e.g., Product, Recipe). These missing pieces limit full lifecycle coverage.

Maintenance

ActivityMaintained
ResponsivenessNo issues