Andrew Dorokhov

SEO / developer tools · Own product (open source)

An SEO audit MCP server: ask your AI client to audit a site, and it crawls, ranks the fixes and suggests the links to add

An open-source MCP server and CLI that crawls a site, finds technical SEO problems, suggests internal links from local embeddings and shows what changed between two crawls.

MCP tools for crawls, audits, links, diffs and reports
16
audit checks, each with a recommended fix
28
API keys: embeddings run locally, in about 100 languages
0

The challenge

What the client needed

SEO crawlers produce tables with thousands of rows. Someone still has to read them, decide what matters and turn them into a list of fixes, and that is the slow part of every audit.

AI clients like Claude and Cursor are good at that kind of reasoning, but they cannot see a site's structure. They can read a page or two, not crawl a thousand pages, follow every redirect, count inlinks and compare this week with last week.

Internal linking is the most manual part of the work: which older articles should link to a page, in which paragraph and with what words. Crawlers report orphan pages but do not say where the missing links should come from.

The approach

How I solved it

01

A crawler that respects the site

Crawlmind follows links and sitemaps, obeys robots.txt and Crawl-delay, and pauses between requests to the same host. For every page it records the redirect chain, response time, title, canonical, headings and each link with its place on the page: menu, footer or content. It reads HTML as the server sends it and does not run JavaScript.

02

An audit with a fix for every issue

After each crawl, 28 checks run over the same data: broken links, redirect chains, canonical errors, duplicate titles, thin content, orphan pages, slow responses and more. Each issue comes with examples and a recommendation, and the link graph adds click depth and internal PageRank.

03

Links suggested by meaning

A local multilingual model embeds every page and every paragraph of its main content. For pages on the same topic that do not link to each other yet, Crawlmind returns the paragraph that fits best and anchor phrases taken from it, matched by word stems so inflected forms count. The AI client writes the final sentence.

04

What changed since last week

Every crawl is kept in a local SQLite database, so any two can be compared: new 404s and 500s, new broken links, pages that lost inlinks, slower responses, changed titles and canonicals.

05

Tools built for agents

Sixteen MCP tools return short text an agent can act on, with structured data alongside. Long crawls run in the background and report progress while the agent waits. Two ready-made prompts run a full audit or build a linking plan, and the embeddings add-on installs itself after the user agrees, without restarting the client.

06

Safe to point at any site

A crawled page can hide instructions for the AI. Crawlmind refuses private and local addresses on every connection and redirect, DNS rebinding included, and writes reports only to its own folder unless the user allows more. A hidden prompt cannot turn the client into a scanner of the local network or make it overwrite files.

In motion

Highlights

01

Ask, and the tools run

One question starts a crawl, waits for it, reads the summary and the issues, compares the result with last week and comes back with a ranked list of fixes.

A question is typed into an AI client, crawlmind tool calls appear one by one while the crawl counts pages, then five ranked fixes appear.
02

A crawl with live progress

The terminal counts pages as they arrive, then prints the summary: status codes, links, response times and the top issues with examples.

A crawl command is typed, a progress line counts pages and errors, then the crawl summary with the top issues appears line by line.
03

From suggestion to link

A suggestion names the source page, the paragraph and anchor phrases from it. The same words in the page become a link, and the target gains a content inlink.

An anchor candidate lights up in the suggestion, the same words light up in the buying guide's paragraph and turn into a link to the trail running guide, and the content inlink count goes from 1 to 2.

See it in action

The product

One question in an AI client: six tool calls and a ranked list of fixes.
The same audit in the terminal: a crawl summary with the top issues and examples.
Where to add links to a page, with the paragraph and the anchor, and which pages compete for the same topic.
What broke between two crawls a week apart.
A single-file HTML report to send to a client or a team.

The outcome

What the client got

  • Crawlmind is published on npm and GitHub under the MIT license. One command connects it to Claude Code, and Cursor, Claude Desktop and other clients take a short JSON config.
  • An audit is one question in plain words: the client crawls the site, reads the issues and answers with fixes ranked by impact, grouped by the template that causes them.
  • Internal link suggestions and cannibalization checks run on the user's machine with no API keys and no data sent anywhere, in about 100 languages.
  • The CLI and the MCP server share one local database: crawl in the terminal, then ask the AI about the result. In CI, one flag fails the build when critical issues appear.
  • The embeddings build on the approach of the AI news aggregator, which groups articles into stories by meaning.

Need something similar built?

Send a short brief about your project. Within 24 hours you get an estimate or a clear next step, even if we don't work together.