Skip to main content
Glama

AINumbers Fintech Intelligence Suite

Validate ChainGraph private-input commitments

validate_private_inputs
Read-onlyIdempotent

Verify an artifact's private_inputs[] (ChainGraph Standard §25 ocg-private-input@1) WITHOUT ever seeing the plaintext witness: per RFC 6901 pointer, checks the pointed value inside policy_parameters IS the declared sha256-salted@1 commitment (never the plaintext, §25.2), that the commitment scheme is known, and -- when a §18 compute_proof is present -- that its journal commits the same commitment and binds output_payload. Optionally accepts an out-of-band {pointer, salt, input_value} disclosure package (authorized-verifier path) and recomputes sha256(salt || cgCanon(input_value)) to confirm it equals the commitment. Returns one {pointer, verifiable} record per entry: "proof-only" | "disclosed-verified" | "commitment-only" (no proof yet -- structural + plaintext-exclusion only) | "failed". Pure client-safe compute, zero network, never requires the plaintext.

Input Schema

NameRequiredDescriptionDefault
artifactNoA full ChainGraph artifact envelope carrying private_inputs[], policy_parameters, and optionally output_payload + audit_signature.compute_proof.
disclosuresNoOPTIONAL authorized-verifier disclosure packages, keyed by pointer, for the disclosed-verified path.
compute_proofNoaudit_signature.compute_proof (if not passing a full artifact).
output_payloadNoArtifact output_payload (if not passing a full artifact).
private_inputsNoThe private_inputs[] array (if not passing a full artifact).
policy_parametersNoArtifact policy_parameters (if not passing a full artifact).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/non-destructive annotations by disclosing the trust model: pure client-safe compute, zero network, plaintext never required, and the exact failure semantics of each result class (proof-only, disclosed-verified, commitment-only, failed). The commitment-only caveat ('structural + plaintext-exclusion only') is a genuinely important behavioral warning.

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?

Purpose is front-loaded in the first clause, and nearly every clause carries operational information (pointer semantics, scheme check, proof cross-binding, disclosure path, result taxonomy). It is a dense single block with spec reference noise, which costs a point, but nothing is truly redundant.

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?

No output schema exists, yet the description enumerates the per-entry {pointer, verifiable} result states, which is the essential return contract. It stops short of stating that the tool needs either a full artifact or the component fields (0 required params), a minor selection gap for a 6-parameter tool.

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% and already notes artifact-vs-components alternatives, but the description adds real meaning: the disclosure object is a {pointer, salt, input_value} authorized-verifier package and the recomputation formula is sha256(salt || cgCanon(input_value)). That explains what the otherwise-undocumented disclosure fields are for and what a 'verified' result means.

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?

States a specific verb (verify) plus resource (private_inputs[] commitments) and the exact spec clause (§25 ocg-private-input@1). The differentiating constraint -- verification without plaintext witness -- is stated up front, so an agent can distinguish this from sibling validators like verify_input_attestations or validate_private_inputs-style checks.

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?

Tells the agent when each mode applies: proof present vs. absent, and when the optional disclosure package is used (authorized-verifier path). It does not name a sibling tool as the alternative for the proof-only case, which keeps it below 5, but the conditions are explicit enough to select correctly.

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.