Skip to main content
Glama

find_court

Read-only

Find a court by name or location when the user asks for court identity, metadata, or a judge roster and its KnowJudges identity is unknown. For a named judge's courtroom presentation or practice rules, use get_courtroom_presentation_rules. Optionally narrow by jurisdiction or state. Returns at most 10 courts with names, state/jurisdiction, and canonical public URLs. No pagination or bulk listing is available. Use the returned court_url with get_court.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesCourt name or location search text
stateNoState name or postal abbreviation
jurisdictionNoTwo-letter jurisdiction code. US means national courts such as the Supreme Court; geographically assigned federal courts use their state code, for example NY for SDNY.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitYes
queryYes
filtersYes
resultsYes
programsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / jurisdiction / description
      Previous value: -"Two-letter jurisdiction code, for example GA, DC, or US for national federal courts"New value: +"Two-letter jurisdiction code. US means national courts such as the Supreme Court; geographically assigned federal courts use their state code, for example NY for SDNY."
  2. Changed1 schema field changed
    • addedOutput schema / properties / programs
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "coordinator": {
      +        "type": "string"
      +      },
      +      "counties": {
      +        "type": "string"
      +      },
      +      "email": {
      +        "type": "string"
      +      },
      +      "hosts": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "knowjudges_url": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "relationship_status": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "knowjudges_url",
      +            "relationship_status"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "judges": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "name": {
      +              "type": "string"
      +            },
      +            "url": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "url"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "presiding_judge_names": {
      +        "type": "string"
      +      },
      +      "source_date": {
      +        "anyOf": [
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ]
      +      },
      +      "source_url": {
      +        "type": "string"
      +      },
      +      "type_codes": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "name",
      +      "type_codes",
      +      "counties",
      +      "presiding_judge_names",
      +      "coordinator",
      +      "email",
      +      "source_url",
      +      "judges",
      +      "hosts"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 10,
      +  "type": "array"
      +}
  3. Changed3 schema fields changed
    • addedOutput schema / properties / results / items / properties / state / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / state / type
      Removed value: -"string"
    • changedOutput schema / properties / results / items / required
      Previous value: -[
      -  "name",
      -  "state",
      -  "court_url"
      -]New value: +[
      +  "name",
      +  "court_url"
      +]
  4. Changed6 schema fields changed
    • removedOutput schema / properties / results / items / properties / court_id
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / results / items / properties / court_key
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / results / items / properties / indexed_judge_count
      Removed value: -{
      -  "maximum": 9007199254740991,
      -  "minimum": 0,
      -  "type": "integer"
      -}
    • removedOutput schema / properties / results / items / properties / jurisdiction_code
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / results / items / properties / slug
      Removed value: -{
      -  "type": "string"
      -}
    • changedOutput schema / properties / results / items / required
      Previous value: -[
      -  "court_id",
      -  "court_key",
      -  "name",
      -  "slug",
      -  "jurisdiction_code",
      -  "state",
      -  "indexed_judge_count",
      -  "court_url"
      -]New value: +[
      +  "name",
      +  "state",
      +  "court_url"
      +]
  5. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds genuinely useful behavioral facts beyond that: a hard cap of 10 results, absence of pagination or bulk listing, and the shape of each result (names, state/jurisdiction, canonical public URLs). It does not discuss relevance ranking or behavior when nothing matches, keeping it short of a 5.

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?

Five tight sentences, front-loaded with the purpose and trigger condition, then the exclusion, the filters, the result cap, and the follow-up tool. No filler and nothing repeated from the schema or annotations.

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 search tool with an output schema, the definition supplies everything needed: trigger condition, the sibling to use instead, result cap, absence of pagination, and the downstream get_court call. Return-value detail is delegated correctly to the output schema.

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

Parameters3/5

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

Schema coverage is 75%, just under the threshold where the schema alone suffices, and the parameters are already well documented in the schema (the jurisdiction code pattern and US-vs-state-code semantics are spelled out there). The description only restates 'Optionally narrow by jurisdiction or state' and implies the limit via 'at most 10 courts', adding little syntax or semantics beyond the schema. Baseline 3 fits.

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 ('Find a court by name or location') plus the triggering intent (court identity, metadata, judge roster) and the precondition that the KnowJudges identity is unknown. It names the sibling get_courtroom_presentation_rules as the contrasting tool, so an agent can distinguish it without opening 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?

Explicit when-to-use ('when the user asks for court identity, metadata, or a judge roster'), an explicit alternative for a different need ('For a named judge's courtroom presentation or practice rules, use get_courtroom_presentation_rules'), and a follow-up path ('Use the returned court_url with get_court'). Routing is fully determined.

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.