Skip to main content
Glama
Rachit8484

geoseo-mcp

by Rachit8484

lint_schema_page

Validates a page's JSON-LD structured data against Google's requirements, reporting missing required and recommended properties per typed entity.

Instructions

Validate a page's JSON-LD against Google's structured-data requirements.

source is a local HTML file or an http(s) URL. Every application/ld+json block is parsed (@graph included) and each typed entity is checked against Google's documented required and recommended properties for Article, Product (with nested Offer / AggregateRating / Review), Recipe, LocalBusiness, BreadcrumbList, Event, VideoObject, SoftwareApplication, JobPosting, QAPage, Review and Organization. FAQPage and HowTo are checked against schema.org since Google no longer shows those rich results.

Returns per-entity {type, ok, required_missing, recommended_missing, line_estimate, doc}. ok is false when a required property is missing or the JSON is invalid.

Input Schema

NameRequiredDescriptionDefault
sourceYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4/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 burden and does substantial work: it discloses that every application/ld+json block is parsed including @graph, which validators are used for which types, the exact per-entity return shape, and the condition that makes ok false. It omits operational behavior such as what happens when the URL is unreachable or the file cannot be read, and whether any network/auth constraints apply.

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 with the purpose, then the source semantics, then coverage and return contract in a logical order. The long enumeration of supported types is verbose but earns its place by telling the agent which markup will actually be checked.

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, yet the description still summarizes the return fields, which is a bonus rather than a gap. The one remaining hole is guidance on choosing between this and lint_schema_site for site-wide validation.

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

Parameters5/5

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

Schema description coverage is 0% and the sole parameter is a bare string, so the description carries the entire burden — and it does, stating that source is a local HTML file or an http(s) URL. That is the exact ambiguity an agent would otherwise have to guess at.

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?

Opens with a specific verb+resource: validate a page's JSON-LD against Google's structured-data requirements, and enumerates the covered entity types, so an agent knows exactly what is checked. It never mentions the sibling lint_schema_site, so the page-vs-site distinction is left to the tool name rather than stated in the description.

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 the phrase 'a page's JSON-LD' and the source parameter accepting a single file/URL; there is no explicit statement of when to pick this over lint_schema_site or audit_page. It does clarify one scoping decision (FAQPage/HowTo fall back to schema.org because Google no longer shows those rich results), which is helpful context but not routing guidance.

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