Skip to main content
Glama

Query Historical Ledger & Manage Expected Schema Hashes

assay_get_ledger_policy
Idempotent

Query historical conformance observations, rug-pull drift events, and canonical SHA-256 tools/list policy hashes (expected_tools_hash) for a target MCP or A2A endpoint. Returns {verdict, reason, receipt, pinned_tools_hash, observations, dossier}. Use to audit historical ledger data or pin expected_tools_hash in mcp-lock.json; for pre-flight allow/deny gating use assay_preflight.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetYesPublic HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked.
expected_tools_hashNoOptional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. If set and the live hash differs, verdict is 'deny'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
reasonNo
dossierNo
receiptYes
verdictYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already disclose readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true. The description adds important behavioral context by explaining that setting expected_tools_hash and a mismatch results in verdict 'deny', which is essential for understanding the tool's write-like effect despite no state mutation. However, it doesn't elaborate on how the pinning operation works or what the receipt contains, leaving some gaps.

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?

Single dense sentence covering purpose, return shape, and alternatives. No wasted words; key routing information is front-loaded and clearly structured.

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 tool with an output schema and full annotation coverage, the description provides complete guidance: what it does, when to use it, what it returns, and which sibling to use for a related but distinct purpose. Nothing essential is missing.

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%, so the schema already documents both parameters thoroughly, including formats and constraints. The description mentions expected_tools_hash but adds no meaning beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.

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 and resource ('Query historical conformance observations, rug-pull drift events, and canonical SHA-256 tools/list policy hashes'), and explicitly differentiates itself from the sibling assay_preflight by naming what assay_preflight is for (pre-flight allow/deny gating). An agent can clearly distinguish this from the sibling tools.

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 states two use cases ('audit historical ledger data or pin expected_tools_hash in mcp-lock.json') and names the alternative tool for the excluded case ('for pre-flight allow/deny gating use assay_preflight'). Clear routing guidance, though it doesn't cover all sibling tools.

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.

Resources