Skip to main content
Glama

law_explain

Read-only

Unfold the proof of a law_ask answer into a chain "rule ← premises → conclusion". The compact input: question (the original law_ask arguments, truth/collect), resultHash and codeHash from the provenance of the answer. The server repeats the computation and compares the hashes; if anything changed it refuses explicitly. Alternatively pass the evaluation from law_ask(proof=true). answerResource=fullAnswer.uri explains a stored compact snapshot without recomputing and without the client loading pages; by default only the proofRef chain. nodeId selects one node and all of its premises (up to 24 KB, otherwise an explicit refusal). proofHash refers to the whole graph; scope marks the part selected.

Input Schema

NameRequiredDescriptionDefault
nodeIdNo
codeHashNo
questionNothe original law_ask arguments
evaluationNothe evaluation document from law_ask
resultHashNo
answerResourceNothe fullAnswer.uri of a stored answer taken with proof=true

Output Schema

NameRequiredDescriptionDefault
stepsYes
proofHashNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: the server repeats the computation and explicitly refuses on hash mismatch, nodeId output is capped at 24 KB with an explicit refusal beyond that, answerResource mode avoids recomputation and client page loading, and the default is proofRef-chain only. The annotations only cover read-only/destructive/idempotent/openWorld, so this failure-mode and limit disclosure is genuinely additive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

Information-dense and front-loaded with the purpose, but written as telegraphic fragments ('The compact input: question..., resultHash and codeHash from the provenance of the answer.') that blend parameter semantics with behavioral constraints in run-on sentences. Size is reasonable for a 6-parameter multi-mode tool, but scanability suffers.

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?

An output schema exists, so return values need not be described, and the description covers mode selection, verification semantics, size limits, and node-scoped selection. Given the nested-object oneOf schema, this is close to complete; the only loose end is the unexplained proofHash/scope references that do not map to schema properties.

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 only 50% schema description coverage, the description still accounts for all six parameters: question (original law_ask arguments), resultHash and codeHash (from the answer's provenance), evaluation (from law_ask proof=true), answerResource (fullAnswer.uri of a stored proof=true answer), and nodeId (selects one node plus its premises). It also conveys the mutual exclusivity of the oneOf modes, though it mentions proofHash and scope, which do not appear in the schema properties, adding slight ambiguity.

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 (unfold/explain) and resource (the proof of a law_ask answer) and even names the output shape, the 'rule ← premises → conclusion' chain. It anchors itself to the law_ask sibling as the producer of its inputs, so an agent can place it in the workflow, though it never contrasts itself against an alternative tool.

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?

Gives clear conditional context for the three input modes: pass question/resultHash/codeHash to have the server recompute and verify, pass the evaluation from law_ask(proof=true), or use answerResource to explain a stored snapshot without recomputing. There are no explicit exclusions or sibling alternatives, but the mode-selection guidance is concrete.

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.