Skip to main content
Glama

Schema and AI-readiness audit

audit_schema_ai_readiness
Idempotent

Checks public pages for JSON-LD structured data, Open Graph, canonical/SEO signals, llms.txt, and AI-crawler robots cues, then returns a plain-English AI-readiness score per page.

Instructions

Check public pages for JSON-LD structured data, Open Graph, canonical/SEO signals, llms.txt and AI-crawler robots.txt cues. Returns a plain-English readiness score per page. Informational only; not a ranking or citation guarantee.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "urls": "<urls>"
    },
    "name": "audit_schema_ai_readiness"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlsYesPublic http(s) URLs of the pages to check (1-50).
dryRunNoPreview with built-in sample data; no website is contacted and the cost is minimal.
maxCostUsdNoOptional hard cap in USD for this call. The underlying Actor stops when the cap is reached. Minimum 0.05 (the Apify per-run minimum). Default: a small amount computed from the number of URLs, never below 0.05.
checkRobotsNoAlso read robots.txt once per site (default true).
checkLlmsTxtNoAlso fetch /llms.txt once per site (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (openWorldHint=true, idempotentHint=true, destructiveHint=false) already cover safety, and the description adds genuinely new context: the per-page plain-English score and the admonition that the score is not a ranking or citation guarantee. It does not, however, disclose that this is a paid Actor run with per-run cost thresholds, which is the main reason readOnlyHint=false; that cost behavior is left to the schema's `maxCostUsd`/`dryRun` fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: what is checked, what is returned, then the limitation as the closing caveat. Every sentence carries information and the most important content is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter, no-output-schema tool, the description covers purpose, output nature, and interpretive limits, while the schema handles parameter detail. The only material omission is the cost/paid-Actor behavior, which matters for an agent deciding whether to invoke it at scale with up to 50 URLs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so `urls`, `dryRun`, `maxCostUsd`, `checkRobots` and `checkLlmsTxt` are already fully documented. The description mentions robots.txt and llms.txt checks, which loosely corresponds to the two boolean toggles, but adds no format, default, or cost semantics beyond what the schema states; the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Check') and resource ('public pages') and enumerates the exact signals examined: JSON-LD, Open Graph, canonical/SEO, llms.txt, and AI-crawler robots.txt cues. It is concrete enough to distinguish itself from most siblings, but it never explicitly contrasts itself with the near-overlapping `audit_ai_crawler_access`, leaving the robots.txt-cue boundary for the agent to infer.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by 'Check public pages' plus the 'Informational only; not a ranking or citation guarantee' caveat, which usefully limits interpretation of the output but does not say when to pick this over `audit_ai_crawler_access` or `audit_pagespeed`. There are no explicit when-to-use or when-not conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.