Skip to main content
Glama

waveguard_compare

Read-onlyIdempotent

Compare two data items for structural similarity using physics-based fingerprints. Returns cosine similarity (0–1) and Euclidean distance. Use for duplicate detection, behavioral matching, drift analysis, or checking if two tokens/wallets/contracts are structurally similar.

Cosine similarity > 0.95 = very similar. < 0.80 = structurally different.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
data_aYesFirst data item to compare.
data_bYesSecond data item to compare (same type as data_a).
encoder_typeNoData encoder. Omit to auto-detect.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context by specifying return values (cosine similarity and Euclidean distance) and providing interpretation thresholds (>0.95 very similar, <0.80 structurally different). It also reveals the 'physics-based fingerprints' technique, giving insight into how the comparison works beyond the schema.

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?

The description is compact and well-structured: first sentence states purpose and output, second sentence lists use cases, and third sentence provides thresholds. There is no redundant information, and the most important details are front-loaded.

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?

The tool is simple (3 params, no output schema), but the description covers purpose, return format, use cases, and numeric interpretation. It is fully sufficient for an agent to select and invoke the tool, especially with the supportive annotations. No critical behavioral aspects are unexplained.

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%, and each parameter has a basic description: 'First data item to compare', 'Second data item to compare (same type as data_a)', and encoder_type with an enum and 'Omit to auto-detect.' The description itself does not add further parameter detail, but the schema is already adequate. Baseline 3 is appropriate.

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 clearly states the tool's function: 'Compare two data items for structural similarity using physics-based fingerprints' and lists what it returns (cosine similarity and Euclidean distance). This distinguishes it from sibling tools like waveguard_fingerprint (which likely generates fingerprints) and waveguard_scan (which analyzes a single item).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use for duplicate detection, behavioral matching, drift analysis, or checking if two tokens/wallets/contracts are structurally similar.' This provides concrete use cases. It does not mention when not to use it or alternative tools, but the use-case list is clear and actionable.

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.

TDQS

B3.4/5.0
Disambiguation3/5

Several tools occupy overlapping anomaly-detection territory (scan, scan_timeseries, price_manipulation, volume_check, token_risk, wallet_profile), which could cause misselection when an agent needs generic vs. specialized analysis. However, descriptions clarify data types and use cases, so the overlap is manageable.

Naming Consistency5/5

All tools share the consistent 'waveguard_' prefix with descriptive underscore-separated names (e.g., waveguard_cascade_risk, waveguard_volume_check). The occasional verb like 'scan' or 'compare' fits the overall pattern, making the set highly predictable.

Tool Count3/5

With 19 tools, the server is on the heavy side for a typical MCP but not extreme. The breadth reflects a comprehensive risk-analysis platform, though some specialized detectors (e.g., waveguard_price_manipulation vs. waveguard_scan_timeseries) could potentially be consolidated without losing functionality.

Completeness4/5

The tool surface covers the full analytical workflow: data ingestion (market_data), generic anomaly detection (scan, scan_timeseries), specialized crypto risk (token_risk, volume_check, wallet_profile), structural similarity (fingerprint, compare), and scenario/impact analysis (counterfactual, cascade_risk, mechanism_probe). Minor gaps like direct report generation exist but are not critical for the core purpose.

Resources