Skip to main content
Glama
adsandcode

mcp-server-contentgate

by adsandcode

sitemap_lastmod

Update sitemap lastmod dates only when page content genuinely changes: hash the current HTML, compare it with the stored hash, and keep the prior date if nothing changed.

Instructions

Decide a sitemap lastmod date honestly. Hash the meaningful content of a page, compare it against the stored hash, and move the date only when the content genuinely changed. Stamping today's date on every URL every build teaches crawlers that the field carries no information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesCurrent HTML of the page.
todayYesToday's date, ISO format.
previous_hashNoStored hash from the last run, or null for a page seen for the first time.
strip_classesNoClasses to remove before hashing: visitor counters, build ids, anything that changes on its own.
strip_patternsNoRegular expressions to remove before hashing.
previous_lastmodNoStored lastmod, ISO date.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It does transparently reveal the core decision logic — content is hashed, compared to the stored hash, and the date advances only on real change — which is the tool's essential behavioral trait. But it omits the return value format, first-seen behavior when previous_hash is null, and failure modes for malformed strip_patterns.

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 sentences with the purpose front-loaded in the first, the mechanism in the second, and a brief rationale in the third that explains why the behavior matters. No filler; every sentence earns its place.

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

Completeness2/5

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

The tool has 6 parameters, no annotations, and no output schema, so the description must disclose the return contract — but it never states what the function returns (a date string? a boolean? a full update?) or how it handles first-run cases (null previous_hash / null previous_lastmod). These are essential for an agent to invoke it correctly.

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%, putting the baseline at 3. The description's narrative adds an interaction model beyond the individual schema entries: body is hashed after stripping, compared against previous_hash, and previous_lastmod advances to today only on genuine change. This workflow-level meaning connects the parameters in a way the schema alone does not.

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 states a specific verb-resource pair — 'Decide a sitemap lastmod date honestly' — and explains the mechanism (hash content, compare with stored hash, move the date only on genuine change). This clearly differentiates the tool from sibling check_* tools and content_hash: the siblings inspect content or compute hashes, while this one decides a date.

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 use case is implied — computing honest lastmod dates during sitemap builds — and the anti-pattern ('Stamping today's date on every URL every build') is described well. However, the description never explicitly names an alternative or states when not to use this tool (e.g., when only a raw hash is needed, use content_hash), leaving the routing guidance implicit.

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