Skip to main content
Glama

Get the full reasoning text of a judgment

get_judgment_fulltext
Read-onlyIdempotent

Retrieve the full reasoning text of a judgment selected from search results. REQUIRED whenever you intend to quote or paraphrase a court's holding, reasoning, or specific findings — the search listing alone does not contain reasoning text. Pass the doc_id and the result_token from that result; copy tokens verbatim, never reconstruct them. Recently expired proofs recover automatically within a bounded window; if the response includes a result_token, use it for subsequent reads. If this call returns result_token_invalid_or_expired, run the search again ONCE (even if you already searched this question) and retry with the freshly returned token. Never retry the same failed token; stop if recovery fails. This is not a login error. Citation must match exactly the citation_text from search_judgments. The response includes case_history (database-recorded appeal chain): if an upper-court record shows 主文含「廢棄」, the judgment was overturned — do not cite it as currently authoritative; absence of an upper-court record does NOT mean the judgment is final. After answering, self-check every holding you attributed against this text (no reversed outcomes, no holdings from other judgments). The excerpt is a window of at most ~15000 source characters for judgments. If fulltext_truncated is true, copy next_excerpt_offset into the next call's excerpt_offset; NEVER advance by len(text_excerpt), which includes a repeated citation header. Offsets and excerpt_body_chars count Unicode code points in the source, not UTF-8 bytes or UTF-16 units. For text assembly, remove only the first excerpt_header_chars code points of each window. Only a contiguous walk from offset 0 to next_excerpt_offset=null with fulltext_truncated=false proves a complete read. If a truncated response has no advancing next_excerpt_offset, report it as incomplete instead of guessing. Continue through the rest — long judgments keep evidence/admissibility sections late in the text, so never conclude a topic is absent from an early window alone.

Input Schema

NameRequiredDescriptionDefault
doc_idYes
result_tokenYes
excerpt_offsetNoSource Unicode-code-point offset, starting at 0. When fulltext_truncated=true, copy next_excerpt_offset from the previous response. Never use len(text_excerpt): it includes a repeated citation header.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is handled. The description adds substantial behavioral context beyond that: token expiry with bounded automatic recovery, case_history semantics and overturn detection, and a post-answer verification step. It falls short of 5 because the return payload (citation_text, case_history, text_excerpt/truncation flags) is described only by reference, with no output schema to anchor those field names.

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?

Long but densely operational and front-loaded with the core purpose in the first sentence; the paging ritual, failure protocol, and citation-matching rule each prevent a distinct class of error. The offset guidance duplicates the schema's own description, but that redundancy is defensive rather than wasteful.

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?

With no output schema and a nontrivial pagination protocol, the description carries almost the full burden and covers truncation, contiguity proof, and the 'no advancing offset' failure case. The remaining gap is the enumerated response fields themselves, which are referenced but not itemized.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (doc_id and result_token are bare strings), so the description must compensate and does: it says both come from the search result, that tokens must be copied verbatim and never reconstructed, and it fully specifies excerpt_offset semantics (source Unicode code points, not UTF-8 bytes, use next_excerpt_offset rather than len(text_excerpt)). That is far more than the schema conveys.

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 ('Retrieve the full reasoning text of a judgment') and scopes it to a judgment selected from search results, which cleanly separates it from search_judgments. An agent knows immediately that this is the follow-up fetch, not another search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names when the tool is REQUIRED ('whenever you intend to quote or paraphrase a court's holding — the search listing alone does not contain reasoning text'). It also covers recovery branches: rerun search ONCE on result_token_invalid_or_expired, never retry the same failed token, stop if recovery fails, and 'This is not a login error.'

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.