Skip to main content
Glama

Research an issue

find_issues
Read-onlyIdempotent

ENTRY BY ISSUE. Use this FIRST when the question arrives as facts or an issue rather than a case name ("can the appellate court affirm on a ground the trial court never reached", "impact rule emotional distress", "Fabre defendant"). Returns (1) the doctrine as courts in that STATE actually name it, with the cases on EACH side (followed_by / questioned_by, from how each citing opinion treated the case), example sentences judges wrote, the statutes those opinions construe, and every state where the phrase is alive with its year span (a doctrine retained in one state and abandoned elsewhere shows as a stalled span); and (2) the matching mined propositions (the rule text courts quote) with per-passage flags. Doctrine name is not case health: an issue can be alive while its anchor case is red. Read questioned_by before relying on followed_by. A q of more than 8 substantive words is read as a proposition: propositions (matched against all of it) come first. The default answer holds 3 issues and 5 statutes and stays under ~12,000 characters (issues_omitted counts the rest); max_issues or detail=true returns more. Routing: a proposition or quoted language -> find_authority (pasted verbatim); a doctrine name or fact pattern -> find_issues; a party name, statute number or keywords -> search_cases. Each issue also carries tree: where the doctrine sits in the Syfert issue tree (area > group > issue, built from what later courts cite pages for), how alive it is in the state, and related issues beside it. Browse the tree with node instead of q: find_issues(state="fl", node=0) lists the top areas cited by that state's courts; follow each child's next call down to an issue, which lists the pages courts cite for it.

Input Schema

NameRequiredDescriptionDefault
qNoThe issue or doctrine in 2-6 words as a lawyer would name it: "tipsy coachman", "economic loss rule", "Stand Your Ground immunity", "Richardson hearing"
nodeNoBrowse the issue tree instead of searching: 0 = the top areas; any node_id from a previous answer (tree.node_id, browse_with, next) = its children. q is not needed with node.
stateNoTwo-letter state code of the CITING courts (fl, ga, tx, ny ...). Strongly recommended: the map is keyed per state. Omit to search all states. "fed" (or "us" / "federal") = the FEDERAL courts as one jurisdiction (issue-tree federal bucket + federal propositions). With no state, a federal question (a constitutional amendment, "federal", a U.S.C. section, a Supreme Court case name) also gets federal-bucket issues.
detailNotrue = the full-size answer: 8 issues, 8 statutes each, no character budget
max_issuesNoDefault 3 (8 with detail=true), max 20

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / state / description
      Previous value: -"Two-letter state code of the CITING courts (fl, ga, tx, ny ...). Strongly recommended: the map is keyed per state. Omit to search all states."New value: +"Two-letter state code of the CITING courts (fl, ga, tx, ny ...). Strongly recommended: the map is keyed per state. Omit to search all states. \"fed\" (or \"us\" / \"federal\") = the FEDERAL courts as one jurisdiction (issue-tree federal bucket + federal propositions). With no state, a federal question (a constitutional amendment, \"federal\", a U.S.C. section, a Supreme Court case name) also gets federal-bucket issues."
  2. Changed2 schema fields changed
    • addedInput schema / properties / node
      Added value: +{
      +  "description": "Browse the issue tree instead of searching: 0 = the top areas; any node_id from a previous answer (tree.node_id, browse_with, next) = its children. q is not needed with node.",
      +  "type": "integer"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "q"
      -]New value: +[]
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/openWorld=false, and the description adds a great deal beyond them: the default result size (3 issues, 5 statutes, ~12,000 characters), that issues_omitted counts the remainder, that detail=true/ max_issues expands output, that q over 8 substantive words is reinterpreted as a proposition, and the caveat that 'doctrine name is not case health' with a warning to read questioned_by before relying on followed_by.

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 entry cue and the return contents, and every sentence carries operational information, but the middle is a dense run-on that mixes return-value detail, caveats, size defaults and routing in one block. Slightly sprawling, though nothing is truly wasted.

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 5-parameter, no-output-schema research tool, the description is unusually complete: it explains what comes back, how big the default answer is, how to expand it, how q length shifts interpretation, how to browse the tree, and how to route away from it. An agent has everything needed to call it correctly.

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 earns extra: it tells the agent that q is the doctrine as 'a lawyer would name it' in 2-6 words, that the >8-word threshold changes interpretation, that node browses the tree instead of searching, and that state accepts 'fed'/'us'/'federal' as one jurisdiction and triggers federal-bucket results for federal questions.

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 'ENTRY BY ISSUE' and a concrete statement of what is returned: the doctrine as courts in a state actually name it, cases on each side (followed_by / questioned_by), example sentences, statutes, per-state span, and matching mined propositions. It explicitly distinguishes itself from siblings via a routing block (find_authority, search_cases), so an agent can select it without opening other schemas.

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?

Gives explicit when-to-use ('Use this FIRST when the question arrives as facts or an issue rather than a case name') and names the alternative tools with the conditions that select them: proposition or quoted language -> find_authority, doctrine name or fact pattern -> find_issues, party name/statute number/keywords -> search_cases. It also prescribes node-based browsing as an alternative to q.

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