Agent Tools / MCP install guides / SEO Audit in Cursor

SEO Audit in Cursor

SEO and local AI readiness. The MCP server is https://seoaudit.openkrill.app/mcp. No key. The steps below are only for Cursor. A call to audit_page was checked against that server on 2026-10-01.

What this server answers

Audit a website for technical and on-page SEO problems. Ask "audit example.com", "what SEO problems does https://example.com/docs have?" or "which pages on my site have missing titles or duplicate descriptions?".

audit_site reads the homepage, the sitemap and the pages they link to (up to 25 pages), respecting robots.txt, and returns the rules that failed grouped by priority, each with the affected pages, the fix and the link to the documentation the rule comes from. It covers robots.txt and sitemap problems, broken links and redirect chains, noindex, nofollow and canonical issues, crawlable links and URL tidiness, titles, descriptions, headings, thin and duplicate content, image alt text, structured data and review markup, share tags, language and hreflang, mixed content and page weight. For sites with many similar pages (a page per city or product) it compares the pages it read: groups of near-identical pages, pages with little text of their own once the shared template wording is removed, hreflang links the other page does not return or sets without x-default, and sitemap pages that no page links to. For local businesses it checks LocalBusiness markup (name, address, telephone, opening hours, map or coordinates), whether those details match what the page shows, and whether each location has its own page. audit_page applies the page rules to one address.

local_ai_readiness checks whether that same site is ready to be named in AI search. It reads only the business's own public pages and returns pass, warn or fail for a page per service, location or service-area pages, visible prices, an FAQ, LocalBusiness schema (name, address, phone, hours, geo, sameAs), consistent name address and phone, on-site proof, a clear one-line description and recent dated content. Each check names the page it was seen on and a concrete fix. It adds what Gemini (first-party site, 41.9%), OpenAI (directories, 40.9%) and Anthropic (reviews, 20.5%) leaned on in a Yext study of 492,000 local queries, as of 2026-10-01, plus advice about claimed profiles, cover photos and attributes. It does not query those engines and does not fetch directories or review sites. It is limited per day and per network.

check_ai_instructions reports whether a public site publishes /llms.txt and /llms-full.txt, an AI page, home-page links, and whether the file matches the site's own name, products and facts. generate_ai_instructions drafts an llms.txt from those pages for the owner to review and does not publish it. Both cite https://x.com/chris_nectiv/status/2105655128162468334 (2026-10-01) as the reason they exist. They do not query AI engines and do not promise an effect on AI Overviews.

The rules follow Google Search Central documentation; the catalog is adapted from the MIT-licensed jev-seo project, and rules that are conventions rather than requirements are marked as heuristics. Optionally, a judgement step (off unless requested) reads the pages' text with a language model service to say what each page is for, how specific it is, and which pages compete for the same searches. It is limited per day and per network, and when it is unavailable the rule results are returned with a note. local_ai_readiness does not use that step.

Only the site you name is crawled: public websites on the standard ports, robots.txt respected, a small number of requests at a time, with a User-Agent that names Agent Tools. Private, local and internal addresses and redirects into them are refused. It does not run JavaScript, does not measure rankings, traffic or backlinks, and does not test whether a firewall blocks crawlers.

It stores nothing about you or the site: pages are read, turned into findings and dropped. Answers are cached for ten minutes. The only lasting records are a daily count of calls, daily totals for the optional judgement step, and daily totals for local AI-readiness checks (a day count, plus a count per coarse daily hash of the network, deleted after a few days).

What it can do

Tools

Add SEO Audit in Cursor

Cursor reads MCP servers from mcp.json. A project file at .cursor/mcp.json applies to that project. A user file at ~/.cursor/mcp.json applies everywhere. These steps were checked against the Cursor MCP docs on 2026-10-01. Streamable HTTP is the transport: a url, not a shell command.

Create or edit the file so it contains this server. Merge it with servers you already have. Do not replace the whole file if other servers are listed.

{
  "mcpServers": {
    "seo-audit": {
      "url": "https://seoaudit.openkrill.app/mcp"
    }
  }
}

No headers and no auth block. Those are for servers that require a token or a pre-registered OAuth client. SEO Audit answers without either. Saving the file is the install. Open Cursor Settings, then MCP, and confirm SEO Audit is enabled. If it stays disconnected, reload the window. You should see audit_site, audit_page, local_ai_readiness, check_ai_instructions, generate_ai_instructions.

In Agent chat, ask: Audit example.com for SEO problems Cursor calls the tool over streamable HTTP and shows the arguments before it runs them, depending on your run mode. Approve the call the first time and read the result. The server is public and read-only. It does not see your repository unless the model puts repository text into the arguments, so do not paste secrets into the question.

A one-click Marketplace install does not exist for this server. The JSON above is the whole setup. Team admins can distribute the same url through a team marketplace, but that is an admin step, not something this page can do for you. OAuth redirect URLs in the Cursor docs matter only for servers that require sign-in. Skip them here.

A call checked on 2026-10-01

example.com is one public page. Judgement stays off, so no page text is sent to a language model. The request below was posted to https://seoaudit.openkrill.app/mcp as tools/call. HTTP 200. Source: the SEO Audit server, read 2026-10-01.

{
  "method": "tools/call",
  "params": {
    "name": "audit_page",
    "arguments": {
      "url": "https://example.com",
      "judge": false
    }
  }
}

Repeat the call yourself if you need a newer reading. Cached answers expire. A rate limit is not a result: wait and try again. Nothing in the call is a ranking, a filing, or advice.

Same server, other clients

Roles that use SEO Audit

Terms used on this page

Source: plugin listing for seo-audit in this repository, and a live tools/call on 2026-10-01. As of 2026-10-01.