RankRoot: AI visibility audit
Server Details
Audit a site's visibility to ChatGPT, Perplexity, Claude and AI agents. Generates llms.txt.
- Status
- Healthy
- Uptime
- 99.6% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 16 tools
Most tools have clearly distinct purposes, with useful separation between audit, crawler-access, performance, file-generation and amplification actions. There is some overlap between audit_ai_visibility and audit_seo (AI search readiness appears in both) and between amplify_preview and amplify_create_campaign, but descriptions generally disambiguate them.
Names use consistent snake_case with useful prefixes (amplify_, audit_, check_, generate_, get_, list_, submit_, validate_) and are mostly verb_noun. Minor deviations such as amplify_status and amplify_preview slightly break the pure verb_noun pattern but remain readable.
16 tools is slightly above the ideal 3-15 range, but the server spans several real workflows: visibility audits, social post amplification, launch listings and billing. Each tool appears to support a distinct step rather than being obvious padding, though the overall surface is broad for a server labeled 'AI visibility audit'.
The set covers the core audit lifecycle well: diagnose AI visibility and SEO, check crawler access and Core Web Vitals, generate AI-visibility files, and validate llms.txt. Amplification covers create/edit/list/schedule/preview/status, but gaps remain around deleting or canceling posts/schedules and more granular post management, preventing a top score.
Available Tools
16 toolsamplify_create_campaignWrite a social campaignAIdempotentInspect
Turn one page (url) or text into a native post for every enabled channel in every chosen language, saved as drafts. Nothing is published. Use dry_run to see posts without saving, and idempotency_key so a retry never makes a duplicate. Needs the customer's key.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public page to write from (preferred: its link goes in the posts) | |
| text | No | Or the text to write from (a changelog entry, an announcement) | |
| title | No | ||
| dry_run | No | Write and return the posts without saving anything. | |
| languages | No | Defaults to the account's languages. BCP-47 tags, up to 8: en, zh-TW, zh-CN, ja, ko, es, pt-BR, fr, de, it, nl, pl, tr, ru, uk, ar, hi, id, vi, th, ms, fil | |
| channel_ids | No | Subset of enabled channel ids (from amplify_status). Default: all enabled. | |
| idempotency_key | No | Same key again returns the first campaign instead of writing a new one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/idempotent/non-destructive profile, so the description only needs to add context — and it does: output lands as drafts, nothing is published, retries are deduplicated by key, and it discloses the auth prerequisite ('Needs the customer's key'). It stops short of saying what happens to channels that fail or what the saved draft contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core transformation before the safety and retry details, and each sentence carries distinct information. No preamble or hedging.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter open-world write tool with no output schema, the description covers the main flow, the draft-only guarantee, dry-run, idempotency, and the auth requirement. It leaves gaps around the mutation's return payload and the one undocumented parameter, but nothing that would cause a wrong call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so the baseline is 3; the description's notes on dry_run and idempotency_key largely restate what the schema already documents. The 'title' parameter is undocumented in both places, and nothing is said about what happens if both url and text are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb-and-resource pair with full scope: one page or text into a native post for every enabled channel in every chosen language, saved as drafts. The 'saved as drafts' / 'nothing is published' framing cleanly separates it from amplify_schedule_posts and amplify_list_posts without needing the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to reach for dry_run ('to see posts without saving') and idempotency_key ('so a retry never makes a duplicate'), and rules out publishing. It does not name the sibling amplify_preview as the alternative for the no-save case, which would have made the routing unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amplify_edit_postEdit a draft postAIdempotentInspect
Change a draft's text, thread or title. The platform checks (length, hashtags, hype words, required settings) run again and come back as warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| title | No | ||
| thread | No | ||
| post_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, idempotent and non-destructive, and the description adds real value beyond them: editing re-runs platform checks (length, hashtags, hype words, required settings) and these come back as warnings. It does not say whether warnings block the save or how partial updates behave, but the disclosure of re-validation is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste: the mutation scope is front-loaded, followed immediately by the consequence of calling it. No restating of the title or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description helpfully indicates warnings are returned. But it leaves open whether the edit is a full replace or merge of unspecified fields, and gives no handle on the required post_id, which matters for a four-parameter mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden, and it names three of the four fields in prose. However it adds no meaning beyond the names — nothing about what the thread array elements represent (separate posts?), and post_id, the sole required parameter, is never mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Change) and resource (a draft's text, thread or title), and the field list matches the schema exactly. The 'draft' qualifier implicitly separates it from amplify_create_campaign and amplify_schedule_posts, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'draft' scoping implies this applies only before publishing, which is useful implied guidance, but it never states when to use this versus amplify_create_campaign or amplify_preview, nor any prerequisites such as needing an existing post_id from amplify_list_posts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amplify_list_postsList Amplify postsCRead-onlyInspect
Posts newest first, with status (draft, scheduled, published, failed, rejected), schedule time, live URL, warnings, claims to confirm and engagement metrics.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 1-100, default 30 | |
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavior context by stating the posts are newest first and naming returned fields such as live URL, warnings, claims to confirm, and engagement metrics, but it omits pagination behavior and does not clarify filter semantics; the status list also omits 'approved' from the schema enum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted clauses, beginning with the ordering. The long comma-separated field list is dense, but it remains appropriately sized for the available space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, listing returned fields is valuable and partially compensates for that absence. However, for a list tool with filtering and limit parameters, the description does not explain how status filters results, how limit controls pagination, or when the tool should be used, leaving meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%: limit is documented in the schema, while the status enum lacks a description. The description lists some status values but frames them as returned fields rather than explaining that status filters results, omits 'approved', and never mentions limit or pagination, so it does not compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description implies a listing of posts and states the ordering, but it never explicitly says 'list posts' or defines the scope. It is understandable from the tool name and title, yet the description itself is more about returned fields than the action, and it does not differentiate this tool from siblings such as amplify_edit_post or amplify_schedule_posts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description does not mention sibling tools, prerequisites, or when not to use it, leaving usage to be inferred entirely from the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amplify_previewPreview social posts from a page (free)ARead-onlyInspect
Write native posts for X, LinkedIn and Threads from any public page, in up to 3 languages, so the user can see what RankRoot Amplify would publish. Free, no key. Nothing is stored or posted.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page to write from, e.g. a launch post or changelog entry | |
| languages | No | Up to 3. BCP-47 tags, up to 8: en, zh-TW, zh-CN, ja, ko, es, pt-BR, fr, de, it, nl, pl, tr, ru, uk, ar, hi, id, vi, th, ms, fil |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the bar is lower. The description adds genuinely useful behavior context: it is free, requires no API key, and nothing is stored or posted, which confirms the dry-run nature. It says nothing about rate limits, latency for multi-language generation, or what the preview actually returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the capability and closed with the critical no-cost / no-persistence guarantee. No filler, and the most decision-relevant fact for an agent (this is a free, non-destructive preview) lands where it will be read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter, non-destructive preview tool this is nearly complete: inputs, cost, key requirement, and side effects are all covered. The one gap is return shape — with no output schema, the description never says what a "preview" looks like (per-platform posts, per-language variants), leaving the agent to infer the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: url already documents "Page to write from, e.g. a launch post or changelog entry" and languages already documents BCP-47 tags and the allowed list. The description only echoes "any public page" and "up to 3 languages", adding no syntax or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Write native posts for X, LinkedIn and Threads from any public page") plus platforms and scope, and the final sentence ("Nothing is stored or posted") makes clear this is a dry-run preview rather than a publish action. It separates itself from amplify_schedule_posts and amplify_create_campaign by behavior rather than by naming them, which is slightly weaker than an explicit contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"so the user can see what RankRoot Amplify would publish" plus "Free, no key" gives clear context for when to reach for this: a no-cost, no-setup trial of Amplify output before committing to a campaign. It stops short of explicitly routing the agent onward to amplify_create_campaign or amplify_schedule_posts once the preview is approved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amplify_schedule_postsSchedule postsAIdempotentInspect
Schedule draft posts in the customer's Postiz at the next good local time for each platform and language (or at at), within the per-channel daily cap and spacing. Only works if the customer allowed agents to schedule; posts with claims to confirm or warnings are skipped for the owner to review. Returns what was scheduled and why anything was skipped.
| Name | Required | Description | Default |
|---|---|---|---|
| at | No | Optional ISO 8601 time; the earliest allowed slot at or after it is used. | |
| post_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, open-world, idempotent and non-destructive; the description adds real context beyond that: per-channel daily caps and spacing, the deterministic earliest-slot-after-`at` selection, permission gating, and skip reasons. It stops short of stating whether the schedule can be undone or what happens if post_ids are already scheduled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Action comes first, then constraints, then return behavior — well front-loaded with no filler. The parenthetical "(or at `at`)" is slightly awkward, and one sentence carries several distinct constraints at once.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Dense, gated mutation tool with no output schema, yet the description covers timing, caps, permission gating, skip behavior and a return summary. Only minor gaps remain (fate of already-scheduled or invalid ids).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: `at` is well documented in the schema, while `post_ids` is undocumented there and only indirectly implied by "schedule draft posts" (i.e., the ids must reference drafts). A modest addition over the schema, not full compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (schedule) and resource (draft posts in the customer's Postiz) with the selection rule for timing. It is clearly distinct from siblings like amplify_edit_post or amplify_list_posts, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a hard precondition ("Only works if the customer allowed agents to schedule") and an exclusion rule (posts with claims to confirm or warnings are skipped for owner review). This tells the agent when the tool will and won't act, but it doesn't route to a sibling when the precondition fails.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amplify_statusAmplify statusCRead-onlyInspect
Connected channels, languages, mode, guardrails, post counts and what has performed best for this customer. Needs the customer's AI Visibility Employee key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds meaningful context beyond that: the authentication prerequisite ('Needs the customer's AI Visibility Employee key') and the scope of returned data. It stops short of stating whether the key is per-customer scoping, how errors surface, or cost/latency traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the prerequisite is stated up front alongside the payload summary. Front-loading is slightly weakened by leading with a field list rather than the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does the right thing by enumerating the returned data categories. However, it leaves unresolved how the required key is supplied given there are no parameters, and gives no sense of data freshness or per-customer scoping behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters gives a baseline of 4, but the description references a required 'AI Visibility Employee key' that does not exist in the schema, which risks an agent attempting to pass it as an argument. That mismatch slightly undermines an otherwise trivial empty-input tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase enumerating what the tool reports (channels, languages, mode, guardrails, post counts, best performers) but never states a verb such as 'returns' or 'retrieves'. The specific field list does distinguish it from siblings like amplify_list_posts, but the agent must infer from the name that this is a read/status operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus alternatives such as audit_ai_visibility or amplify_list_posts, and no exclusions. The only conditional content is a prerequisite (needing the customer's key), not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_ai_visibilityAudit AI visibilityARead-onlyInspect
Score how discoverable a website is by AI answer engines (ChatGPT, Perplexity, Claude, Google AI Overviews) and AI agents. Returns a 0-100 score, per-category scores and a prioritized fix list.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL, e.g. https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful return-shape context: a 0-100 score, per-category scores, and a prioritized fix list, which is not derivable from annotations or the input schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, and the core purpose is front-loaded ahead of the return-value summary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only analysis tool with no output schema, the description supplies what an agent needs: what it computes, the target engines, and the shape of the result. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema already documents it at 100% coverage with an example URL. The description adds no format or validation detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (score) and resource (website discoverability by AI answer engines), and enumerates the engines and agents in scope. An agent can tell this apart from the sibling generate_ai_visibility_files, which produces files rather than a score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose (use it to audit AI visibility) but there is no explicit when-to-use, when-not-to-use, or reference to the sibling alternative. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_seoAudit Google SEO healthARead-onlyInspect
Classic SEO audit of a page, weighted like a full SEO audit: technical (canonical, indexability, redirects, HTTPS/HSTS, security headers, mobile viewport, hreflang, 2 MB HTML limit, back-button hijacking), content and E-E-A-T trust signals, on-page (title, meta description, headings, internal links, anchor text), schema validation (parse errors, required properties, retired rich-result types), performance, images and AI search readiness. Returns a 0-100 score and prioritized issues with fixes.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL, e.g. https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is known. The description adds meaningful behavioral context by naming the audit domains and stating the return format: a 0-100 score plus prioritized issues with fixes. It does not mention authentication, rate limits, or depth of crawling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then lists audit coverage, which is useful. The long parenthetical enumeration is dense but each item contributes to understanding the audit scope, so it remains reasonably concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately states that it returns a 0-100 score and prioritized issues with fixes. For a single-parameter, read-only tool, this is enough to call it correctly, though additional differentiation from sibling tools would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter, and schema description coverage is 100%, so the URL format is fully documented in the schema. The description adds no additional parameter-level semantics beyond what the schema already provides, which matches the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Classic SEO audit of a page') and enumerates the audit dimensions covered. It is clear what the tool does, though it does not explicitly differentiate itself from siblings like audit_ai_visibility or check_core_web_vitals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Classic SEO audit of a page' implies usage for a comprehensive page-level audit, but there is no explicit guidance on when to use this versus the narrower sibling tools. The agent must infer the boundary from the list of covered areas.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_ai_crawler_accessCheck AI crawler accessARead-onlyInspect
Check which AI crawlers (OAI-SearchBot, ChatGPT-User, GPTBot, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended and more) a site's robots.txt and firewall/CDN let in. Flags blocked AI search bots, which cost citations.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL, e.g. https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered. The description adds real context beyond that: it inspects both robots.txt and firewall/CDN layers, and explains the consequence of a block ('cost citations'), which tells the agent how to interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the core action and mechanism; the crawler enumeration is informative rather than filler, and the impact clause lands last for emphasis.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description has to hint at return semantics – it does so by stating that it flags blocked AI search bots. For a single-parameter read tool with annotations covering side effects, this is nearly complete, though the precise result shape remains unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 100% schema description coverage, so the schema already documents the required url and its format. The description adds nothing about the parameter itself, which is the correct baseline given the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Check') plus resource ('which AI crawlers ... a site's robots.txt and firewall/CDN let in'), with an explicit enumeration of the crawlers inspected (OAI-SearchBot, GPTBot, ClaudeBot, etc.). This clearly separates it from siblings like validate_llms_txt (a file validator) and audit_ai_visibility (a broader audit).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description – you call it to see whether AI crawlers can reach a site – but there is no explicit when/when-not framing or pointer to alternatives such as validate_llms_txt. The agent can infer intent but is given no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_core_web_vitalsCheck Core Web VitalsARead-onlyInspect
LCP, INP and CLS for a URL from Google PageSpeed Insights (mobile): Chrome UX Report field data (75th percentile, 28 days) when Google has it, plus Lighthouse lab metrics and the biggest speed opportunities. Takes up to a minute.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL, e.g. https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and open-world behavior, so the description focuses on valuable extra context: mobile-only data, Chrome UX Report field data at 75th percentile over 28 days, Lighthouse lab metrics, speed opportunities, and a latency caveat of up to a minute. It could still mention failure behavior for invalid or unreachable URLs, but the behavioral profile is well communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the metrics and resource, then the data sources and latency. Every phrase carries useful information and there is no repetition of structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only tool with no output schema, the description adequately explains what data comes back (field data, lab metrics, opportunities) and how long it may take. It stops short of describing error or fallback behavior when no CrUX data exists, but the essential context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the sole parameter's description already explains that it takes a website URL. The description does not add further syntax or constraints beyond the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific metrics (LCP, INP, CLS), the resource (a URL), and the data source (Google PageSpeed Insights mobile). It clearly distinguishes this tool from sibling audits like audit_seo and audit_ai_visibility by focusing on Core Web Vitals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose: call this to get Core Web Vitals for a URL. However, there is no explicit guidance on when to prefer this over audit_seo or when not to use it, leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_ai_visibility_filesGenerate AI visibility filesBRead-onlyInspect
Generate ready-to-publish llms.txt, an AI-bot-friendly robots.txt and schema.org JSON-LD for a website, based on its current homepage.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL, e.g. https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, and the description is consistent with both (it fetches the live homepage, generates content, mutates nothing). It adds that generation is grounded in the current homepage, but says nothing about where the files go, whether anything is written to a server, rate limits, or output delivery, so it stays near the baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, verb and artifacts front-loaded, no filler or restated title. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one required parameter and no output schema, the description tells the agent what is produced but not how it is returned (inline text, files, links) or what happens if the homepage lacks the relevant content. Adequate for invocation, thin for a generation tool whose whole value is the returned artifacts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100% for the single url parameter, so the baseline is 3. The description adds a real nuance the schema lacks: the URL should be the site's homepage and it is that page's current content which drives generation, which affects what the agent should pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (generate) and three named artifacts (llms.txt, an AI-bot-friendly robots.txt, schema.org JSON-LD) plus the input source (the site's current homepage). The verb alone separates it from validate_llms_txt and audit_ai_visibility, but it never names those siblings or explicitly disclaims the overlap, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as validate_llms_txt (check an existing file) or audit_ai_visibility (assess current state). The phrase 'ready-to-publish' hints at a post-audit workflow, but nothing tells the agent when this tool is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_checkout_linkGet a checkout linkARead-onlyInspect
Get the Polar checkout link for one RankRoot plan, to hand to the user. The user pays on Polar and receives a license key by email; pass it as 'Authorization: Bearer ' for higher API/MCP limits. If checkoutOpen is false, the link is an application form the user fills in instead.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | pass (Traffic Boost, $49 once, 7 days of Pro) or employee_m (AI Visibility Employee, done for you, $149/month) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring readOnlyHint=true and openWorldHint=false, the description adds substantial context beyond the schema: the payment happens on Polar, the user receives a license key by email, that key can be passed as a Bearer token for higher limits, and checkoutOpen=false changes the link into an application form. These are useful downstream-behavior details not captured by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loads the main action before adding useful downstream context. It is efficiently sized, though the Bearer-token detail is somewhat tangential to obtaining the link.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description explains what the returned link is used for and how its meaning changes when checkoutOpen is false. That is enough for an agent to call and interpret the tool correctly, though it stops short of describing the exact return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the enum values already document what 'pass' and 'employee_m' mean in detail. The description only says the tool is for 'one RankRoot plan' and adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Get the Polar checkout link for one RankRoot plan,' which is clear and unambiguous. It does not differentiate from related sibling tools such as get_pricing, but no direct duplicate checkout-link sibling exists, so 4 is appropriate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'to hand to the user' implies the intended use case, but there is no explicit guidance on when to choose this tool over get_pricing or other alternatives. The conditional note about checkoutOpen adds behavioral context rather than usage rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pricingGet RankRoot pricingARead-onlyInspect
List RankRoot plans (free scan, Traffic Boost one-time, done-for-you AI Visibility Employee monthly) with prices, limits, checkout links and which plan fits which user. Agents with a USDC wallet can pay directly over x402: GET https://getrankroot.com/api/agent/check?url= ($0.50) or POST https://getrankroot.com/api/agent/employee {website} ($149, 30 days, key returned at once). Otherwise give the user the checkout link.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the bar is lower. The description does useful work by disclosing that prices/limits are returned and that checkout links exist, plus the x402 payment terms ($0.50, $149/30 days, key returned immediately). However, describing external payment endpoints inside a tool annotated openWorldHint=false creates ambiguity about whether this tool itself transacts, which is exactly the kind of behavioral detail an agent needs settled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The plan list is front-loaded and earns its place. The second half is dense with full URLs, HTTP verbs, two separate prices and a license duration, mixing pricing information with payment mechanics in a single run-on block that is harder to parse than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing what comes back and does so: prices, limits, checkout links, plan-fit guidance. It is nearly complete, but the x402 endpoint guidance raises questions (is that this tool's response, or a separate call the agent must make?) that are left unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. The description correctly introduces no inputs and instead explains what the caller receives, which is the right use of space for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List RankRoot plans') and enumerates what comes back: prices, limits, checkout links, and which plan fits which user. That distinguishes it from the audit/amplify siblings, though it never explicitly contrasts with get_checkout_link, which covers overlapping territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear decision path: use x402 direct payment if the agent has a USDC wallet, 'Otherwise give the user the checkout link.' That is real routing guidance. It stops short of naming sibling tools (e.g. get_checkout_link) or saying when not to call this at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_launchesList new product launchesARead-onlyInspect
Find software products for a need: new SaaS, AI tools and apps launched on RankRoot, each with a fact-checked profile (what it does, who it's for, pricing when published). Pass the user's need as query ("invoicing for freelancers", "uptime monitoring"). Featured products are paid placements and are marked. Optional category: an industry slug such as sales-crm or product-analytics.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 1-50, default 20 | |
| query | No | What the user needs, in plain words (optional) | |
| category | No | Industry slug (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint), but the description adds genuinely non-obvious context: results are fact-checked profiles and featured entries are paid placements that are marked, which warns the agent about result-ordering bias. It stops short of describing pagination or ordering beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with no filler; the intended query phrasing appears before the optional category note. The parenthetical field listing is dense but each clause carries information about returned content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero required parameters, no output schema and no nested objects, the definition covers what is needed to call it correctly and what the response conceptually contains. Parameter defaults and ranges are already carried by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3; the description goes further by giving realistic example values for query ("invoicing for freelancers", "uptime monitoring") and category (sales-crm, product-analytics), which clarifies granularity beyond the schema's generic wording. The limit parameter is not addressed at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — finding software products / new SaaS and AI tools launched on RankRoot — plus what each result contains (fact-checked profile, pricing). It is clearly differentiated from submission/discovery-adjacent siblings like submit_launch and the amplify_* content tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells the agent exactly how to use it: pass the user's need as the query with two concrete example phrasings, and optionally narrow by industry slug. It gives clear usage context but no explicit when-not-to-use or alternative-tool routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_launchLaunch a product on RankRootAIdempotentInspect
Launch the user's product on RankRoot for free: a public launch page, a listing in the launch directory and the product's category, and a count of visitors sent. Free launches go live in about a week after the user confirms by email. With a Traffic Boost license key (key) it goes live today and is featured for 30 days. Ask the user before submitting: it publishes their product publicly.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Optional Traffic Boost license key | |
| url | Yes | Product website | |
| name | Yes | ||
| Yes | Founder's email for the confirmation link; never shown | ||
| tagline | Yes | 10-90 characters: what it does, for whom | |
| category | No | Industry slug, or other | |
| description | Yes | 40-800 characters, written for buyers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag openWorld=true and idempotent=true; the description supplies the real behavior: free launches take about a week pending email confirmation, a key makes it live today plus a 30-day feature, and the action publishes the product publicly and therefore needs user consent. That is well beyond what any structured field provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with what gets created, then the timing modes, then the consent instruction. Every sentence carries information an agent needs and nothing repeats the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description tells the agent what the submission produces and how long it takes, which is the critical missing piece. It stops short of covering what happens if the same product is submitted twice despite the idempotent annotation, or what the tool returns on success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 86%, so the baseline is 3; the description earns a bump by explaining what the key parameter actually changes (immediate go-live and 30-day featuring) and by clarifying that email is the confirmation address used in the launch flow. The remaining parameters are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (launch) and resource (the user's product on RankRoot) and enumerates the concrete artifacts produced: a public launch page, a directory and category listing, and a visitor count. This is clearly distinguishable from the sibling list_launches, which reads rather than creates launches.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit precondition (ask the user before submitting because it publishes publicly) and states the two operating modes keyed on whether a license key is supplied. It doesn't point at any sibling alternative such as get_pricing or list_launches, but the when-to-use context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_llms_txtValidate llms.txtARead-onlyInspect
Fetch a site's llms.txt (pass the site URL, or a URL ending in /llms.txt or /llms-full.txt for a subpath file) and check it against the llmstxt.org format: H1, summary, H2 link lists, Optional section.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Website URL, e.g. https://example.com |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and network-reaching behavior are covered. The description adds which format elements are checked (H1, summary, H2 link lists, Optional section), but says nothing about what happens when the file is missing, unreachable, or invalid, nor what the validation result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with the core action front-loaded and the URL-form caveat placed parenthetically where it is needed. No filler, no repetition of the tool name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what the validation returns (pass/fail, issue list, severity), and it does not. For a validator tool, the missing description of the result shape is the main gap; the input side and format criteria are otherwise well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single url parameter, so the baseline is already satisfied. The description goes further by explaining the two accepted URL forms (bare site URL versus a /llms.txt or /llms-full.txt subpath), which is real semantic value beyond the schema's generic example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (fetch and check) on a specific resource (a site's llms.txt) and names the format standard being validated against. It is clear what the tool does, though it does not explicitly distinguish itself from siblings like generate_ai_visibility_files or audit_ai_visibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the URL guidance (pass the site URL, or a subpath ending in /llms.txt or /llms-full.txt), which tells the agent how to call it. There is no explicit when-to-use versus when-not-to-use guidance and no mention of alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Added
audit_seo - Added
check_core_web_vitals
1 tool update
- Changed
list_launches1 field changed- added
Input schema / properties / queryAdded value: +{ + "description": "What the user needs, in plain words (optional)", + "type": "string" +}
3 tool updates
- Changed
get_checkout_link1 field changed- changed
Input schema / properties / plan / descriptionPrevious value: -"pass (Fix Pack, $29 once, 7 days of Pro) or employee_m (AI Visibility Employee, done for you, $149/month)"New value: +"pass (Traffic Boost, $49 once, 7 days of Pro) or employee_m (AI Visibility Employee, done for you, $149/month)"
- Added
list_launches - Added
submit_launch
6 tool updates
- Added
amplify_create_campaign - Added
amplify_edit_post - Added
amplify_list_posts - Added
amplify_preview - Added
amplify_schedule_posts - Added
amplify_status
1 tool update
- Changed
get_checkout_link2 fields changed- changed
Input schema / properties / plan / descriptionPrevious value: -"pass ($9 once, 7 days), pro_m ($19/month), pro_y ($190/year) or agency_m ($59/month)"New value: +"pass (Fix Pack, $29 once, 7 days of Pro) or employee_m (AI Visibility Employee, done for you, $149/month)" - changed
Input schema / properties / plan / enumPrevious value: -[ - "pass", - "pro_m", - "pro_y", - "agency_m" -]New value: +[ + "pass", + "employee_m" +]
5 tool updates
- Added
check_ai_crawler_access - Changed
generate_ai_visibility_files1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Website URL"New value: +"Website URL, e.g. https://example.com"
- Added
get_checkout_link - Added
get_pricing - Added
validate_llms_txt
2 tool updates
- First observed
audit_ai_visibility - First observed
generate_ai_visibility_files
Related MCP Connectors
Audit domains for ChatGPT, Perplexity & Claude GEO citation readiness and llms.txt compliance.
Audit a page for search and AI answer engines; generate robots.txt, sitemap, head, llms.txt.
Checks llms.txt, AI crawler access in robots.txt, and sitemap - with a 0-100 AI readiness score.
AI-search-visibility tools: check crawler access, generate llms.txt, lint robots.txt, census data.
Related MCP Servers
- AlicenseAqualityCmaintenanceChecks a website's robots.txt and Cloudflare settings to identify AI crawler blocking. Also generates llms.txt content to improve visibility to AI answer engines.338 npmMIT
- AlicenseAqualityDmaintenanceAudits AI-bot visibility: robots.txt per-bot for 22 AI user-agents (GPTBot/ClaudeBot/PerplexityBot/etc), Cloudflare flags, JSON-LD, sitemap, llms.txt, SPA shell, plus cross-model brand mentions via Perplexity + OpenRouter. 0-100 score. SSRF-guarded, spend-capped.41MIT
- AlicenseAqualityBmaintenanceEnables AI agents to check whether a public website is crawlable, understandable, and ready for AI search workflows through local-only audits of robots.txt, sitemaps, metadata, and llms.txt.336 npm1MIT
- AlicenseAqualityCmaintenanceEnables AI agents to audit and improve a site's visibility in AI search by checking robots.txt against 17 major AI crawlers, detecting llms.txt, and returning a 0-100 visibility score with per-crawler verdicts; it also lists known AI crawlers and their purposes.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.