Skip to main content
Glama

Find how similar cases were decided

find_similar_cases
Read-only

Given the facts of an employment situation — claim types, protected class, employer, state — analyze how similar real cases in the corpus were decided. Returns the aggregate plaintiff (employee) win rate, settlement rate, typical damages range, the topics courts discussed most in opinions employees won vs. lost, and a few representative example cases. Counts are returned at three levels (nationwide, the federal courts of the state's region, and the state) with a detailed breakdown for one level: who won, award amounts, what happened at each stage, and topics. Relay which level a figure describes. A level with few opinions returns counts without a win rate. Each example says what happened and why it matched. Topic rows record what opinions discussed, not what courts found. Educational statistics from published opinions: never present a historical percentage as this person’s probability of winning. Not a prediction or legal advice. In structured stages: won and wonPct count opinions the worker won in whole or in part (wonPct leaves rulings sent back out of its base), and sentBack counts rulings sent back to a lower court. wentForward and wentForwardPct include rulings sent back to a lower court and are kept for compatibility.

Input Schema

NameRequiredDescriptionDefault
levelNoWhich level the detailed breakdown and examples describe: "national" (default), "circuit" (federal courts of the state's region), or "state". All three levels' counts are returned either way.national
stateNoTwo-letter US state code the situation arose in, e.g. "FL", "CA".
law_idsNoRelated law ids, federal or state, e.g. ["title-vii","adea","ada","fmla","flsa","fl-fcra","ca-feha"].
industryNoEmployer industry, e.g. "healthcare", "retail", "transportation".
claim_typesNoClaim types alleged, snake_case, e.g. ["retaliation","wrongful_termination","discrimination","harassment"]. The single highest-value signal.
employer_nameNoEmployer / defendant name, e.g. "Union Pacific Railroad". Used for a fuzzy match.
narrow_to_lawsNoOnly count opinions that mention one of law_ids (a federal law or its state analogue). Default false: every opinion sharing the claim type, under any law.
protected_classesNoProtected classes at issue, e.g. ["sex","race","age","disability","pregnancy","national_origin"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / law_ids / description
      Previous value: -"Related law ids, e.g. [\"title-vii\",\"adea\",\"ada\",\"fmla\",\"flsa\"]."New value: +"Related law ids, federal or state, e.g. [\"title-vii\",\"adea\",\"ada\",\"fmla\",\"flsa\",\"fl-fcra\",\"ca-feha\"]."
    • addedInput schema / properties / level
      Added value: +{
      +  "default": "national",
      +  "description": "Which level the detailed breakdown and examples describe: \"national\" (default), \"circuit\" (federal courts of the state's region), or \"state\". All three levels' counts are returned either way.",
      +  "enum": [
      +    "national",
      +    "circuit",
      +    "state"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / narrow_to_laws
      Added value: +{
      +  "default": false,
      +  "description": "Only count opinions that mention one of law_ids (a federal law or its state analogue). Default false: every opinion sharing the claim type, under any law.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed18 schema fields changed
    • removedInput schema / properties / claim_types / default
      Removed value: -[]
    • addedInput schema / properties / claim_types / items / maxLength
      Added value: +80
    • addedInput schema / properties / claim_types / items / minLength
      Added value: +1
    • addedInput schema / properties / claim_types / maxItems
      Added value: +20
    • addedInput schema / properties / employer_name / minLength
      Added value: +1
    • changedInput schema / properties / industry / maxLength
      Previous value: -60New value: +80
    • addedInput schema / properties / industry / minLength
      Added value: +1
    • removedInput schema / properties / law_ids / default
      Removed value: -[]
    • addedInput schema / properties / law_ids / items / maxLength
      Added value: +80
    • addedInput schema / properties / law_ids / items / minLength
      Added value: +1
    • addedInput schema / properties / law_ids / maxItems
      Added value: +20
    • removedInput schema / properties / protected_classes / default
      Removed value: -[]
    • addedInput schema / properties / protected_classes / items / maxLength
      Added value: +80
    • addedInput schema / properties / protected_classes / items / minLength
      Added value: +1
    • addedInput schema / properties / protected_classes / maxItems
      Added value: +20
    • removedInput schema / properties / state / maxLength
      Removed value: -2
    • removedInput schema / properties / state / minLength
      Removed value: -2
    • addedInput schema / properties / state / pattern
      Added value: +"^[A-Za-z]{2}$"
  4. Changed2 schema fields changed
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / required
      Removed value: -[
      -  "claim_types",
      -  "protected_classes",
      -  "law_ids"
      -]
  5. First observed

TDQS

A4.4/5.0
Behavior5/5

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

With annotations covering the safety profile, the description still adds substantial behavioral context: counts at three levels with a detailed breakdown for one, thin-data behavior ('A level with few opinions returns counts without a win rate'), and precise semantics of wonPct, sentBack, wentForward and legacy compatibility. It also discloses the educational-use constraint and the non-prediction framing.

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 purpose and return summary, then caveats. It is dense and somewhat long, particularly the final structured-stages sentence, but each clause carries semantics an agent needs; minimal waste.

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?

No output schema exists, and the description fully compensates by enumerating return fields, level semantics, thin-data behavior, and field-level definitions, plus the required caveats. An agent can call and interpret this correctly without further documentation.

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 meaning beyond the schema: it explains the three count levels and that only one level drives the detailed breakdown/examples, and clarifies the narrow_to_laws scope ('every opinion sharing the claim type, under any law'). This goes past restating field docs.

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?

The description states a specific verb (analyze how similar cases were decided) plus the exact outputs (win rate, settlement rate, damages range, topics, representative cases). It clearly differentiates from siblings like search_rulings and get_employer_track_record by framing itself as an aggregate statistics tool over published opinions.

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

Usage Guidelines3/5

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

Usage is implied by 'Given the facts of an employment situation — claim types, protected class, employer, state' and the required output framing, but there is no explicit when-to-use/when-not or routing to alternatives such as search_rulings or get_employer_track_record. The extensive caveats are about interpretation, not tool selection.

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