Skip to main content
Glama

MCP Verification Gate: check an MCP server or an A2A agent before you connect or delegate

Recompute a verdict hash without trusting the issuer

verify_verdict
Read-onlyIdempotent

Take a verdict this gate issued and recompute its record_sha256 independently. Removes record_sha256 and recompute_note, serialises the remainder in key order, and hashes it. Returns whether the verdict was altered after it was issued. You do not have to trust the party that issued the verdict, including this one.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recordYesThe full verdict object as returned by check_conformance or GET /self

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoWhat a match or a mismatch does and does not prove.
methodNoThe arithmetic used, so you can repeat it without this gate.
reasonNoPresent instead of the hashes when the input could not be checked: not an object, or no record_sha256.
verifiedNotrue = the verdict hashes to its own record_sha256, so it was not altered after issue. false = it was altered, or it carries no record_sha256. This is a finding about the record, not an error.
expected_sha256NoThe record_sha256 found in the record you passed, echoed as given (a string in any verdict this gate issued). Absent when the record had none.
recomputed_sha256NoSHA-256 this call computed from the record. Absent when there was nothing to compare it with.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedOutput schema / properties / expected_sha256
      Added value: +{
      +  "description": "The record_sha256 found in the record you passed, echoed as given (a string in any verdict this gate issued). Absent when the record had none.",
      +  "type": [
      +    "string",
      +    "number",
      +    "boolean",
      +    "object",
      +    "array"
      +  ]
      +}
    • addedOutput schema / properties / method / description
      Added value: +"The arithmetic used, so you can repeat it without this gate."
    • addedOutput schema / properties / note / description
      Added value: +"What a match or a mismatch does and does not prove."
    • addedOutput schema / properties / reason
      Added value: +{
      +  "description": "Present instead of the hashes when the input could not be checked: not an object, or no record_sha256.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / recomputed_sha256
      Added value: +{
      +  "description": "SHA-256 this call computed from the record. Absent when there was nothing to compare it with.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / verified / description
      Previous value: -"true = the verdict hashes to its own record_sha256, so it was not altered after issue. false = it was altered. This is a finding about the record, not an error."New value: +"true = the verdict hashes to its own record_sha256, so it was not altered after issue. false = it was altered, or it carries no record_sha256. This is a finding about the record, not an error."
    • changedOutput schema / properties / verified / type
      Previous value: -[
      -  "boolean",
      -  "null"
      -]New value: +"boolean"
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "method": {
      +      "type": "string"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "verified": {
      +      "description": "true = the verdict hashes to its own record_sha256, so it was not altered after issue. false = it was altered. This is a finding about the record, not an error.",
      +      "type": [
      +        "boolean",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already confirm read-only and idempotent behavior, but the description adds crucial details: it removes record_sha256 and recompute_note, serialises the remainder in key order, and hashes it. This fully discloses the verification algorithm and the returned judgment, going well beyond 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?

Four tight sentences front-load the action and outcome, with no redundant clauses. The trust statement is the only flourish but reinforces the tool's purpose without waste.

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?

Given the output schema exists and the input schema is fully described, the description needs only to explain the verification process. It does so completely, leaving no essential behavioral gap for an agent to call it correctly.

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?

With 100% schema coverage for the single 'record' parameter, baseline is 3. The description adds meaning by specifying that record_sha256 and recompute_note are stripped before hashing, which tells the agent which fields the record must contain. This is useful but not a full replacement for schema documentation.

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 states a specific verb and resource ('recompute its record_sha256 independently') and the outcome ('Returns whether the verdict was altered'), making the purpose clear. However, it does not name or differentiate from siblings like is_verified or check_conformance, leaving sibling routing implicit.

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 when you possess a verdict issued by this gate, but offers no explicit when-to-use guidance, prerequisites, or comparison to alternatives such as is_verified. The trust rationale ('You do not have to trust the party that issued the verdict') provides context but not selection criteria.

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.