Skip to main content
Glama

preload_audit

Audit a URL's preload signals and bfcache eligibility. Checks Speculation Rules, preload tags, deprecated prerender tags, and no-store headers to find optimization issues.

Instructions

Audit Speculation Rules, bfcache eligibility, and LCP preload signals for a URL.

Fetches the page and response headers (SSRF-safe via safe_httpx_get), then checks:

  • Speculation Rules: (prefetch/prerender actions)

  • Speculation-Rules HTTP response header (Chrome 122+)

  • Deprecated tags (removed in Chrome 120)

  • bfcache blocker: Cache-Control: no-store in response headers

Verdicts: optimised | improvements_available | not_implemented | fetch_error. No Google API calls. No authentication required. Adapted from claude-seo preload_check.py (agricidaniel, MIT).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses that it fetches the page and response headers, that the fetch is SSRF-safe via safe_httpx_get, that no auth or Google API is involved, and it enumerates the four possible verdicts. It stops short of stating rate limits, timeouts, or that the operation is strictly read-only (implied but not asserted).

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

Conciseness4/5

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

Front-loaded purpose sentence followed by a scannable bullet list of exactly what is checked, plus a verdict enum. Nearly every line earns its place, though the closing attribution line 'Adapted from claude-seo preload_check.py (agricidaniel, MIT)' adds no invocation value for an agent.

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?

An output schema exists so return values need no explanation, and the description still helpfully lists the verdict strings. Given a single required param and no annotations, the definition covers what an agent needs to select and call it; only the URL format convention and read-only guarantee are left implicit.

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?

One parameter with 0% schema description coverage, so the description must compensate. It says the audit is 'for a URL' but never specifies the expected format (absolute vs relative, http/https, whether redirects are followed). This is enough to attempt a call but leaves ambiguity the schema does not resolve.

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

Purpose5/5

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

States a specific verb (Audit) with three named resources (Speculation Rules, bfcache eligibility, LCP preload signals) scoped to a URL. The enumerated checks make it clearly distinguishable from siblings like page_technical_audit or pagespeed_audit without opening any schema.

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?

The detailed check list implies when this tool is relevant (preload/prerender/bfcache concerns) and 'No Google API calls. No authentication required' tells the agent it is free of credential setup. However, it never names an alternative or states when-not to use it versus pagespeed_audit, page_technical_audit, or crux_lcp_subparts, which overlap on LCP/performance topics.

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