Skip to main content
Glama

Generate validation report

generate_validation_report
Read-onlyIdempotent

Use this when HTML markup is already supplied. Combines Nu HTML validation with local CSS, SEO, accessibility-signal, and JSON-LD syntax checks. It does not fetch a webpage from base_url; use audit_public_webpage for a live URL.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cssNoOptional raw CSS source. Linked stylesheets are not fetched.
htmlYesRaw HTML markup supplied by the user; this is not a webpage URL.
base_urlNoOnly resolves relative links when check_links is true; it does not fetch this webpage.
max_linksNoMaximum links to check, from 1 to 20.
check_linksNoWhether to contact eligible public links found in the supplied HTML.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNo
linksYes
overviewYes
html_infoYes
redirectsYes
css_errorsYes
seo_issuesYes
css_checkedYes
html_errorsYes
broken_linksYes
css_messagesYes
seo_findingsYes
failed_checksYes
healthy_linksYes
html_messagesYes
html_warningsYes
links_checkedYes
schema_issuesYes
seo_truncatedYes
html_truncatedYes
links_requestedYes
schema_findingsYes
schema_truncatedYes
unreachable_linksYes
html_total_messagesYes
schema_blocks_checkedYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive behavior. The description adds valuable context beyond annotations: it does not fetch the base_url, and it performs a combination of validation checks rather than a single check. It could additionally clarify that linked stylesheets are not fetched, but that is covered in the schema.

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?

Two sentences, front-loaded with use-case, explicit alternative, and no filler. Every sentence contributes actionable guidance without redundancy.

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

Completeness5/5

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

Given the output schema, complete annotations, and full parameter descriptions, the description covers the essential decision context: when to use, what it combines, and what it does not do. It also names a sibling for live URLs. The combination of structured data and concise description is sufficient for correct tool selection and invocation.

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

Parameters4/5

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 adds meaningful context such as 'local CSS' clarifying the css parameter and explicitly stating base_url does not fetch the webpage, which reinforces the schema's parameter descriptions. This lifts it slightly above baseline.

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?

The description uses a specific verb ('Generate') and clearly identifies the resource ('validation report') and scope ('HTML markup already supplied'). It differentiates from siblings by explicitly naming the combined checks (Nu HTML, local CSS, SEO, accessibility-signal, JSON-LD) and contrasting with audit_public_webpage.

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

Usage Guidelines5/5

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

It explicitly states when to use ('Use this when HTML markup is already supplied') and what not to use it for ('does not fetch a webpage'), naming the alternative tool ('use audit_public_webpage for a live URL'). This gives clear decision-making guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: site audit, single page audit, SEO metadata check, broken links check, combined report generation, and separate validators for CSS, HTML, and JSON-LD. Descriptions explicitly clarify boundaries (e.g., 'does not fetch a live webpage' vs 'use for a live URL').

Naming Consistency3/5

Tools use four different verb prefixes ('audit_', 'check_', 'generate_', 'validate_') without a unifying pattern, making the naming scheme somewhat inconsistent. While each prefix is reasonable, the lack of a consistent verb_noun structure reduces predictability.

Tool Count5/5

With 8 tools, the set is well-scoped for a web validation server, covering the major validation tasks (HTML, CSS, JSON-LD, broken links, SEO signals, site audit) without unnecessary bloat. Each tool earns its place.

Completeness4/5

The tool surface covers core validation needs for public websites, but lacks some advanced SEO checks (e.g., mobile-friendliness, performance) and does not validate Schema.org vocabulary semantics. Minor gaps exist but do not severely hinder the server's primary purpose.

Resources