Skip to main content
Glama

get_recent_rule_changes

Read-only

Find recorded KnowJudges profile or courtroom-rule changes since an inclusive date, optionally narrowed to the canonical judge_url from find_judges or court_url from find_court. Court filtering includes changes associated with that court and its indexed judge profiles; ambiguous court-only records are omitted. Use to check documented updates; returns at most 25 records. Change tracking begins at the reported launch date, so an empty result does not prove that no earlier real-world rule changed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
sinceYesInclusive date in YYYY-MM-DD format
court_urlNoOptional canonical court_url returned by find_court
judge_urlNoOptional canonical profile_url returned by find_judges

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
sinceYes
resultsYes
change_tracking_started_atYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedOutput schema / properties / results / items / properties / change_type / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / change_type / type
      Removed value: -"string"
    • addedOutput schema / properties / results / items / properties / summary / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / results / items / properties / summary / type
      Removed value: -"string"
    • changedOutput schema / properties / results / items / required
      Previous value: -[
      -  "changed_at",
      -  "judge_url",
      -  "court_url",
      -  "change_type",
      -  "summary",
      -  "source_url",
      -  "source_title"
      -]New value: +[
      +  "changed_at",
      +  "judge_url",
      +  "court_url"
      +]
  2. Changed2 schema fields changed
    • removedOutput schema / properties / results / items / properties / last_verified
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / properties / results / items / required
      Previous value: -[
      -  "changed_at",
      -  "judge_url",
      -  "court_url",
      -  "change_type",
      -  "summary",
      -  "source_url",
      -  "source_title",
      -  "last_verified"
      -]New value: +[
      +  "changed_at",
      +  "judge_url",
      +  "court_url",
      +  "change_type",
      +  "summary",
      +  "source_url",
      +  "source_title"
      +]
  3. Changed5 schema fields changed
    • removedInput schema / properties / court_slug
      Removed value: -{
      -  "description": "Optional canonical court slug",
      -  "type": "string"
      -}
    • addedInput schema / properties / court_url
      Added value: +{
      +  "description": "Optional canonical court_url returned by find_court",
      +  "format": "uri",
      +  "type": "string"
      +}
    • removedInput schema / properties / judge_slug
      Removed value: -{
      -  "description": "Legacy judge identifier; prefer judge_url",
      -  "type": "string"
      -}
    • changedInput schema / properties / judge_url / description
      Previous value: -"Optional canonical judge profile URL"New value: +"Optional canonical profile_url returned by find_judges"
    • addedInput schema / properties / judge_url / format
      Added value: +"uri"
  4. Changed8 schema fields changed
    • changedInput schema / properties / judge_slug / description
      Previous value: -"Optional canonical judge slug"New value: +"Legacy judge identifier; prefer judge_url"
    • addedInput schema / properties / judge_url
      Added value: +{
      +  "description": "Optional canonical judge profile URL",
      +  "type": "string"
      +}
    • removedOutput schema / properties / results / items / properties / court_slug
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / results / items / properties / court_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • removedOutput schema / properties / results / items / properties / id
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / results / items / properties / judge_slug
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • addedOutput schema / properties / results / items / properties / judge_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ]
      +}
    • changedOutput schema / properties / results / items / required
      Previous value: -[
      -  "id",
      -  "changed_at",
      -  "judge_slug",
      -  "court_slug",
      -  "change_type",
      -  "summary",
      -  "source_url",
      -  "source_title",
      -  "last_verified"
      -]New value: +[
      +  "changed_at",
      +  "judge_url",
      +  "court_url",
      +  "change_type",
      +  "summary",
      +  "source_url",
      +  "source_title",
      +  "last_verified"
      +]
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "properties": {
      +    "change_tracking_started_at": {
      +      "type": "string"
      +    },
      +    "results": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "change_type": {
      +            "type": "string"
      +          },
      +          "changed_at": {
      +            "type": "string"
      +          },
      +          "court_slug": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "id": {
      +            "type": "string"
      +          },
      +          "judge_slug": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "last_verified": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "source_title": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "source_url": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "summary": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "changed_at",
      +          "judge_slug",
      +          "court_slug",
      +          "change_type",
      +          "summary",
      +          "source_url",
      +          "source_title",
      +          "last_verified"
      +        ],
      +        "type": "object"
      +      },
      +      "maxItems": 25,
      +      "type": "array"
      +    },
      +    "since": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "since",
      +    "change_tracking_started_at",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  6. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive, non-open-world), so credit goes to added context: a 25-record ceiling, that change tracking starts at the launch date, that ambiguous court-only records are omitted, and that an empty result is not proof of no change. These are meaningful behavioral caveats an agent could not infer from 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?

Three dense sentences, front-loaded with the core action and scope, followed by filtering rules and then the tracking caveat. Slightly heavy in the middle clause about court association, but no sentence is filler.

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 an output schema present, return-value explanation is not required, and the description covers the essentials: required date, optional filters and their provenance, result cap, and the launch-date limitation on coverage. The only minor gap is any ordering or pagination behavior beyond the cap, which is largely implied by the 25-record ceiling.

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 75%, so the schema documents most fields; the description goes further by tying judge_url and court_url to their canonical source tools and by flagging the 25-record result cap that limits the effect of the limit parameter. It does not explain limit's default behavior beyond that, keeping it short of a 5.

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 recorded KnowJudges profile or courtroom-rule changes") plus the temporal scope ("since an inclusive date"). It is clearly distinguishable from sibling read tools like find_judges or get_courtroom_presentation_rules, which retrieve current state rather than tracked changes.

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

Usage Guidelines4/5

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

Gives concrete usage context: "Use to check documented updates" and specifies where the optional filter values come from (canonical judge_url from find_judges, court_url from find_court). It also explains the court-filtering semantics. It stops short of naming when-not-to-use or an alternative change-tracking route, so it is clear context without explicit exclusions.

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.