Skip to main content
Glama

fresh402_register

Create or retrieve a free persistent baseline for public HTTPS HTML, JSON or plain text. Use before Smart Diff or OpenAPI Contract Diff, or to obtain a reusable watch_id/hash for Check. Required url plus optional CSS/JSON exclusions and opt-in html_attributes identify the watch; changing rules creates a different watch. Repeating the same registration returns existing state without fetching or refreshing it. Reuse the actual returned watch_id; never invent an ID. Registration is free ($0), subject to quotas, and requires no x402 payment client; subsequent comparison tools are paid. Check also accepts url directly and can create its watch during the paid call. No JavaScript execution or background monitoring. For OpenAPI comparisons register the JSON contract without any content rules. Free baseline registration needs no trial key, wallet or payment. It stores a reference point, not continuous monitoring. For a free comparison allowance, inspect GET /v3/agent-trial (machine wallet-control proof) or /v2/trial (human verification); eligibility and shared capacity apply.

Input Schema

NameRequiredDescriptionDefault
urlYesRequired absolute public HTTPS document URL, at most 4096 characters, e.g. 'https://example.com/docs'. Only port 443; no embedded credentials, private/local targets or authenticated pages. Fresh402's own service URLs, including its discovery /openapi.json, cannot be targets; choose an external public document. HTML, JSON and plain text are supported; JavaScript is not executed. DNS, redirect and size limits also apply.
selectorNoOptional HTML scope: a supported CSS selector, 1-256 characters, e.g. 'main' or 'article .content'. Only matching text is normalized; no match returns 422. Omit to normalize the page after built-in noise removal. Not supported for JSON or plain text.
html_attributesNoOptional HTML-only watch rule: up to4 of href,title,alt,aria-label; default[] retains existing text-only normalization. Distinct names are sorted; nonempty rules create a separate version1 watch/baseline. Records bounded meaningful attributes within the saved selector or filtered page, including same-text link destination changes. Cannot be supplied with watch_id, even[]. Unsafe hrefs are hashed, never fetched. Limits:200 elements,2048 characters/value,32768 evidence bytes; excess fails, never clips silently.
ignore_selectorsNoOptional array of up to 20 CSS selectors (each 1-256 characters) to remove from HTML in addition to built-in noise filtering. Default: no extra exclusions ([]). HTML only; use ignore_json_paths for JSON. Example: ['.timestamp', '.ad'].
ignore_json_pathsNoOptional array of up to 20 JSON Pointer-style paths to remove before JSON normalization and hashing. Each must start with '/' and be 1-256 characters; supports '*' segments. Default: [] (no exclusions). JSON only. Example: ['/updated_at', '/items/*/request_id'].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / html_attributes
      Added value: +{
      +  "description": "Optional HTML-only watch rule: up to4 of href,title,alt,aria-label; default[] retains existing text-only normalization. Distinct names are sorted; nonempty rules create a separate version1 watch/baseline. Records bounded meaningful attributes within the saved selector or filtered page, including same-text link destination changes. Cannot be supplied with watch_id, even[]. Unsafe hrefs are hashed, never fetched. Limits:200 elements,2048 characters/value,32768 evidence bytes; excess fails, never clips silently.",
      +  "items": {
      +    "description": "One explicitly observed HTML attribute: href (a/area only),title,alt or aria-label. No class/style/event attributes; links are inert evidence and never fetched.",
      +    "enum": [
      +      "alt",
      +      "aria-label",
      +      "href",
      +      "title"
      +    ],
      +    "type": "string"
      +  },
      +  "maxItems": 4,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / url / description
      Previous value: -"Required absolute public HTTPS document URL, at most 4096 characters, e.g. 'https://example.com/docs'. Only port 443; no embedded credentials, private/local targets or authenticated pages. HTML, JSON and plain text are supported; JavaScript is not executed. DNS, redirect and size limits also apply."New value: +"Required absolute public HTTPS document URL, at most 4096 characters, e.g. 'https://example.com/docs'. Only port 443; no embedded credentials, private/local targets or authenticated pages. Fresh402's own service URLs, including its discovery /openapi.json, cannot be targets; choose an external public document. HTML, JSON and plain text are supported; JavaScript is not executed. DNS, redirect and size limits also apply."
  3. Changed8 schema fields changed
    • addedInput schema / description
      Added value: +"Register a free baseline using a required URL and optional content rules. The canonical URL plus rules identify the watch; changing rules creates a different watch. Repeating the same registration returns its existing watch_id/hash without fetching or refreshing it. Quotas apply. Reuse the returned watch_id in Check, Smart Diff or OpenAPI Contract Diff."
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "ignore_selectors": [
      +      ".timestamp"
      +    ],
      +    "selector": "main",
      +    "url": "https://example.com/docs"
      +  }
      +]
    • addedInput schema / properties / ignore_json_paths / description
      Added value: +"Optional array of up to 20 JSON Pointer-style paths to remove before JSON normalization and hashing. Each must start with '/' and be 1-256 characters; supports '*' segments. Default: [] (no exclusions). JSON only. Example: ['/updated_at', '/items/*/request_id']."
    • addedInput schema / properties / ignore_json_paths / items / description
      Added value: +"JSON Pointer-style path, 1-256 characters, starting with '/'. Decode '~0' as '~' and '~1' as '/'; '*' matches all object keys or array elements. Example: '/items/*/updated_at'."
    • addedInput schema / properties / ignore_selectors / description
      Added value: +"Optional array of up to 20 CSS selectors (each 1-256 characters) to remove from HTML in addition to built-in noise filtering. Default: no extra exclusions ([]). HTML only; use ignore_json_paths for JSON. Example: ['.timestamp', '.ad']."
    • addedInput schema / properties / ignore_selectors / items / description
      Added value: +"HTML element(s) to remove before normalization: a supported CSS selector, 1-256 characters, e.g. '.timestamp' or 'nav'."
    • addedInput schema / properties / selector / description
      Added value: +"Optional HTML scope: a supported CSS selector, 1-256 characters, e.g. 'main' or 'article .content'. Only matching text is normalized; no match returns 422. Omit to normalize the page after built-in noise removal. Not supported for JSON or plain text."
    • addedInput schema / properties / url / description
      Added value: +"Required absolute public HTTPS document URL, at most 4096 characters, e.g. 'https://example.com/docs'. Only port 443; no embedded credentials, private/local targets or authenticated pages. HTML, JSON and plain text are supported; JavaScript is not executed. DNS, redirect and size limits also apply."
  4. Changed2 schema fields changed
    • addedInput schema / properties / ignore_json_paths / items / pattern
      Added value: +"^\\/"
    • addedInput schema / properties / url / maxLength
      Added value: +4096
  5. First observed

