Skip to main content
Glama
gblinproject

@gblin-protocol/mcp-server

verify_risk_attestation

Read-onlyIdempotent

Verifies a GBLIN Risk Attestation by checking integrity, signer authenticity, freshness, and live drift against current on-chain regime, so agents can confirm proof-of-diligence before relying on it.

Instructions

Verifies a GBLIN Risk Attestation, the object returned by GBLIN's /api/x402/attestation, or a proof-of-diligence attached by a peer agent. Free. Runs four checks: (1) integrity, by recomputing the EIP-712 attestation_id; (2) authenticity, by recovering the signer when a signature is present and comparing it with GBLIN's published attestor; (3) freshness, against on-chain time (10-minute validity); (4) live drift, by comparing the attested regime with the current on-chain regime.

Input Schema

NameRequiredDescriptionDefault
attestationYesThe full attestation object from /api/x402/attestation (must include `eip712`; `attestation_id`, `signature`, `attestor` are used when present). A JSON string of that object is also accepted.
expected_attestorNoOptional 0x address to check the signature against. Defaults to the GBLIN attestor address baked into this MCP build (GBLIN_ATTESTOR_ADDRESS env).

Output Schema

NameRequiredDescriptionDefault
liveNo
validYesTrue only if every check passed.
checksYesEach check by name, with its result.
sourceNo
attestedNo
guidanceNo
recomputed_attestation_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.1.5

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes well beyond them: it discloses that the call is free, enumerates the four concrete checks performed (EIP-712 recomputation, signer recovery against GBLIN's published attestor, 10-minute freshness against on-chain time, live regime drift). It also clarifies conditional behavior — signature recovery only applies 'when a signature is present'.

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?

Front-loads the core action and cost in the first clause, then spends the remainder on a compact numbered list of checks. No filler sentences; every phrase either scopes the input or names a verification step.

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?

For a two-parameter verification tool with an output schema already present, the description supplies everything an agent needs: accepted input shapes, cost, what is being checked, and the time-validity window. Return-value formatting is correctly left to the output schema rather than duplicated.

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, but the description adds real semantic nuance: it clarifies that attestation_id, signature and attestor are consumed only when present, and it frames the expected_attestor parameter as a comparison target rather than a mere input. It stops short of explaining what a mismatch on expected_attestor produces, but the conditional-usage semantics are materially clearer than the schema alone.

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?

Names a specific verb (verifies) and a specific resource (GBLIN Risk Attestation), and enumerates the three accepted input forms (the /api/x402/attestation object or a peer-attached proof-of-diligence). The resource is clearly distinct from the sibling verify_gblin_authorization, so an agent can select between them without opening either schema.

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?

Implies usage by describing accepted inputs and stating 'Free', which tells the agent there is no cost barrier to calling it. However, it never says when to prefer this over verify_gblin_authorization, nor does it state when verification is unnecessary or what to do on failure — usage is inferred rather than prescribed.

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