nc://ai-visibility

v0.1.0Pinned
ThomSharktools/nodecode-ai-visibility: Checks whether AI crawlers can read a site and reports its brand mentions and citations in AI answers. - a rewrite of meelis545/qqq-ai-visibility-mcp (MIT), credited to meelis545e527144· 10 Nov1 commit
test1 filecell.lisp12.7 KBwire.lisp8.5 KB

nodecode-ai-visibility

AI visibility: whether AI crawlers can read a website, how ready it is for AI search, and its latest public report of brand mentions and citations in ChatGPT, Gemini and Perplexity. A Nodecode rewrite of meelis545/qqq-ai-visibility-mcp by meelis545.

The original is a portable manifest: no code of its own, only the remote MCP server at https://qqq.ee/mcp and a skill saying how to call it. This cell talks to the same server with the same three tools, from a turn, from /ai-visibility and from eval.

Get it

Tell the agent "add the ai-visibility cell", or run:

nodecode add nc://ai-visibility

Use it

Nothing to set up: the checker is free, read-only and needs no key, and the cell answers from the moment it is on.

Ask in words — "can ChatGPT read our site?", "does anything cite example.com in AI answers?", "is our site ready for AI search?" — and the model calls one of:

check_ai_visibility domain="example.com" language="en"
get_public_report domain="example.com"
get_tool_info
  • check_ai_visibility is the technical readiness check: whether the AI crawlers (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended) may read the site, and its robots.txt, sitemap, title, meta description, one H1, canonical, noindex, structured data, content in HTML, key pages and llms.txt, with the three most important fixes. It asks no AI model.
  • get_public_report reads the site's stored public report: in how many search-grounded AI answers the brand was named, how often its own site was cited, the questions asked, the sources used and the other companies named, with the report's date. It fetches nothing.
  • get_tool_info says what the three measure and what their limits are.

Each answers the server's own text, links included, so it reads the way the page reads. Mentions, citations and readiness are three separate results: nothing here adds them into one score.

The same three, from the operator's line:

/ai-visibility example.com            the readiness check
/ai-visibility report example.com     the stored AI mention report
/ai-visibility info                  what is measured

and from eval, as strings:

(ai-visibility:check "example.com")
(ai-visibility:report "example.com" :language "et")
(ai-visibility:info)

A domain is taken as written: a pasted URL is cut to its host, so https://www.example.com/pricing is checked as www.example.com. A name with no dot, an IP address and localhost are refused before anything is sent, because the checker reads public websites only.

Settings

/settings (or the Settings tab, or the ai-visibility section of ~/.nodecode/config.jsonc):

Setting Default What it does
endpoint https://qqq.ee/mcp the tools/call endpoint; the hosted checker
language en the language of the readings: en, or et for an Estonian site
timeout_seconds 20 how long one call may wait for the checker

What it reaches

https://qqq.ee/mcp over HTTPS, one POST per call, with nothing in it but the tool name, the domain, the language and a user-agent naming this cell. No key, no account, no file written. The server sees the domain asked about and the calling address, which is how it caps the readiness check at five a day for one address; its answer says so when they are spent, with a link to the full check.

Gaps

The cell speaks one tools/call per question and skips the MCP session handshake (initialize and the Mcp-Session-Id header), exactly as the original's own documented calls do. A server that starts to require a session is a refusal naming the server, not a silent retry.

Credits

MIT, Copyright (c) 2026 QQQ OÜ. The checker, its three tools and the shape of their answers are the original's; the rewrite is against this repository's cell contract. See NOTICE for what was left out.

Add nc://ai-visibility

  1. 1

    Install Nodecode

    Once per machine.

    $ curl -fsSL https://nodecode.ai/install.sh | sh
  2. 2

    Add the cell

    Pinned at e527144.

    $ nodecode add nc://ai-visibility

    Or tell the agent add the ai visibility cell.