Skip to main content
Glama

Read a case

get_case
Read-onlyIdempotent

Fetch one case: metadata, parallel citations, treatment flag, and full opinion text (paginated via offset/max_chars). cited_by is CourtListener's citation count; for a decision filed as several twin clusters it is summed over them (cited_by_note says so), and a duplicate or stub twin id is answered with its survivor (note says so). Citations inside the returned text are checked against the reporter index (embedded_citations); citation_warnings names any the court itself got wrong. Identify the case by cluster_id (from search_cases results) or by reporter citation. find_text returns passages: up to 5 sentence-bounded windows holding a phrase (or its closest match) with star_page and offset, so a long opinion need not be paged (pass include_text=false to get only those); quotable=true adds quotable_passages, the passages of this opinion other courts quote. Quotation marks mean pasted from a tool result (opinion text, passage, best_match). If you typed a quote from memory, run verify_quote and use best_match. Run check_brief on the finished draft and apply its corrections. Copy cite_as for the citation (first page, then pin).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offsetNoCharacter offset for paging long opinions (use next_offset from a prior call)
citationNoReporter citation, e.g. "819 So. 2d 732" (used if cluster_id absent)
quotableNoWith include_text, also return quotable_passages: the passages of this opinion other courts quote, with star_page
case_nameNoCase name; used only when the citation is not in the reporter index (newer than it): resolves by name + decision-date window and returns candidates if several cases share the name
find_textNoA phrase to locate in the opinion: returns passages (exact, or the closest match) with star_page and offset
max_charsNoMax characters of opinion text to return (default 40000, max 150000)
cluster_idNoCluster id from search results
include_textNoInclude opinion text (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already establish read-only/idempotent safety, but the description adds substantial non-obvious behavior: cited_by is summed across twin clusters, duplicate or stub twin ids resolve to their survivor, embedded citations are validated against the reporter index, citation_warnings flags court-level misquotes, and find_text returns up to five sentence-bounded windows. This is deep behavioral context beyond the annotations.

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?

Front-loaded with the core deliverable, then progressively narrower detail. It is dense and long, and a few parenthetical asides could be trimmed, but essentially every sentence conveys operational information an agent needs.

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?

With no output schema and 8 optional parameters, the description carries the full burden and does so: it describes the return payload, paging fields, citation-validation artifacts, and the unnamed-by-schema quote-verification workflow. An agent has enough to call this correctly in the intended flow.

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%, so the baseline is 3, but the description adds real semantics: the cluster_id/citation precedence, that case_name only applies when the citation is outside the reporter index, that include_text=false yields only find_text passages, and that quotable=true adds quotable_passages. Only minor gaps remain, such as not restating max_chars limits.

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?

Opens with a specific verb and resource ('Fetch one case') and then enumerates exactly what comes back: metadata, parallel citations, treatment flag, and full opinion text. It is clearly distinguishable from search_cases, get_citing_cases, and verify_quote, which are named as sources or alternatives.

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 routes the agent: identify the case by cluster_id (from search_cases) or reporter citation, use find_text instead of paging a long opinion, call verify_quote when quoting from memory, and run check_brief on the finished draft. When-to-use and which-sibling-to-use conditions are both stated.

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