Skip to main content
Glama

fresh402_smart_diff

Explain structured changes in a registered public document: JSON Pointer changes, HTML block changes and deterministic significance hints. Use instead of Check when a changed/unchanged flag or short text diff is insufficient. First obtain watch_id with free fresh402_register; saved URL/rules are reused. compare_to is previous (default) or baseline; previous_hash overrides it when the same-watch snapshot is retained. Up to200 content changes; explicit json_array_keys match unique typed item identities and report moves separately, with pure reorder unchanged and source hashes still order-sensitive. Saved html_attributes rules compare selected links/attributes independently of visible text. Omit new options for existing index/text behavior. Legacy HTML may have text-only fidelity. No LLM, JavaScript rendering or complete API compatibility guarantee. $0.015 USDC per call on Base mainnet (eip155:8453); requires an x402-capable MCP payment client and funded native-USDC payer, otherwise returns a payment challenge. Alternatively use prepaid credits through REST or this MCP tool: X-Fresh402-API-Key in HTTP, with params._meta["fresh402/prepaid"] containing idempotency_key, tariff_version and max_credits. When root mpp_payments.enabled is true, native MPP EVM charge is another option at the same USDC price: use an authorized Base EIP-712 signer and official mppx client, org.paymentauth/credential metadata and a persisted private recovery token. MPP receipt: org.paymentauth/receipt; see docs/MPP.md. Never combine MPP, prepaid and x402. Discover packages at /v2/prepaid/plans; see docs/AGENT_PREPAID.md for browserless wallet enrollment, bounded early credits and recovery. Optional Circle Gateway x402 is available only when root circle_gateway.enabled is true. Use the GatewayWalletBatched quote, a funded Base Gateway EOA and a persisted private recovery token. Pending batches return 409; replay the original proof/input/token after 60 seconds. Results require Gateway confirmed/completed evidence; never mix providers. No Circle prepaid funding. See docs/CIRCLE_GATEWAY.md. Optional free evaluation: inspect GET /v3/agent-trial for the CAPTCHA-free machine trial (unfunded EOA ownership signing required). Web tools may also use the separate human trial at /v2/trial. Only enabled, eligible allowances authorize free execution; shared capacity can return 429 earlier. Send X-Fresh402-Trial-Key and a distinct persisted Idempotency-Key per logical REST or MCP call. Reuse the same tool/input/key for retained recovery. Never mix trial and payment/prepaid credentials. Exhaustion never authorizes a charge; ordinary requests without trial credentials retain the paid challenge.

Input Schema

