Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Verify Edge Replication

verify_edge_replication
Read-onlyIdempotent

recompute the digest and verify the signature of a verdict. use it rather than evaluate_edge_replication for edge replication specifically; an object with 14 fields including algorithm, basis.

Input Schema

NameRequiredDescriptionDefault
signatureYesThe Ed25519 signature (hex).
answerCoreYesThe answerCore object returned by POST /v1/edge/replication.
output_sha256NoThe output_sha256 returned alongside the answer (optional; when supplied it is compared against a freshly recomputed digest).

Output Schema

NameRequiredDescriptionDefault
noteNoA note on how the answer was produced.
basisNoThe `basis` field of the response.
verdictYesThe decision this tool returned.
algorithmNoThe `algorithm` field of the response.
reproducedNoThe `reproduced` field of the response.
thresholdsNoThe `thresholds` field of the response.
publicKeyHexNoThe `publicKeyHex` field of the response.
signature_okNoThe `signature_ok` field of the response.
engine_versionNoThe `engine_version` field of the response.
signed_verdictNoThe `signed_verdict` field of the response.
signature_errorNoThe `signature_error` field of the response.
sha256_recomputedNoThe `sha256_recomputed` field of the response.
reproduced_verdictNoThe `reproduced_verdict` field of the response.
output_sha256_matchNoThe `output_sha256_match` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changed
    • addedOutput schema / properties / algorithm
      Added value: +{
      +  "description": "The `algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / basis
      Added value: +{
      +  "description": "The `basis` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / engine_version
      Added value: +{
      +  "description": "The `engine_version` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "A note on how the answer was produced.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / output_sha256_match
      Added value: +{
      +  "description": "The `output_sha256_match` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / publicKeyHex
      Added value: +{
      +  "description": "The `publicKeyHex` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reproduced
      Added value: +{
      +  "description": "The `reproduced` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reproduced_verdict
      Added value: +{
      +  "description": "The `reproduced_verdict` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256_recomputed
      Added value: +{
      +  "description": "The `sha256_recomputed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature_error
      Added value: +{
      +  "description": "The `signature_error` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature_ok
      Added value: +{
      +  "description": "The `signature_ok` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_verdict
      Added value: +{
      +  "description": "The `signed_verdict` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / thresholds
      Added value: +{
      +  "description": "The `thresholds` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "verdict"
      +]
  2. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine behavior: it recomputes the digest and checks the Ed25519 signature, and it discloses the opaquely-shaped result ('an object with 14 fields including algorithm, basis'), which is not in 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action, then the disambiguation. No filler, though the trailing return-shape clause is the least essential part and overlaps with the output 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 annotations, a fully described schema and an output schema, the description covers what the agent needs: the operation, the sibling to avoid, and that comparison against output_sha256 is optional. Minor gap is that it never states what a failed verification looks like (error vs. boolean field), which for a verification tool is the one remaining question.

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% and the schema already explains signature, answerCore and the optional output_sha256 comparison, so the description adds little parameter-level meaning beyond asserting that the answerCore comes from edge replication. Baseline 3 applies when the schema carries the parameter burden.

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?

States a specific verb pair (recompute the digest, verify the signature) against a specific resource (a verdict / edge replication payload), which is more than a restatement of the name. It also names the sibling it supersedes. Slight ambiguity from calling the input a 'verdict' while the tool and required param talk about an 'answerCore' from edge replication.

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?

Explicitly routes the agent: use this rather than `evaluate_edge_replication` for edge replication. The qualifier 'for edge replication specifically' is a little circular, since both tools concern edge replication, leaving the precise division of labour (verify signature vs. evaluate content) partly implicit.

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.