Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Removed "index_tools"; changed the definition of "audit_page", "audit_site", "check_ai_instructions" and 5 more (11 tools before, 10 now)
AuditSEOoneaudit (pagefor SEO problems)
⟨77 unchanged words⟩ other facts that were read. robots.txt is respected.RulesNot for a whole site or a request to find pages: use audit_site, which also runs the rules that compare pages or read thesitemap need audit_site.sitemap. Do not use it for private or local ⟨11 unchanged words⟩
before
{"properties":{"failure":{"type":"string"},"finalUrl":{"type":"string"},"findings":{"properties":{"high":{"items":{"properties":{"count":{"type":"integer"},"evidence":{"type":"string"},"fix":{"type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"low":{"items":{"properties":{"count":{"type":"integer"},"evidence":{"type":"string"},"fix":{"type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"medium":{"items":{"properties":{"count":{"type":"integer"},"evidence":{"type":"string"},"fix":{"type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"}},"required":["high","medium","low"],"type":"object"},"judgement":{"type":"object"},"notes":{"items":{"type":"string"},"type":"array"},"notice":{"type":"string"},"page":{"type":"object"},"reachable":{"type":"boolean"},"refused":{"type":"string"},"status":{"type":"integer"},"url":{"type":"string"}},"required":["url","reachable","findings","notes","notice"],"type":"object"}after
{"additionalProperties":false,"properties":{"failure":{"description":"Why the request failed, such as a timeout.","type":"string"},"finalUrl":{"description":"The page address after redirects.","type":"string"},"findings":{"additionalProperties":false,"description":"Failed rules by priority, high first.","properties":{"high":{"items":{"properties":{"count":{"description":"How many pages fail the rule.","type":"integer"},"evidence":{"description":"What was seen, such as the duplicated title.","type":"string"},"fix":{"description":"What to change.","type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"description":"Stable rule id, such as title_missing.","type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"description":"What is wrong, in one line.","type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"low":{"items":{"properties":{"count":{"description":"How many pages fail the rule.","type":"integer"},"evidence":{"description":"What was seen, such as the duplicated title.","type":"string"},"fix":{"description":"What to change.","type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"description":"Stable rule id, such as title_missing.","type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"description":"What is wrong, in one line.","type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"medium":{"items":{"properties":{"count":{"description":"How many pages fail the rule.","type":"integer"},"evidence":{"description":"What was seen, such as the duplicated title.","type":"string"},"fix":{"description":"What to change.","type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"description":"Stable rule id, such as title_missing.","type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"description":"What is wrong, in one line.","type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"}},"required":["high","medium","low"],"type":"object"},"judgement":{"description":"Only when judge is true. What the page is for, or status skipped with the reason.","properties":{"answerFirst":{"description":"Whether the page answers its question first.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"model":{"type":"string"},"note":{"description":"Only when skipped: the reason in words, with when a limit resets.","type":"string"},"purpose":{"description":"What the page is for.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"reason":{"description":"Only when skipped: why, such as network_cap.","type":"string"},"specificity":{"description":"How specific the page is.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"status":{"enum":["judged","skipped"],"type":"string"},"titleFit":{"description":"Whether the title fits the page.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"url":{"type":"string"}},"required":["status"],"type":"object"},"notes":{"description":"Caveats to relay, such as noindex or rules that need audit_site.","items":{"type":"string"},"type":"array"},"notice":{"description":"How the page was read and what the rules are based on.","type":"string"},"page":{"additionalProperties":false,"description":"Facts read from the page. A field is absent when the page has no HTML.","properties":{"canonical":{"type":"string"},"description":{"type":"string"},"descriptionLength":{"type":"integer"},"h1":{"items":{"type":"string"},"type":"array"},"images":{"additionalProperties":false,"properties":{"total":{"type":"integer"},"withoutAlt":{"type":"integer"},"withoutSize":{"type":"integer"}},"required":["total","withoutAlt","withoutSize"],"type":"object"},"indexable":{"type":"boolean"},"internalLinks":{"description":"Links to the same host.","type":"integer"},"language":{"type":"string"},"redirects":{"description":"Redirects before the page.","type":"integer"},"structuredDataTypes":{"description":"JSON-LD @type values.","items":{"type":"string"},"type":"array"},"title":{"type":"string"},"titleLength":{"type":"integer"},"wordCount":{"type":"integer"}},"required":["indexable","redirects"],"type":"object"},"reachable":{"description":"False when the page could not be read; refused, failure or notes say why.","type":"boolean"},"refused":{"description":"Why the page was not read, such as a robots.txt block or a private address.","type":"string"},"status":{"description":"HTTP status of the final page.","type":"integer"},"url":{"description":"The page address that was asked for.","type":"string"}},"required":["url","reachable","findings","notes","notice"],"type":"object"}AuditSEOaaudit (sitefor SEO problems)
⟨9 unchanged words⟩ pages for SEO; it finds the pages itself.ItNeverfitsguess page addresses for 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 optionallymax_pages (1 to 25, default 10).
⟨87 unchanged words⟩ AI Overviews and does not query AI engines.PublicForpagesaonly.local business site, use local_ai_readiness; to draft the file, use generate_ai_instructions. Do not use it for private addresses or to collect contact details.
Compare cited pageswith yours
⟨19 unchanged words⟩ Overview cited for a search and asks whatthose pages have intheycommonshare, or why their own page is not ⟨6 unchanged words⟩ 6 public addresses the user copied from theanswer's sourcesanswer) and exactly one of url, html or text for the user's page. Reads thepages (publiconly,pages with robots.txt respected)and returns the gaps first: each signal most cited pages share and the user's page lacks (answer in theopeningsentenceanswer,a heading
Find the questions to answerQuestions for AI search
⟨54 unchanged words⟩ impressions, and page if there is one.KeepsUp to 5000 rows. Returns the searches of 7 or more words(the rule ^(\S+\s){6,}\S+$), ranks themranked by impressions,andmarkedmarkswhenwhichthey look like questions. Each has the page Google ⟨21 unchanged words⟩ only the owner knows. Also groups by page.Up to 5000 rows.ItReads
⟨107 unchanged words⟩ and Anthropic leaned on in a Yext study(as of 2026-10-01)andadvice about claimed profiles and coverprofilephotosadvice, whichareis not fetched. It does not query AI engines, directories or review sites,andoritmeasuredoesrankings.notNotmeasureforrankings.a site with no physical location or service area: use audit_site. Do not use it for private addresses or to collect contact details.
ScoreCitationonescore (pagefor citation chance)
⟨115 unchanged words⟩ engine and it does not promise a citation. Use compare_citations when the user has the pages an AI answer cited. Do not use it for private or local ⟨4 unchanged words⟩
{"additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["html"]},{"required":["text"]},{"required":["sample"]}],"properties":{"html":{"description":"Pasted ⟨81 unchanged words⟩
⟨24 unchanged words⟩ or a feature request to the maintainers ofthesethetools.tools on this server. Send it when a tool is missing, a ⟨36 unchanged words⟩ name. Returns a ticket id. Feedback is forthesethe tools on this server only: it is not a chat, and ⟨20 unchanged words⟩
⟨66 unchanged words⟩ ,"tool":{"description":"Optional: the exact name of the tool on this server that the feedback is about,forasexampletools/list
Index and search openkrill MCP tools by task and keyword — LinkedIn recruiter jobs feedback broken links: search openkrill MCP tools by task. Use this to find a tool for recruiter search, LinkedIn keywords, jobs, feedback, a missing tool, bug reports, broken links, CVEs, packages, a domain check, or any other task. Lists tool name, a plain task phrase, and the MCP URL to connect. Feedback itself is submit_feedback on this same server.
Certificate recorded, valid to 2026-12-30
Authorization not required
Added "compare_citations" (10 tools before, 11 now)
Compare cited pages with yours — Citation-pattern check for one query. Use this when the user has the pages an AI answer or Google AI Overview cited for a search and asks what those pages have in common, or why their own page is not cited. Pass query, cited_urls (2 to 6 public addresses the user copied from the answer's sources) and exactly one of url, html or text for the user's page. Reads the pages (public only, robots.txt respected) and returns the gaps first: each signal most cited pages share and the user's page lacks (answer in the opening sentence, a heading with the query's words, a question heading, a table, a list…
Added "find_ai_questions"; changed the definition of "audit_site" (9 tools before, 10 now)
{"properties":{"bing_ai_search":{"type":"object"},"domain":{"type":"string"},"finalUrl" ⟨276 unchanged words⟩
Find the questions to answer for AI search — Long-search finder for a pasted Search Console export. Use this when the user pastes Search Console Performance rows or a CSV and asks which questions to answer on their pages, or how to get named in ChatGPT or Google AI answers. Pass the text as csv, or JSON rows as rows, with query and impressions, and page if there is one. Keeps the searches of 7 or more words (the rule ^(\S+\s){6,}\S+$), ranks them by impressions and marks which look like questions. Each has the page Google shows, the question as a heading, and a 2-sentence answer skeleton with a placeholder for one real number or fact th…
Unknown → Live
First tool surface recorded: 9 tools (server version 1.3.0)
https://seoaudit.openkrill.app/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
before
{"properties":{"bing_ai_search":{"type":"object"},"domain":{"type":"string"},"finalUrl":{"type":"string"},"findings":{"properties":{"high":{"items":{"properties":{"count":{"type":"integer"},"evidence":{"type":"string"},"fix":{"type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"low":{"items":{"properties":{"count":{"type":"integer"},"evidence":{"type":"string"},"fix":{"type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"medium":{"items":{"properties":{"count":{"type":"integer"},"evidence":{"type":"string"},"fix":{"type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"}},"required":["high","medium","low"],"type":"object"},"judgement":{"type":"object"},"notes":{"items":{"type":"string"},"type":"array"},"notice":{"type":"string"},"reachable":{"type":"boolean"},"refused":{"type":"string"},"summary":{"type":"object"}},"required":["domain","reachable","findings","notes","notice"],"type":"object"}after
{"additionalProperties":false,"properties":{"bing_ai_search":{"additionalProperties":false,"description":"Bing and Copilot AI-search steps. List the steps with the sources.","properties":{"sources":{"description":"Microsoft and IndexNow pages the steps follow.","items":{"type":"string"},"type":"array"},"steps":{"description":"Steps in order, shaped by what the audit saw.","items":{"type":"string"},"type":"array"},"summary":{"type":"string"}},"required":["summary","steps","sources"],"type":"object"},"domain":{"description":"The site that was audited.","type":"string"},"finalUrl":{"description":"The origin the crawl settled on after redirects.","type":"string"},"findings":{"additionalProperties":false,"description":"Failed rules by priority, high first.","properties":{"high":{"items":{"properties":{"count":{"description":"How many pages fail the rule.","type":"integer"},"evidence":{"description":"What was seen, such as the duplicated title.","type":"string"},"fix":{"description":"What to change.","type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"description":"Stable rule id, such as title_missing.","type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"description":"What is wrong, in one line.","type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"low":{"items":{"properties":{"count":{"description":"How many pages fail the rule.","type":"integer"},"evidence":{"description":"What was seen, such as the duplicated title.","type":"string"},"fix":{"description":"What to change.","type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"description":"Stable rule id, such as title_missing.","type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"description":"What is wrong, in one line.","type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"},"medium":{"items":{"properties":{"count":{"description":"How many pages fail the rule.","type":"integer"},"evidence":{"description":"What was seen, such as the duplicated title.","type":"string"},"fix":{"description":"What to change.","type":"string"},"heuristic":{"description":"True when the rule is a convention, not a search engine requirement.","type":"boolean"},"rule":{"description":"Stable rule id, such as title_missing.","type":"string"},"severity":{"enum":["critical","high","medium","low"],"type":"string"},"source":{"description":"The documentation the rule comes from.","type":"string"},"title":{"description":"What is wrong, in one line.","type":"string"},"urls":{"description":"The first affected pages; count has the total.","items":{"type":"string"},"type":"array"}},"required":["rule","severity","title","fix","source","urls","count"],"type":"object"},"type":"array"}},"required":["high","medium","low"],"type":"object"},"judgement":{"description":"Only when judge is true. The homepage purpose and pages that compete for the same searches, or status skipped with the reason.","properties":{"competingPages":{"description":"Only when page titles overlap.","properties":{"model":{"type":"string"},"note":{"description":"Only when skipped: the reason in words, with when a limit resets.","type":"string"},"pairs":{"items":{"additionalProperties":false,"properties":{"a":{"type":"string"},"b":{"type":"string"},"competing":{"description":"Probability that a searcher would treat the two pages as substitutes.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"}},"required":["a","b","competing"],"type":"object"},"type":"array"},"reason":{"description":"Only when skipped: why, such as network_cap.","type":"string"},"status":{"enum":["judged","skipped"],"type":"string"}},"required":["status"],"type":"object"},"homepage":{"properties":{"answerFirst":{"description":"Whether the page answers its question first.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"model":{"type":"string"},"note":{"description":"Only when skipped: the reason in words, with when a limit resets.","type":"string"},"purpose":{"description":"What the page is for.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"reason":{"description":"Only when skipped: why, such as network_cap.","type":"string"},"specificity":{"description":"How specific the page is.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"status":{"enum":["judged","skipped"],"type":"string"},"titleFit":{"description":"Whether the title fits the page.","properties":{"confidence":{"description":"0 to 1.","type":"number"},"decisive":{"description":"False when the answer is too uncertain to act on.","type":"boolean"},"type":{"enum":["noul","choice","score"],"type":"string"},"value":{"description":"The chosen option, the score level, or a probability from 0 to 1.","type":["string","number"]}},"required":["type","value","decisive"],"type":"object"},"url":{"type":"string"}},"required":["status"],"type":"object"},"note":{"description":"Only when skipped: the reason in words, with when a limit resets.","type":"string"},"reason":{"description":"Only when skipped: why, such as network_cap.","type":"string"},"status":{"enum":["judged","skipped"],"type":"string"}},"type":"object"},"notes":{"description":"Caveats to relay, such as a partial crawl or a robots.txt refusal.","items":{"type":"string"},"type":"array"},"notice":{"description":"How the pages were read and what the rules are based on.","type":"string"},"reachable":{"description":"False when no page could be read; refused or notes say why.","type":"boolean"},"refused":{"description":"Why no pages were read, such as a robots.txt block or a private address.","type":"string"},"summary":{"additionalProperties":false,"description":"What the crawl read. Counts in findings describe this sample.","properties":{"complete":{"description":"False when the site has more pages than were read.","type":"boolean"},"pageLimit":{"description":"max_pages for this call.","type":"integer"},"pagesRead":{"type":"integer"},"requestsMade":{"type":"integer"},"robots":{"description":"robots.txt state.","enum":["found","missing","unreachable"],"type":"string"},"sitemap":{"additionalProperties":false,"properties":{"status":{"enum":["found","missing","invalid"],"type":"string"},"urls":{"description":"Addresses listed in the sitemap.","type":"integer"}},"required":["status","urls"],"type":"object"},"skippedByRobots":{"description":"Addresses not read because robots.txt disallows them.","type":"integer"}},"required":["pagesRead","pageLimit","complete","requestsMade","robots","skippedByRobots"],"type":"object"}},"required":["domain","reachable","findings","notes","notice"],"type":"object"}{"additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["html"]},{"required":["text"]}],"properties":{"cited_urls":{"description":"The ⟨25 unchanged words⟩ or any AI engine.","items":{"description":"A public page address, such as https://example.com/best-form-builders. A bare domain means https.","maxLength":2048,"minLength":3,"type":" ⟨39 unchanged words⟩ AI answer was given for, exactly astyped.typed, such as \"best form builder\".","maxLength":200,"minLength":3,"type ⟨44 unchanged words⟩
{"additionalProperties":false,"anyOf":[{"required":["csv"]},{"required":["rows"]}],"properties":{"csv":{"description":"Pasted ⟨110 unchanged words⟩ pass this together with csv.","items":{"description":"One search. Search Console column names such as \"Top queries\" are also read.","properties":{"clicks":{"type":"number"},"impressions":{"type":"number"},"page":{"description":"The page Google showed.","type":"string"},"position":{"description":"Average position.","type":"number"},"query":{"description":"The search as typed.","type":"string"}},"required":["query","impressions"],"type":"object"},"maxItems":5000," ⟨4 unchanged words⟩