NameRequiredDescriptionDefault
watch_idYesRequired existing watch ID: 'w_' plus 32 lowercase hexadecimal characters, returned by free fresh402_register or POST /v1/register (a URL-based Check can also create it). Reuses the saved public URL and content rules; do not pass url or new rules here. Replace illustrative IDs with a real returned ID before paying.
compare_toNoOptional comparison mode: 'previous' (default) uses the latest Smart Diff snapshot, falling back to the current registered watch state on the first call. 'baseline' uses the fixed Smart Diff baseline, initially seeded from the earliest retained compatible watch snapshot. previous_hash overrides either mode. 'hash' is a result label, not an accepted input value.previous
previous_hashNoOptional explicit reference hash: 64 hexadecimal characters, case-insensitive, from this same watch's retained Smart Diff snapshot, fixed baseline or retained registration/Check snapshot. Overrides compare_to. Unknown or pruned hashes return 404; recent snapshot history is limited to 20 per store, with the fixed Smart Diff baseline retained separately. Omit for the selected mode.
json_array_keysNoOptional1-4 explicit nonoverlapping JSON array identity rules, JSON only. Omit for existing index comparison. Matches unique typed scalar keys, reports moves separately from content changes; pure reorder is changed:false while source hashes remain order-sensitive. At most2000 combined array items/20000 comparison work units, no fallback for ambiguity. Rules affect this comparison only, not the watch/hash; persist identical input for payment recovery. Example:[{path:'/items',key:'/id'}].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / json_array_keys
      Added value: +{
      +  "description": "Optional1-4 explicit nonoverlapping JSON array identity rules, JSON only. Omit for existing index comparison. Matches unique typed scalar keys, reports moves separately from content changes; pure reorder is changed:false while source hashes remain order-sensitive. At most2000 combined array items/20000 comparison work units, no fallback for ambiguity. Rules affect this comparison only, not the watch/hash; persist identical input for payment recovery. Example:[{path:'/items',key:'/id'}].",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "Explicit JSON array identity rule. Both paths must resolve; missing/duplicate/invalid identities fail422 without index fallback. Source snapshot ordering/hash is retained.",
      +    "properties": {
      +      "key": {
      +        "description": "Nonempty exact RFC6901 pointer within each object item, up to256 characters/64 segments; e.g.'/id' or '/product/sku'. Every key must exist and be a unique nonempty string<=256 characters or safe integer; number1 differs from string'1'.",
      +        "maxLength": 256,
      +        "minLength": 1,
      +        "pattern": "^(?:\\/(?:[^~]|~[01])*)?$",
      +        "type": "string"
      +      },
      +      "path": {
      +        "description": "Exact RFC6901 pointer to an array on both compared JSON documents, up to256 characters/64 segments. Empty string selects a root array. Example:'/items'; no wildcards or automatic ID guessing.",
      +        "maxLength": 256,
      +        "pattern": "^(?:\\/(?:[^~]|~[01])*)?$",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "path",
      +      "key"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 4,
      +  "minItems": 1,
      +  "type": "array"
      +}
  2. Changed4 schema fields changed
    • addedInput schema / description
      Added value: +"Compare a required existing watch against previous or baseline (default previous), or use previous_hash to override the mode. Fetches the current source using saved rules; no cache-age option. Truncated or incompatible legacy baselines can return 409; legacy HTML may have text-only fidelity. Unknown fields are rejected."
    • addedInput schema / properties / compare_to / description
      Added value: +"Optional comparison mode: 'previous' (default) uses the latest Smart Diff snapshot, falling back to the current registered watch state on the first call. 'baseline' uses the fixed Smart Diff baseline, initially seeded from the earliest retained compatible watch snapshot. previous_hash overrides either mode. 'hash' is a result label, not an accepted input value."
    • addedInput schema / properties / previous_hash / description
      Added value: +"Optional explicit reference hash: 64 hexadecimal characters, case-insensitive, from this same watch's retained Smart Diff snapshot, fixed baseline or retained registration/Check snapshot. Overrides compare_to. Unknown or pruned hashes return 404; recent snapshot history is limited to 20 per store, with the fixed Smart Diff baseline retained separately. Omit for the selected mode."
    • changedInput schema / properties / watch_id / description
      Previous value: -"Required ID returned by free fresh402_register or POST /v1/register. Example IDs are illustrative; replace them with a returned watch ID before paying."New value: +"Required existing watch ID: 'w_' plus 32 lowercase hexadecimal characters, returned by free fresh402_register or POST /v1/register (a URL-based Check can also create it). Reuses the saved public URL and content rules; do not pass url or new rules here. Replace illustrative IDs with a real returned ID before paying."
  3. Changed1 schema field changed
    • addedInput schema / properties / watch_id / description
      Added value: +"Required ID returned by free fresh402_register or POST /v1/register. Example IDs are illustrative; replace them with a returned watch ID before paying."
  4. Added

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries the full behavioral burden and does so extensively. It discloses limits such as up to 200 content changes, no LLM or JavaScript rendering, legacy HTML text-only fidelity, array identity behavior, payment challenge conditions, idempotency requirements, and possible 409/429 responses.

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?

The core purpose and usage guidance are front-loaded, which is good. However, the description is very long and spends substantial space on payment-provider, prepaid, MPP, Circle Gateway, and trial boilerplate that could be moved to linked docs; many sentences are operationally relevant but the overall structure is manual-like rather than concise.

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 tool complexity, four parameters, rich schema, and no output schema, the description is complete enough for an agent to understand what the tool returns conceptually and what conditions affect execution. It covers comparison modes, identity rules, limits, fidelity caveats, payment requirements, and recovery/error behavior.

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 the baseline is 3; however, the description adds operational meaning by explaining compare_to modes, how previous_hash overrides them, and that json_array_keys rules affect only the comparison and not the watch/hash. Much of the parameter detail is already in the schema, so it does not reach 5.

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 opening sentence states a specific verb and resource: it explains structured changes in a registered public document, covering JSON Pointer changes, HTML block changes, and significance hints. It also explicitly tells the agent to use it instead of Check when a simple changed/unchanged flag or short text diff is insufficient, distinguishing it from the sibling tool.

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?

The description gives explicit usage conditions: use instead of Check when the output needed is richer than a flag or short diff; first obtain watch_id with free fresh402_register; compare_to defaults to previous or can be baseline; previous_hash overrides compare_to. It also says to omit new options for existing index/text behavior, which is actionable 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.

Resources