Skip to main content
Glama
webEmbedding

webEmbedding

by jongko54

verify_fidelity_report

Read-onlyIdempotent

Compare a reference capture with a candidate implementation to score visual, DOM, computed-style, and interaction similarity and list the biggest differences to fix.

Instructions

Compare a reference capture against a candidate (e.g. your own implementation) and score visual, DOM, computed-style, and interaction similarity, listing the biggest differences to fix.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "verify_fidelity_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
candidate_urlNoURL of the candidate implementation, recorded in the report.
reference_urlNoURL of the reference page, recorded in the report.
candidate_bundleNoCapture bundle of the implementation to compare against the reference.
reference_bundleNoCapture bundle of the reference page, from capture_reference_bundle.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.3.13
    • addedInput schema / properties / candidate_bundle / description
      Added value: +"Capture bundle of the implementation to compare against the reference."
    • addedInput schema / properties / candidate_url / description
      Added value: +"URL of the candidate implementation, recorded in the report."
    • addedInput schema / properties / reference_bundle / description
      Added value: +"Capture bundle of the reference page, from capture_reference_bundle."
    • addedInput schema / properties / reference_url / description
      Added value: +"URL of the reference page, recorded in the report."
  2. First observedv0.3.12

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds genuine value by disclosing what gets compared and what comes back: per-dimension scores plus a ranked list of the biggest differences to fix. It stops short of saying whether the call is expensive, whether it requires both bundles or whether URLs alone suffice, and whether the scoring is deterministic.

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?

A single dense sentence that front-loads the action and then enumerates the scored dimensions before naming the output. Every clause adds information; nothing is redundant with the title or schema.

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?

With no output schema, the description correctly carries the burden of describing return content (scores across four dimensions plus a differences list). It is nearly complete for a comparison tool, but with zero required parameters and nested bundle objects, a sentence on which input combination is valid and what happens when a bundle is malformed would close the remaining gap.

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

Parameters3/5

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

Schema coverage is 100%, so all four parameters are documented in the schema itself, including the pointer that reference_bundle comes from capture_reference_bundle. The description adds only the informal gloss that the candidate is likely the caller's own implementation; it says nothing about how URL vs. bundle parameters interact or which combination produces a meaningful report. Baseline 3 is appropriate when the schema carries the semantics.

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?

The description names specific verbs (compare, score, list) and specific resources (a reference capture vs. a candidate), plus the four similarity dimensions measured: visual, DOM, computed-style, interaction. It clarifies what the 'candidate' is with the parenthetical 'e.g. your own implementation'. It does not explicitly distinguish itself from siblings like capture_reference_bundle or build_reproduction_bundle, so an agent must infer the ordering from the schema rather than 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 implied rather than stated: an agent can infer this is the verification step after a candidate exists, and the parenthetical hints the candidate is its own implementation. There is no explicit when-not guidance, no prerequisites (e.g. that bundles come from capture_reference_bundle), and no note on which of the two input modes (URLs vs. bundles) to prefer.

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