Skip to main content
Glama

Check citations in a document

validate_document

Validate all legal citations in a document.

Pass in a skeleton argument, witness statement, or any legal document and
this will extract every citation, resolve each against the corpus, and
return a structured validation report. Much more efficient than calling
extract_citations + resolve_citation in a loop.

Args:
    text: Document text containing legal citations
    target_court: Court the document is addressed to (e.g. "EWCC", "EWHC-Ch") — adds binding/persuasive status per citation

Input Schema

NameRequiredDescriptionDefault
textYes
target_courtNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare safety flags, so the description carries the real burden and does well: it discloses the internal extraction+resolution behavior and that target_court adds binding/persuasive status per citation. It does not address the mild tension with readOnlyHint=false — the tool reads as purely analytical yet is flagged non-read-only — nor any latency/cost characteristics.

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?

Purpose and the anti-pattern routing come first, then a tight Args block. Every sentence adds information; there is no restatement of the name or title.

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 both parameters are covered with semantics. What remains unstated is the corpus scope and behavior on unparseable text, but nothing an agent needs to invoke it correctly is missing.

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 0%, so the description must compensate, and it does: it explains text as the document body containing citations and documents target_court with concrete example codes ('EWCC', 'EWHC-Ch') plus its downstream effect on the report. Minor gap: no format rules or fallback behavior when target_court is omitted.

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+resource ('validate all legal citations in a document') and spells out the full pipeline: extract every citation, resolve each against the corpus, return a structured validation report. It explicitly distinguishes itself from extract_citations and resolve_citation, so an agent can route correctly without opening any schema.

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 concrete usage context ('skeleton argument, witness statement, or any legal document') and names the alternative pattern it replaces ('more efficient than calling extract_citations + resolve_citation in a loop'). It lacks an explicit when-not-to-use clause (e.g. single-citation lookups, large corpora), which keeps it short of a 5.

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