SEO Audit in Claude
SEO and local AI readiness. The MCP server is https://seoaudit.openkrill.app/mcp. No key. The steps below are only for Claude. 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
- Audits up to 25 pages of a site from its homepage and sitemap, with robots.txt respected
- Returns failed rules grouped by priority with the affected pages, the fix and the documentation link
- Checks titles, descriptions, headings, canonicals, noindex, structured data, share tags and image alt text
- Finds broken links, redirect chains, sitemap problems, thin and duplicate content
- Checks local business markup: name, address, phone, hours, map, and that the details match the page
- Compares pages: near-identical templated pages, little own text, hreflang returns, sitemap pages nothing links to
- Audits one page with the full page rule set
- Optional judgement of page purpose and competing pages, limited per day
- Checks local AI-search readiness: services, locations, prices, FAQ, schema, NAP, proof
- Checks llms.txt, llms-full.txt, an AI page, home links, and name, product and fact consistency
- Drafts an llms.txt from the site's own public pages for the owner to review
Tools
audit_site, Audit a site for SEO problems. Use this to audit a whole site or several pages for SEO; it finds the pages itself. It fits requests such as "audit example.com", "what SEO problems does my site have?", "which pages are worst?", "take a quick look at a few pages of this site" or "my site has a page per city, are they too similar?", so never guess page addresses for those. Pass the domain and optionally max_pages (1 to 25, default 10). Reads the homepage, the sitemap and linked pages of that site only, respecting robots.txt, and returns the rules that failed grouped by priority (high, medium, low), each with the affected pages, the fix and the documentation link. It also compares the pages it read: near-identical templated pages, pages with little text of their own, hreflang links that are not returned or lack x-default, and sitemap pages nothing links to. Leave judge off unless the user asks what pages are for or which compete. It reads a sample of pages, does not run JavaScript, and does not measure rankings, traffic or backlinks. Do not use it for private or local addresses or to collect a site's content.audit_page, Audit one page for SEO problems. Use this only for a single page address the user gave. It fits requests such as "what SEO problems does https://example.com/docs have?" or "is the title and description of this page OK?". Pass the page address. For several pages or a whole site call audit_site once instead of this tool many times. Returns the page rules that failed grouped by priority, each with the fix and the documentation link, plus the title, description, headings and other facts that were read. robots.txt is respected. Rules that compare pages or read the sitemap need audit_site. Do not use it for private or local addresses, for rankings or traffic, or to read a page's text.local_ai_readiness, Local AI-search readiness. Local-business readiness for AI search answers. Use this when the user asks if a local business site is ready to be named by AI search, ChatGPT, Gemini or similar, or what to fix so assistants can cite it. Pass the business's own site. Crawls only that site's public pages (robots.txt respected, up to 25, default 15) and returns pass, warn or fail for a page per service, location or service-area pages, visible prices, FAQ, LocalBusiness schema (name, address, phone, hours, geo, sameAs), NAP consistency, on-site proof, a one-line description and recent dated content. Each check has the evidence URL and a fix. Also returns what Gemini, OpenAI and Anthropic leaned on in a Yext study (as of 2026-10-01) and advice about claimed profiles and cover photos, which are not fetched. It does not query AI engines, directories or review sites, and it does not measure rankings. Do not use it for private addresses or to collect contact details.check_ai_instructions, Check AI instructions. Checks the site's AI instructions files and page. Use this when the user asks whether a site publishes llms.txt, llms-full.txt or an AI instructions page, whether the home page links to them, and whether the file matches the site's own name, products and facts. Pass the domain. Returns pass, warn or fail for each part, with the evidence URL and a fix, plus the date the pages were read. A public post is cited as the reason the check exists. It does not promise an effect on AI Overviews and does not query AI engines. Public pages only. Do not use it for private addresses or to collect contact details.generate_ai_instructions, Draft an llms.txt. Drafts an llms.txt from the site's own public pages. Use this when the owner wants a draft AI instructions file to review. Pass the domain. Returns markdown for the owner to edit and publish themselves. Nothing is written to the site. A public post is cited as the reason the draft exists. It does not promise an effect on AI Overviews and does not query AI engines. Do not use it for private addresses or to collect contact details.
Add SEO Audit in Claude
Claude connects to a remote MCP server as a custom connector. The connection is made from Anthropic's cloud, not from your laptop, so the server must be on the public internet. SEO Audit is. These steps were checked against Claude's custom-connector article (updated 2026-08-11) and the Claude Code MCP docs on 2026-10-01.
On a Pro or Max plan:
- Open Customize, then Connectors.
- Select the plus button, then Add custom connector.
- Paste
https://seoaudit.openkrill.app/mcp. Leave Advanced settings empty: this server does not need an OAuth client id or secret. - Select Add. The connector is yours. Anthropic has not reviewed it, and it is not a Directory listing.
- In a conversation, open the plus button, then Connectors, and enable SEO Audit. Ask: Audit example.com for SEO problems
On Team and Enterprise, an Owner adds the connector first at Organization settings, then Connectors, then Add, then Custom, then Web, and pastes the same URL. Members then connect it from Customize. A Free plan can add one custom connector.
In Claude Code, add it from the project directory:
claude mcp add --transport http seo-audit https://seoaudit.openkrill.app/mcp
That writes a local or user config. A JSON entry needs "type": "http" (or streamable-http) plus the url. An entry with a url and no type is skipped. Confirm with claude mcp get seo-audit. The tools you should see are audit_site, audit_page, local_ai_readiness, check_ai_instructions, generate_ai_instructions.
Enable the connector only in conversations that need it. Claude can call the tools while you work, including during research, so turn off any tool you do not want invoked. SEO Audit does not write to your accounts. It still receives the arguments of each call. Read the privacy page before you paste anything that is not public.
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
}
}
}
- status. 200
- notice. This is what the site served to a request from Agent Tools servers right now, read with robots.txt respected and without running JavaScript. The rules follow Google Search Central documentation and common conventions; ru
- url. https://example.com/
- finalUrl. https://example.com/
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.