Skip to main content
Glama

Cross-check a line of official series & recompute the verdict (free)

verify_triangular
Read-onlyIdempotent

FREE. Cross-verify one GAUGE interweave line: it returns each official series ("leg") in the line with its own record_hash, current/previous values, expected direction and per-leg minMove deadband, plus a count-style state (directions_matched / direction_mismatch / inverse_consistent / not_comparable / insufficient) and N-of-M. Everything needed to recompute the verdict OFFLINE is in the response - verify each leg hash with verify_citation, then recompute dir=sign(current-previous) with the minMove deadband. Descriptive only: no forecast, no causation, no advice. No payment, no API key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lineYeswhich interweave line, e.g. "E" (state vs national unemployment) or "F" (drought vs crop). Public demo lines are E and F.
entityYesthe object within the line, as US-<ST>, e.g. "US-TX" (case-insensitive). Required.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
legsNoone entry per official series in the line.
lineNothe line code you asked for, e.g. E or F.
noteNostanding disclaimer: direction is observed, not a trend/forecast/causation claim.
errorNoPresent only when the call failed; human-readable reason.
stateNodirections_matched | direction_mismatch | inverse_consistent | not_comparable | insufficient. A count/observation, NOT an adjudication.
titleNoletter-only title (e.g. "線E"); never a phenomenon name.
detailNoPresent on some failures: the upstream endpoint's own error text.
entityNothe external contract code, e.g. US-TX.
natureNoneutral English disclosure; may be null.
reasonNostale | missing_current_or_previous | below_min_move | period_misaligned | no_active_drought | parallel_display | null.
matchedNoN: how many REQUIRED legs had measured dir === expect this window.
requiredNoM: number of required legs. The public claim is exactly "N of M moved in the registered direction".
statementNothe locked, neutral disclosure sentence with N/M substituted.
pair_stateNoinverse-pair lines (F/FW) only: holds_stress | holds_relief | broken | insufficient | not_comparable; absent/null on other lines.
verify_hintNoexactly how to recompute the state offline from each leg (record_hash + dir=sign(Δ) with minMove deadband).
snapshot_windowNothe {from,to} window the legs were read over, or null.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Even with readOnlyHint/idempotentHint annotations, the description adds substantial behavior: the response contains everything needed for offline recomputation, the tool is descriptive-only ('no forecast, no causation, no advice'), and it requires no payment or API key. This gives the agent a clear expectation of side-effect-free, self-contained behavior beyond the annotations.

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 front-loaded with the purpose ('FREE. Cross-verify one GAUGE interweave line...'), then packs the response contents, the offline recompute instruction, and the constraints into four tight sentences. Every clause earns its place; only minor redundancy exists between 'FREE' and 'No payment, no API key,' which is not enough to penalize.

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?

With an output schema present, the description still adds what the agent needs for correct invocation: the recompute workflow, the relationship to verify_citation, the descriptive-only scope, and the free access. Sibling differentiation (no forecast, no payment) is effectively conveyed even though not all siblings are named.

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 description coverage is 100%, with both `line` and `entity` already explained (including examples and case-insensitivity). The description does not add param-specific meaning beyond the schema, so the baseline of 3 applies; the tool description's detail is about the response, not the parameters.

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 opens with a specific verb and resource: 'Cross-verify one GAUGE interweave line,' then lists the exact response components (record_hash, current/previous values, expected direction, minMove deadband, state, N-of-M). This clearly differentiates it from siblings like verify_citation (a hash-checker) and find_signal (forecast-focused), especially with 'Descriptive only: no forecast, no causation, no advice.'

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 gives clear context: use it to cross-verify a line and recompute the verdict offline, and explicitly routes hash verification to verify_citation ('verify each leg hash with verify_citation'). It also states exclusions ('no forecast, no causation, no advice') and that it is free ('No payment, no API key'), which implies when not to use paid or predictive siblings, though it does not name those siblings explicitly.

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.