TDQS

A4.4/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 well: it discloses idempotency (repeating returns existing state without fetching or refreshing), cost ($0, quota-bound, no x402 payment client), and limits (no JS execution, no background monitoring, stores a reference point only). The cost/auth story is repeated in a later sentence rather than consolidated, which costs it a point.

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

Conciseness3/5

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

Front-loaded correctly with the core verb and scope, but the tail is padded: 'Registration is free ($0), subject to quotas, and requires no x402 payment client' and 'Free baseline registration needs no trial key, wallet or payment' say the same thing, and 'stores a reference point, not continuous monitoring' overlaps with 'no background monitoring.' The trial-endpoint sentence is useful but drifts from the tool's job.

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?

Covers the operational facts an agent needs for a 5-parameter creation tool with no output schema: idempotency, cost, quotas, watch identity, and the OpenAPI special case ('register the JSON contract without any content rules'). It never sketches the returned watch_id/hash payload, though the schema description does reference it.

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 coverage is 100%, so the baseline is 3; the description still adds value by explaining that url plus rules jointly identify the watch and that changing rules yields a different watch, which is a semantic not visible from the schema fields. It also notes html_attributes is opt-in and that watch identity must come from the actual returned ID.

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?

First sentence names a specific verb-plus-resource (create or retrieve a free persistent baseline) and the supported content types. It explicitly positions itself relative to siblings (Smart Diff, OpenAPI Contract Diff, Check), so an agent can distinguish it without opening another schema.

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?

States when to call it (before Smart Diff or Contract Diff, or to obtain a reusable watch_id/hash), and gives an explicit alternative path: 'Check also accepts url directly and can create its watch during the paid call.' It also names the free-comparison allowance route via the trial endpoints.

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.

Resources