Koskamo

CT Injury Cases MCP

An MCP server providing API access to aggregate data on car accident injury lawsuits in Connecticut's Hartford Judicial District. It allows AI assistants to query public court records for timelines, outcomes, verdicts, and settlement amounts broken down by injury type, attorney, and judge, enabling analysis of litigation costs and benefits.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

CT Injury Cases MCP logo, by CT Injury CasesVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by CT Injury Cases
MCP endpoint (Streamable HTTP)
https://ctinjurycases.com/mcp
Vendor documentation

What you can do with it

  • Query median jury verdicts by injury type
  • Search cases by judge or law firm
  • Analyze settlement offer amounts vs trial outcomes
  • Retrieve profiles of attorneys and medical experts

Source and maintenance

Vendor evidenceRegistry 1.20260909.20261030

Protocol and capabilities

Server
ct-injury-cases 1.20260909.20261030
MCP protocol
2025-06-18
Tools
14 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Personal injury litigation data for motor vehicle cases in Connecticut Superior Court, Hartford Judicial District: case outcomes, jury verdicts, settlement offers, motion rulings, and profiles of judges, law firms, attorneys and medical experts. Call describe_dataset first; it lists every metric, filter and caveat. Derived from public Connecticut court records. For the official record of a specific case, see the court's civil inquiry site; each case result links to it as officialUrl.

Tools

14 advertised

describe_dataset — Describe the dataset
Advertised by the server during the last successful anonymous check.
Advertised read-only

Start here. What the dataset covers (Connecticut Superior Court motor vehicle personal injury cases, Hartford Judicial District) and how current it is, every field, every stats metric and dimension, caveats, and example calls for each tool.

describe_dataset input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    }
  }
}
describe_dataset output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "source",
    "coverage",
    "fields",
    "metrics",
    "dimensions",
    "caveats",
    "examples"
  ],
  "properties": {
    "fields": {
      "type": "object",
      "required": [
        "case",
        "complaintFacts"
      ],
      "properties": {
        "case": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "name",
              "description"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "Field name."
              },
              "description": {
                "type": "string",
                "description": "What the field holds."
              }
            },
            "additionalProperties": false
          },
          "description": "Fields of a case, as get_case returns them."
        },
        "complaintFacts": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "name",
              "description"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "Field name."
              },
              "description": {
                "type": "string",
                "description": "What the field holds."
              }
            },
            "additionalProperties": false
          },
          "description": "Facts read from the complaint, usable only as stats dimensions and filters."
        }
      },
      "description": "Field glossary.",
      "additionalProperties": false
    },
    "source": {
      "type": "string",
      "description": "Where the data comes from and where to find a case's official record."
    },
    "caveats": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "What to keep in mind across the dataset."
    },
    "metrics": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "unit",
          "description",
          "nCounts",
          "closedInWindow",
          "caveats"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Metric name, the stats metric argument."
          },
          "unit": {
            "type": "string",
            "description": "case or ruling: what the metric counts."
          },
          "caveats": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "What to keep in mind when reading the metric."
          },
          "nCounts": {
            "type": "string",
            "description": "What n in each group's values counts."
          },
          "description": {
            "type": "string",
            "description": "What the metric computes."
          },
          "closedInWindow": {
            "type": "boolean",
            "description": "True when the metric counts only closures from closedFrom to closedTo; false when it counts every case or ruling on record."
          }
        },
        "additionalProperties": false
      },
      "description": "Every stats metric."
    },
    "coverage": {
      "type": "object",
      "required": [
        "asOf",
        "totalCases",
        "districts",
        "caseTypes",
        "filedYears"
      ],
      "properties": {
        "asOf": {
          "type": "string",
          "description": "Date of the latest fetch from the court website, YYYY-MM-DD; closedTo in windowed results."
        },
        "caseTypes": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "value",
              "cases"
            ],
            "properties": {
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Cases with that value."
              },
              "value": {
                "type": "string",
                "description": "The value."
              }
            },
            "additionalProperties": false
          },
          "description": "Cases per court case type code."
        },
        "districts": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "district",
              "cases",
              "readDocumentKinds"
            ],
            "properties": {
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Cases filed in the district."
              },
              "district": {
                "type": "string",
                "description": "Judicial district."
              },
              "readDocumentKinds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Kinds of filed documents read for amounts and complaint facts."
              }
            },
            "additionalProperties": false
          },
          "description": "Coverage per judicial district."
        },
        "filedYears": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "value",
              "cases"
            ],
            "properties": {
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Cases with that value."
              },
              "value": {
                "type": "string",
                "description": "The value."
              }
            },
            "additionalProperties": false
          },
          "description": "Cases per year filed."
        },
        "totalCases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Cases in the dataset."
        }
      },
      "description": "What the dataset covers and how current it is.",
      "additionalProperties": false
    },
    "examples": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "One example call per tool: the tool name, then its arguments as JSON."
    },
    "dimensions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "units",
          "multiValued",
          "description"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "Dimension name, for group_by or as a filter."
          },
          "units": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Units (case, ruling) the dimension applies to."
          },
          "description": {
            "type": "string",
            "description": "What the dimension is."
          },
          "multiValued": {
            "type": "boolean",
            "description": "True when one case can take several values, so groups overlap."
          }
        },
        "additionalProperties": false
      },
      "description": "Every stats dimension."
    }
  },
  "additionalProperties": false
}
describe_dataset annotations
{
  "title": "Describe the dataset",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_cases — Search cases
Advertised by the server during the last successful anonymous check.
Advertised read-only

List auto-injury cases matching filters, in docket-number order, up to 50 per page. Use get_case for one case in full and stats for counts, rates and amounts across many.

search_cases input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Results per page, at most 50 (the default)."
    },
    "cursor": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "nextCursor from the previous page; omit for the first page."
    },
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "district": {
      "type": "string",
      "description": "Judicial district, e.g. HARTFORD JD."
    },
    "filed_to": {
      "type": "string",
      "format": "date",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      "description": "Filed on or before this date (YYYY-MM-DD)."
    },
    "case_type": {
      "type": "string",
      "description": "Case type code: V01, V04 or V09."
    },
    "judge_key": {
      "type": "string",
      "description": "Judge key from search_judges; matches the judge who decided the disposition."
    },
    "filed_from": {
      "type": "string",
      "format": "date",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      "description": "Filed on or after this date (YYYY-MM-DD)."
    },
    "trial_kind": {
      "type": "string",
      "description": "jury, court or not_tried."
    },
    "litigation_type": {
      "type": "string",
      "description": "third_party, um_uim or subrogation."
    },
    "firm_juris_number": {
      "type": "string",
      "description": "Juris number from search_firms; matches either side's lead firm."
    },
    "disposition_category": {
      "type": "string",
      "description": "How the case ended, e.g. withdrawal or plaintiff_verdict; pending for open cases."
    }
  }
}
search_cases output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "results",
    "total",
    "nextCursor"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Matches across all pages."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "docketNumber",
          "district",
          "caseType",
          "litigationType",
          "fileDate",
          "dispositionCategory",
          "dispositionDate",
          "trialKind",
          "officialUrl"
        ],
        "properties": {
          "caseType": {
            "type": "string",
            "description": "Court case type code: V01 driver or passenger vs driver, V04 pedestrian vs driver, V09 other motor-vehicle torts."
          },
          "district": {
            "type": "string",
            "description": "Judicial district the case is filed in, e.g. HARTFORD JD."
          },
          "fileDate": {
            "type": "string",
            "format": "date",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
            "description": "Date the case was filed."
          },
          "trialKind": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "jury or court when the case was tried to a verdict or decision; null otherwise."
          },
          "officialUrl": {
            "type": "string",
            "format": "uri",
            "description": "The case on the Connecticut Judicial Branch civil inquiry site, the official record."
          },
          "docketNumber": {
            "type": "string",
            "description": "Connecticut docket number, e.g. HHD-CV-21-6140000-S."
          },
          "litigationType": {
            "type": "string",
            "description": "third_party (injured person vs at-fault driver), um_uim (claim against own uninsured/underinsured motorist carrier), subrogation (insurer suing to recover what it paid)."
          },
          "dispositionDate": {
            "anyOf": [
              {
                "type": "string",
                "format": "date",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
              },
              {
                "type": "null"
              }
            ],
            "description": "Date of disposition; null while pending."
          },
          "dispositionCategory": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "How the case ended, grouped from the court disposition text; null while pending. damages_hearing is a judgment after a hearing that only set damages, usually after a default, not a trial."
          }
        },
        "additionalProperties": false
      },
      "description": "This page of matches."
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Pass as cursor for the next page; null on the last."
    }
  },
  "additionalProperties": false
}
search_cases annotations
{
  "title": "Search cases",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_case — Case details
Advertised by the server during the last successful anonymous check.
Advertised read-only

One case: dates, disposition, trial, verdict and offer amounts, its motion rulings, and the judges, attorneys and law firms by side.

get_case input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "docket_number"
  ],
  "properties": {
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "docket_number": {
      "type": "string",
      "description": "Docket number, e.g. HHD-CV-21-6140000-S."
    }
  }
}
get_case output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "case",
    "dispositionJudge",
    "firms",
    "attorneys",
    "rulings"
  ],
  "properties": {
    "case": {
      "type": "object",
      "required": [
        "docketNumber",
        "officialUrl",
        "district",
        "caseType",
        "litigationType",
        "fileDate",
        "fileYear",
        "dispositionCategory",
        "dispositionDate",
        "daysToDisposition",
        "trialKind",
        "trialDate",
        "closedPleadingsDate",
        "juryClaimDate",
        "defendants",
        "splitOutcome",
        "acceptedOfferCents",
        "arbitrationNetAwardCents",
        "trialDeNovoDemanded",
        "netVerdictCents",
        "dispositionJudgeKey",
        "plaintiffJurisNumber",
        "defenseJurisNumber"
      ],
      "properties": {
        "caseType": {
          "type": "string",
          "description": "Court case type code: V01 driver or passenger vs driver, V04 pedestrian vs driver, V09 other motor-vehicle torts."
        },
        "district": {
          "type": "string",
          "description": "Judicial district the case is filed in, e.g. HARTFORD JD."
        },
        "fileDate": {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
          "description": "Date the case was filed."
        },
        "fileYear": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Year the case was filed."
        },
        "trialDate": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
            },
            {
              "type": "null"
            }
          ],
          "description": "Trial date recorded on the docket."
        },
        "trialKind": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "jury or court when the case was tried to a verdict or decision; null otherwise."
        },
        "defendants": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Number of defendants."
        },
        "officialUrl": {
          "type": "string",
          "format": "uri",
          "description": "The case on the Connecticut Judicial Branch civil inquiry site, the official record."
        },
        "docketNumber": {
          "type": "string",
          "description": "Connecticut docket number, e.g. HHD-CV-21-6140000-S."
        },
        "splitOutcome": {
          "type": "boolean",
          "description": "True when defendants in the same case reached different outcomes."
        },
        "juryClaimDate": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
            },
            {
              "type": "null"
            }
          ],
          "description": "Date a jury was claimed."
        },
        "litigationType": {
          "type": "string",
          "description": "third_party (injured person vs at-fault driver), um_uim (claim against own uninsured/underinsured motorist carrier), subrogation (insurer suing to recover what it paid)."
        },
        "dispositionDate": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
            },
            {
              "type": "null"
            }
          ],
          "description": "Date of disposition; null while pending."
        },
        "netVerdictCents": {
          "anyOf": [
            {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Net jury verdict for the plaintiff after comparative negligence, in cents; null without a plaintiff or mixed jury verdict whose amount was read."
        },
        "daysToDisposition": {
          "anyOf": [
            {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Days from filing to disposition; null while pending."
        },
        "acceptedOfferCents": {
          "anyOf": [
            {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Amount of the offer of compromise that was accepted, in cents; null when none was accepted or the amount is unknown."
        },
        "defenseJurisNumber": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Juris number of the defense side's lead law firm."
        },
        "closedPleadingsDate": {
          "anyOf": [
            {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
            },
            {
              "type": "null"
            }
          ],
          "description": "Date pleadings were closed."
        },
        "dispositionCategory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "How the case ended, grouped from the court disposition text; null while pending. damages_hearing is a judgment after a hearing that only set damages, usually after a default, not a trial."
        },
        "dispositionJudgeKey": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Key of the judge who decided the disposition, when a judge did."
        },
        "trialDeNovoDemanded": {
          "type": "boolean",
          "description": "True when either side demanded a trial de novo after arbitration."
        },
        "plaintiffJurisNumber": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Juris number of the plaintiff side's lead law firm."
        },
        "arbitrationNetAwardCents": {
          "anyOf": [
            {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            },
            {
              "type": "null"
            }
          ],
          "description": "Net court-annexed arbitration award, in cents, when one was read from the award."
        }
      },
      "description": "The case record.",
      "additionalProperties": false
    },
    "firms": {
      "type": "object",
      "required": [
        "plaintiff",
        "defense"
      ],
      "properties": {
        "defense": {
          "anyOf": [
            {
              "type": "object",
              "required": [
                "jurisNumber",
                "name"
              ],
              "properties": {
                "name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Name; null when the registry has none."
                },
                "jurisNumber": {
                  "type": "string",
                  "description": "Juris number."
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ],
          "description": "The defense side's lead firm."
        },
        "plaintiff": {
          "anyOf": [
            {
              "type": "object",
              "required": [
                "jurisNumber",
                "name"
              ],
              "properties": {
                "name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Name; null when the registry has none."
                },
                "jurisNumber": {
                  "type": "string",
                  "description": "Juris number."
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ],
          "description": "The plaintiff side's lead firm."
        }
      },
      "description": "Lead law firm on each side; null when none is known.",
      "additionalProperties": false
    },
    "rulings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "motionFamily",
          "movingSide",
          "opposed",
          "outcome",
          "judge",
          "rulingDate",
          "daysToRuling"
        ],
        "properties": {
          "judge": {
            "anyOf": [
              {
                "type": "object",
                "required": [
                  "key",
                  "name"
                ],
                "properties": {
                  "key": {
                    "type": "string",
                    "description": "Judge key, for get_judge."
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Judge name; null when the key has no registered name."
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "The judge who ruled, when known."
          },
          "opposed": {
            "type": "boolean",
            "description": "Whether an objection to the motion was filed."
          },
          "outcome": {
            "type": "string",
            "description": "Ruling outcome: granted, denied, partial, off, order, withdrawn…"
          },
          "movingSide": {
            "type": "string",
            "description": "Side that filed the motion."
          },
          "rulingDate": {
            "type": "string",
            "format": "date",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
            "description": "Date of the ruling."
          },
          "daysToRuling": {
            "anyOf": [
              {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991
              },
              {
                "type": "null"
              }
            ],
            "description": "Days from filing the motion to the ruling."
          },
          "motionFamily": {
            "type": "string",
            "description": "Kind of motion ruled on."
          }
        },
        "additionalProperties": false
      },
      "description": "Motion rulings in the case."
    },
    "attorneys": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "jurisNumber",
          "name",
          "side"
        ],
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Name; null when the registry has none."
          },
          "side": {
            "type": "string",
            "description": "Side the attorney appeared for: plaintiff or defendant."
          },
          "jurisNumber": {
            "type": "string",
            "description": "Juris number."
          }
        },
        "additionalProperties": false
      },
      "description": "Attorneys who appeared, with their juris numbers for get_attorney."
    },
    "dispositionJudge": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "key",
            "name"
          ],
          "properties": {
            "key": {
              "type": "string",
              "description": "Judge key, for get_judge."
            },
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Judge name; null when the key has no registered name."
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "The judge who decided the disposition; null when no judge did."
    }
  },
  "additionalProperties": false
}
get_case annotations
{
  "title": "Case details",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
stats — Case statistics
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute one metric over cases (or motion rulings), optionally broken down by up to two dimensions and narrowed by filters. describe_dataset lists every metric and dimension and which unit each applies to. Groups of three or fewer cases are suppressed. At most 100 groups, largest first.

stats input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "metric"
  ],
  "properties": {
    "metric": {
      "enum": [
        "case_count",
        "disposition_mix",
        "median_days_to_disposition",
        "trial_rate",
        "plaintiff_verdict_rate",
        "net_verdict",
        "accepted_offer",
        "motion_grant_rate"
      ],
      "type": "string",
      "description": "What to compute; see describe_dataset for each metric."
    },
    "um_uim": {
      "type": "boolean",
      "description": "UM/UIM coverage is claimed."
    },
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "district": {
      "type": "string",
      "description": "Judicial district, e.g. HARTFORD JD."
    },
    "filed_to": {
      "type": "string",
      "format": "date",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      "description": "Filed on or before this date (YYYY-MM-DD)."
    },
    "group_by": {
      "type": "array",
      "items": {
        "enum": [
          "district",
          "file_year",
          "case_type",
          "litigation_type",
          "disposition_category",
          "trial_kind",
          "judge_key",
          "plaintiff_firm",
          "defense_firm",
          "motion_family",
          "moving_side",
          "mechanism",
          "plaintiff_role",
          "road_type",
          "commercial_vehicle",
          "um_uim",
          "amount_in_demand",
          "claims_lost_wages",
          "injury_kind",
          "injury_region"
        ],
        "type": "string"
      },
      "maxItems": 2,
      "description": "Up to two dimensions to break the metric down by."
    },
    "case_type": {
      "type": "string",
      "description": "Case type code: V01, V04 or V09."
    },
    "judge_key": {
      "type": "string",
      "description": "Judge key from search_judges; matches the judge who decided the disposition."
    },
    "mechanism": {
      "type": "string",
      "description": "How the crash happened, e.g. rear_end."
    },
    "road_type": {
      "type": "string",
      "description": "Kind of road, e.g. interstate."
    },
    "filed_from": {
      "type": "string",
      "format": "date",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      "description": "Filed on or after this date (YYYY-MM-DD)."
    },
    "trial_kind": {
      "type": "string",
      "description": "jury, court or not_tried."
    },
    "injury_kind": {
      "type": "string",
      "description": "An alleged injury kind, e.g. fracture."
    },
    "injury_region": {
      "type": "string",
      "description": "An injured body region, e.g. neck."
    },
    "plaintiff_role": {
      "type": "string",
      "description": "driver, passenger, pedestrian…"
    },
    "litigation_type": {
      "type": "string",
      "description": "third_party, um_uim or subrogation."
    },
    "amount_in_demand": {
      "type": "string",
      "description": "Amount-in-demand band, e.g. 15000_or_more."
    },
    "claims_lost_wages": {
      "type": "boolean",
      "description": "Lost wages are claimed."
    },
    "firm_juris_number": {
      "type": "string",
      "description": "Juris number from search_firms; matches either side's lead firm."
    },
    "commercial_vehicle": {
      "type": "boolean",
      "description": "A commercial vehicle was involved."
    },
    "disposition_category": {
      "type": "string",
      "description": "How the case ended, e.g. withdrawal or plaintiff_verdict; pending for open cases."
    }
  }
}
stats output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "metric",
    "unit",
    "groupBy",
    "groups",
    "closedFrom",
    "closedTo",
    "totalGroups",
    "groupsSuppressed",
    "truncated",
    "multiValuedDimensions",
    "names"
  ],
  "properties": {
    "unit": {
      "enum": [
        "case",
        "ruling"
      ],
      "type": "string",
      "description": "What the metric counts: cases, or motion rulings for motion_grant_rate."
    },
    "names": {
      "type": "object",
      "description": "Names of the judges and firms in the groups.",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "groups": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "group",
              "suppressed"
            ],
            "properties": {
              "group": {
                "type": "object",
                "description": "The group: each group_by dimension and its value. Empty without group_by.",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "suppressed": {
                "type": "boolean",
                "const": true,
                "description": "Too few cases to show; values are withheld."
              }
            },
            "additionalProperties": false
          },
          {
            "type": "object",
            "required": [
              "group",
              "suppressed",
              "cases",
              "values"
            ],
            "properties": {
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Distinct cases in the group, after the closure window for windowed metrics. Decides suppression."
              },
              "group": {
                "type": "object",
                "description": "The group: each group_by dimension and its value. Empty without group_by.",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "values": {
                "type": "object",
                "description": "The metric's figures for the group, always with n; each metric's entry in describe_dataset says what n counts and what the other keys are.",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "number"
                      }
                    }
                  ]
                }
              },
              "suppressed": {
                "type": "boolean",
                "const": false,
                "description": "Shown: the group has enough cases."
              }
            },
            "additionalProperties": false
          }
        ]
      },
      "description": "One entry per group, largest n first."
    },
    "metric": {
      "type": "string",
      "description": "The metric computed."
    },
    "groupBy": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The group_by dimensions, in order."
    },
    "closedTo": {
      "anyOf": [
        {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
          "description": "Last disposition date counted, inclusive: the dataset as-of date."
        },
        {
          "type": "null"
        }
      ],
      "description": "For metrics over closed cases, the last disposition date counted, inclusive: the as-of date. Null for metrics over every case."
    },
    "truncated": {
      "type": "boolean",
      "description": "True when more groups exist than were returned."
    },
    "closedFrom": {
      "anyOf": [
        {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
          "description": "First disposition date counted, inclusive. Outcome counts here cover only cases closed from closedFrom to closedTo, not all time."
        },
        {
          "type": "null"
        }
      ],
      "description": "For metrics over closed cases, the first disposition date counted, inclusive; the figures are not all-time. Null for metrics over every case."
    },
    "totalGroups": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Groups before the cap on how many are returned."
    },
    "groupsSuppressed": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Returned groups that are suppressed."
    },
    "multiValuedDimensions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Dimensions where one case can sit in several groups, so group counts overlap."
    }
  },
  "additionalProperties": false
}
stats annotations
{
  "title": "Case statistics",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_judges — Search judges
Advertised by the server during the last successful anonymous check.
Advertised read-only

List judges by name and district, with case counts, most cases first. get_judge gives one judge in full.

search_judges input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "name": {
      "type": "string",
      "description": "Part of the name, any case."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Results per page, at most 50 (the default)."
    },
    "cursor": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "nextCursor from the previous page; omit for the first page."
    },
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "district": {
      "type": "string",
      "description": "Judicial district, e.g. HARTFORD JD."
    }
  }
}
search_judges output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "results",
    "total",
    "nextCursor"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Matches across all pages."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "key",
          "name",
          "cases",
          "districts",
          "casesByYear"
        ],
        "properties": {
          "key": {
            "type": "string",
            "description": "Judge key, for get_judge and the judge_key filter."
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Name."
          },
          "cases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Cases where the judge decided the disposition or ruled on a motion."
          },
          "districts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Judicial districts of those cases."
          },
          "casesByYear": {
            "type": "object",
            "description": "Cases counted by the year they were filed.",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            }
          }
        },
        "additionalProperties": false
      },
      "description": "This page of matches."
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Pass as cursor for the next page; null on the last."
    }
  },
  "additionalProperties": false
}
search_judges annotations
{
  "title": "Search judges",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_judge — Judge profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

One judge: how the cases they decided ended (closures in the last ~11 months), motion grant rates by motion family, and trial and verdict figures.

get_judge input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "judge_key"
  ],
  "properties": {
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "judge_key": {
      "type": "string",
      "description": "Judge key from search_judges."
    }
  }
}
get_judge output schema
{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "key",
        "name",
        "cases",
        "districts",
        "casesByYear",
        "closedFrom",
        "closedTo",
        "dispositions",
        "rulingsByMotionFamily",
        "trialFigures"
      ],
      "properties": {
        "key": {
          "type": "string",
          "description": "Judge key, for get_judge and the judge_key filter."
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Name."
        },
        "cases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Cases where the judge decided the disposition or ruled on a motion."
        },
        "closedTo": {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
          "description": "Last disposition date counted, inclusive: the dataset as-of date."
        },
        "districts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Judicial districts of those cases."
        },
        "closedFrom": {
          "type": "string",
          "format": "date",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
          "description": "First disposition date counted, inclusive. Outcome counts here cover only cases closed from closedFrom to closedTo, not all time."
        },
        "casesByYear": {
          "type": "object",
          "description": "Cases counted by the year they were filed.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "dispositions": {
          "type": "object",
          "description": "Cases whose disposition this judge decided and that closed from closedFrom to closedTo, by how they ended. Counts only cases closed in the 330 days ending at the as-of date (closedFrom to closedTo): the court removes withdrawn cases about a year after withdrawal, so only the last ~11 months of closures are complete. A district last fetched before the as-of date contributes closures only up to its fetch date, a slightly shorter window; the closures it does contribute are still complete.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "trialFigures": {
          "anyOf": [
            {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            {
              "type": "null"
            }
          ],
          "description": "Tried cases, verdict counts and rates, median net verdict in cents, median days from filing to trial and to closed pleadings."
        },
        "rulingsByMotionFamily": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "motionFamily",
              "rulings",
              "decided",
              "granted",
              "grantRate"
            ],
            "properties": {
              "decided": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of those, rulings that decided the motion: granted, denied or granted in part."
              },
              "granted": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of the decided, those granted."
              },
              "rulings": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Rulings on such motions."
              },
              "grantRate": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "granted / decided; null when none were decided."
              },
              "motionFamily": {
                "type": "string",
                "description": "Kind of motion."
              }
            },
            "additionalProperties": false
          },
          "description": "The judge's motion rulings by kind of motion, over every ruling on record."
        }
      },
      "additionalProperties": false
    },
    {
      "type": "object",
      "required": [
        "limitReached",
        "limit",
        "resetsAt",
        "message",
        "contactUrl"
      ],
      "properties": {
        "limit": {
          "type": "string",
          "description": "The limit reached."
        },
        "message": {
          "type": "string",
          "description": "What to do next."
        },
        "resetsAt": {
          "type": "string",
          "description": "When the limit resets: the next UTC midnight, ISO 8601."
        },
        "contactUrl": {
          "type": "string",
          "description": "Contact form for asking about more access."
        },
        "limitReached": {
          "type": "boolean",
          "const": true,
          "description": "Present only past the daily profile limit."
        }
      },
      "additionalProperties": false
    }
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
get_judge annotations
{
  "title": "Judge profile",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_firms — Search law firms
Advertised by the server during the last successful anonymous check.
Advertised read-only

List law firms by name, side, district and size, most cases first. get_firm gives one firm in full.

search_firms input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "name": {
      "type": "string",
      "description": "Part of the name, any case."
    },
    "side": {
      "enum": [
        "plaintiff",
        "defense"
      ],
      "type": "string",
      "description": "Only those with cases for this side, ranked by their cases on that side rather than by all their cases."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Results per page, at most 50 (the default)."
    },
    "cursor": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "nextCursor from the previous page; omit for the first page."
    },
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "district": {
      "type": "string",
      "description": "Judicial district, e.g. HARTFORD JD."
    },
    "min_cases": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "At least this many cases; with side, cases on that side."
    }
  }
}
search_firms output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "results",
    "total",
    "nextCursor"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Matches across all pages."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "jurisNumber",
          "name",
          "cases",
          "districts",
          "casesByYear",
          "kind",
          "plaintiffCases",
          "defenseCases"
        ],
        "properties": {
          "kind": {
            "enum": [
              "firm",
              "individual"
            ],
            "type": "string",
            "description": "individual: a person's name rather than a firm's, such as a solo practitioner."
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Name."
          },
          "cases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Every case the firm appeared in, as lead firm or not. The firm's other figures count only the cases it leads a side in, so their totals can be a little lower."
          },
          "districts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Judicial districts the firm appeared in."
          },
          "casesByYear": {
            "type": "object",
            "description": "Cases the firm leads a side in, by the year they were filed.",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            }
          },
          "jurisNumber": {
            "type": "string",
            "description": "Firm juris number, for get_firm and the firm filters."
          },
          "defenseCases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Of cases, those where the firm appeared for the defense, as lead firm or not."
          },
          "plaintiffCases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Of cases, those where the firm appeared for the plaintiff, as lead firm or not."
          }
        },
        "additionalProperties": false
      },
      "description": "This page of matches."
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Pass as cursor for the next page; null on the last."
    }
  },
  "additionalProperties": false
}
search_firms annotations
{
  "title": "Search law firms",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_firm — Law firm profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

One law firm: its attorneys, the firms it most often faces, the medical experts named for its side, its motion practice, and how its cases ended. A firm's case counts (cases, plaintiffCases, defenseCases) cover every case it appeared in. Its other figures (casesByYear, opposing firms, experts, motion practice, outcomes), the stats plaintiff_firm and defense_firm dimensions and the firm_juris_number filter cover only the cases where it is a side's lead firm, so one firm's case total can differ slightly from place to place.

get_firm input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "juris_number"
  ],
  "properties": {
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "juris_number": {
      "type": "string",
      "description": "Firm juris number from search_firms."
    }
  }
}
get_firm output schema
{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "jurisNumber",
        "name",
        "cases",
        "districts",
        "casesByYear",
        "kind",
        "plaintiffCases",
        "defenseCases",
        "attorneys",
        "opposingFirms",
        "expertsDisclosed",
        "motionPractice",
        "outcomes"
      ],
      "properties": {
        "kind": {
          "enum": [
            "firm",
            "individual"
          ],
          "type": "string",
          "description": "individual: a person's name rather than a firm's, such as a solo practitioner."
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Name."
        },
        "cases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Every case the firm appeared in, as lead firm or not. The firm's other figures count only the cases it leads a side in, so their totals can be a little lower."
        },
        "outcomes": {
          "type": "object",
          "required": [
            "closedFrom",
            "closedTo",
            "dispositions",
            "acceptedOffer",
            "netVerdict"
          ],
          "properties": {
            "closedTo": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
              "description": "Last disposition date counted, inclusive: the dataset as-of date."
            },
            "closedFrom": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
              "description": "First disposition date counted, inclusive. Outcome counts here cover only cases closed from closedFrom to closedTo, not all time."
            },
            "netVerdict": {
              "type": "object",
              "required": [
                "n",
                "medianCents",
                "p25Cents",
                "p75Cents"
              ],
              "properties": {
                "n": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "Amounts counted."
                },
                "p25Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 25th percentile in cents; null when n is 0."
                },
                "p75Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 75th percentile in cents; null when n is 0."
                },
                "medianCents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Median amount in cents; null when n is 0."
                }
              },
              "description": "Every net jury verdict on record, not limited to closedFrom to closedTo: verdicts are not removed from the court website.",
              "additionalProperties": false
            },
            "dispositions": {
              "type": "object",
              "description": "Cases closed from closedFrom to closedTo, counted by disposition category. Counts only cases closed in the 330 days ending at the as-of date (closedFrom to closedTo): the court removes withdrawn cases about a year after withdrawal, so only the last ~11 months of closures are complete. A district last fetched before the as-of date contributes closures only up to its fetch date, a slightly shorter window; the closures it does contribute are still complete.",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991
              }
            },
            "acceptedOffer": {
              "type": "object",
              "required": [
                "n",
                "medianCents",
                "p25Cents",
                "p75Cents"
              ],
              "properties": {
                "n": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "Amounts counted."
                },
                "p25Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 25th percentile in cents; null when n is 0."
                },
                "p75Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 75th percentile in cents; null when n is 0."
                },
                "medianCents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Median amount in cents; null when n is 0."
                }
              },
              "description": "Accepted offers of compromise in cases closed from closedFrom to closedTo; most such cases close by withdrawal, which the court removes.",
              "additionalProperties": false
            }
          },
          "description": "How these cases ended.",
          "additionalProperties": false
        },
        "attorneys": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "jurisNumber",
              "name"
            ],
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Attorney name; null when the registry has none."
              },
              "jurisNumber": {
                "type": "string",
                "description": "Attorney juris number, for get_attorney."
              }
            },
            "additionalProperties": false
          },
          "description": "Attorneys who have filed with this firm."
        },
        "districts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Judicial districts the firm appeared in."
        },
        "casesByYear": {
          "type": "object",
          "description": "Cases the firm leads a side in, by the year they were filed.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "jurisNumber": {
          "type": "string",
          "description": "Firm juris number, for get_firm and the firm filters."
        },
        "defenseCases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Of cases, those where the firm appeared for the defense, as lead firm or not."
        },
        "opposingFirms": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "jurisNumber",
              "name",
              "cases"
            ],
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Firm name; null when the firm is not in the dataset."
              },
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Cases counted together."
              },
              "jurisNumber": {
                "type": "string",
                "description": "Firm juris number, for get_firm."
              }
            },
            "additionalProperties": false
          },
          "description": "Lead firms on the other side, most frequent first."
        },
        "motionPractice": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "motionFamily",
              "rulings",
              "decided",
              "granted",
              "grantRate"
            ],
            "properties": {
              "decided": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of those, rulings that decided the motion: granted, denied or granted in part."
              },
              "granted": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of the decided, those granted."
              },
              "rulings": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Rulings on such motions."
              },
              "grantRate": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "granted / decided; null when none were decided."
              },
              "motionFamily": {
                "type": "string",
                "description": "Kind of motion."
              }
            },
            "additionalProperties": false
          },
          "description": "This side's motions in these cases and how often they were granted."
        },
        "plaintiffCases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Of cases, those where the firm appeared for the plaintiff, as lead firm or not."
        },
        "expertsDisclosed": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "providerId",
              "name",
              "specialty",
              "cases"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "Provider name."
              },
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of these cases, those naming the provider."
              },
              "specialty": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Specialty, when known."
              },
              "providerId": {
                "type": "string",
                "description": "Provider id, for get_provider."
              }
            },
            "additionalProperties": false
          },
          "description": "Medical providers named for this side in its cases, most frequent first."
        }
      },
      "additionalProperties": false
    },
    {
      "type": "object",
      "required": [
        "limitReached",
        "limit",
        "resetsAt",
        "message",
        "contactUrl"
      ],
      "properties": {
        "limit": {
          "type": "string",
          "description": "The limit reached."
        },
        "message": {
          "type": "string",
          "description": "What to do next."
        },
        "resetsAt": {
          "type": "string",
          "description": "When the limit resets: the next UTC midnight, ISO 8601."
        },
        "contactUrl": {
          "type": "string",
          "description": "Contact form for asking about more access."
        },
        "limitReached": {
          "type": "boolean",
          "const": true,
          "description": "Present only past the daily profile limit."
        }
      },
      "additionalProperties": false
    }
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
get_firm annotations
{
  "title": "Law firm profile",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_attorneys — Search attorneys
Advertised by the server during the last successful anonymous check.
Advertised read-only

List attorneys by name, firm, side and district, most cases first. get_attorney gives one attorney in full.

search_attorneys input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "name": {
      "type": "string",
      "description": "Part of the name, any case."
    },
    "side": {
      "enum": [
        "plaintiff",
        "defense"
      ],
      "type": "string",
      "description": "Only those with cases for this side, ranked by their cases on that side rather than by all their cases."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Results per page, at most 50 (the default)."
    },
    "cursor": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "nextCursor from the previous page; omit for the first page."
    },
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "district": {
      "type": "string",
      "description": "Judicial district, e.g. HARTFORD JD."
    },
    "firm_juris_number": {
      "type": "string",
      "description": "Juris number of their firm."
    }
  }
}
search_attorneys output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "results",
    "total",
    "nextCursor"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Matches across all pages."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "jurisNumber",
          "name",
          "cases",
          "districts",
          "casesByYear",
          "plaintiffCases",
          "defenseCases"
        ],
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The name the Connecticut Judicial Branch registers for the juris number; null when it lists no attorney under it. The attorney's cases are counted either way."
          },
          "cases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Every case the attorney appeared in, with any firm they have filed with."
          },
          "districts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Judicial districts of those cases."
          },
          "casesByYear": {
            "type": "object",
            "description": "Cases counted by the year they were filed.",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            }
          },
          "jurisNumber": {
            "type": "string",
            "description": "Attorney juris number, for get_attorney."
          },
          "defenseCases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Of cases, those on the defense side."
          },
          "plaintiffCases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Of cases, those on the plaintiff side."
          }
        },
        "additionalProperties": false
      },
      "description": "This page of matches."
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Pass as cursor for the next page; null on the last."
    }
  },
  "additionalProperties": false
}
search_attorneys annotations
{
  "title": "Search attorneys",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_attorney — Attorney profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

One attorney: their firms, the firms they most often face, the medical experts named for their side, their motion practice, and how their cases ended. An attorney's figures span every firm the attorney has filed with, not only their current firm.

get_attorney input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "juris_number"
  ],
  "properties": {
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "juris_number": {
      "type": "string",
      "description": "Attorney juris number from search_attorneys."
    }
  }
}
get_attorney output schema
{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "jurisNumber",
        "name",
        "cases",
        "districts",
        "casesByYear",
        "plaintiffCases",
        "defenseCases",
        "firms",
        "opposingFirms",
        "expertsDisclosed",
        "motionPractice",
        "outcomes"
      ],
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The name the Connecticut Judicial Branch registers for the juris number; null when it lists no attorney under it. The attorney's cases are counted either way."
        },
        "cases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Every case the attorney appeared in, with any firm they have filed with."
        },
        "firms": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "jurisNumber",
              "name"
            ],
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Firm name; null when the firm is not in the dataset."
              },
              "jurisNumber": {
                "type": "string",
                "description": "Firm juris number, for get_firm."
              }
            },
            "additionalProperties": false
          },
          "description": "Every firm the attorney has filed with."
        },
        "outcomes": {
          "type": "object",
          "required": [
            "closedFrom",
            "closedTo",
            "dispositions",
            "acceptedOffer",
            "netVerdict"
          ],
          "properties": {
            "closedTo": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
              "description": "Last disposition date counted, inclusive: the dataset as-of date."
            },
            "closedFrom": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
              "description": "First disposition date counted, inclusive. Outcome counts here cover only cases closed from closedFrom to closedTo, not all time."
            },
            "netVerdict": {
              "type": "object",
              "required": [
                "n",
                "medianCents",
                "p25Cents",
                "p75Cents"
              ],
              "properties": {
                "n": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "Amounts counted."
                },
                "p25Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 25th percentile in cents; null when n is 0."
                },
                "p75Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 75th percentile in cents; null when n is 0."
                },
                "medianCents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Median amount in cents; null when n is 0."
                }
              },
              "description": "Every net jury verdict on record, not limited to closedFrom to closedTo: verdicts are not removed from the court website.",
              "additionalProperties": false
            },
            "dispositions": {
              "type": "object",
              "description": "Cases closed from closedFrom to closedTo, counted by disposition category. Counts only cases closed in the 330 days ending at the as-of date (closedFrom to closedTo): the court removes withdrawn cases about a year after withdrawal, so only the last ~11 months of closures are complete. A district last fetched before the as-of date contributes closures only up to its fetch date, a slightly shorter window; the closures it does contribute are still complete.",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991
              }
            },
            "acceptedOffer": {
              "type": "object",
              "required": [
                "n",
                "medianCents",
                "p25Cents",
                "p75Cents"
              ],
              "properties": {
                "n": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "Amounts counted."
                },
                "p25Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 25th percentile in cents; null when n is 0."
                },
                "p75Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 75th percentile in cents; null when n is 0."
                },
                "medianCents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Median amount in cents; null when n is 0."
                }
              },
              "description": "Accepted offers of compromise in cases closed from closedFrom to closedTo; most such cases close by withdrawal, which the court removes.",
              "additionalProperties": false
            }
          },
          "description": "How these cases ended.",
          "additionalProperties": false
        },
        "districts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Judicial districts of those cases."
        },
        "casesByYear": {
          "type": "object",
          "description": "Cases counted by the year they were filed.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "jurisNumber": {
          "type": "string",
          "description": "Attorney juris number, for get_attorney."
        },
        "defenseCases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Of cases, those on the defense side."
        },
        "opposingFirms": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "jurisNumber",
              "name",
              "cases"
            ],
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Firm name; null when the firm is not in the dataset."
              },
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Cases counted together."
              },
              "jurisNumber": {
                "type": "string",
                "description": "Firm juris number, for get_firm."
              }
            },
            "additionalProperties": false
          },
          "description": "Lead firms on the other side, most frequent first."
        },
        "motionPractice": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "motionFamily",
              "rulings",
              "decided",
              "granted",
              "grantRate"
            ],
            "properties": {
              "decided": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of those, rulings that decided the motion: granted, denied or granted in part."
              },
              "granted": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of the decided, those granted."
              },
              "rulings": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Rulings on such motions."
              },
              "grantRate": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "granted / decided; null when none were decided."
              },
              "motionFamily": {
                "type": "string",
                "description": "Kind of motion."
              }
            },
            "additionalProperties": false
          },
          "description": "This side's motions in these cases and how often they were granted."
        },
        "plaintiffCases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Of cases, those on the plaintiff side."
        },
        "expertsDisclosed": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "providerId",
              "name",
              "specialty",
              "cases"
            ],
            "properties": {
              "name": {
                "type": "string",
                "description": "Provider name."
              },
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Of these cases, those naming the provider."
              },
              "specialty": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Specialty, when known."
              },
              "providerId": {
                "type": "string",
                "description": "Provider id, for get_provider."
              }
            },
            "additionalProperties": false
          },
          "description": "Medical providers named for this side in its cases, most frequent first."
        }
      },
      "additionalProperties": false
    },
    {
      "type": "object",
      "required": [
        "limitReached",
        "limit",
        "resetsAt",
        "message",
        "contactUrl"
      ],
      "properties": {
        "limit": {
          "type": "string",
          "description": "The limit reached."
        },
        "message": {
          "type": "string",
          "description": "What to do next."
        },
        "resetsAt": {
          "type": "string",
          "description": "When the limit resets: the next UTC midnight, ISO 8601."
        },
        "contactUrl": {
          "type": "string",
          "description": "Contact form for asking about more access."
        },
        "limitReached": {
          "type": "boolean",
          "const": true,
          "description": "Present only past the daily profile limit."
        }
      },
      "additionalProperties": false
    }
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
get_attorney annotations
{
  "title": "Attorney profile",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_providers — Search medical providers
Advertised by the server during the last successful anonymous check.
Advertised read-only

List medical providers named in expert disclosures, by type, specialty, side (treating or defense examiner), town and size, most cases first. get_provider gives one provider in full.

search_providers input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "name": {
      "type": "string",
      "description": "Part of the name, any case."
    },
    "side": {
      "enum": [
        "treating",
        "defense_examiner"
      ],
      "type": "string",
      "description": "treating: named as the plaintiff's treating provider; defense_examiner: retained by the defense to examine the plaintiff."
    },
    "town": {
      "type": "string",
      "description": "Town the provider practises in."
    },
    "type": {
      "type": "string",
      "description": "physician, therapy, imaging or facility."
    },
    "limit": {
      "type": "integer",
      "maximum": 50,
      "minimum": 1,
      "description": "Results per page, at most 50 (the default)."
    },
    "cursor": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "nextCursor from the previous page; omit for the first page."
    },
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "min_cases": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": 1,
      "description": "At least this many cases."
    },
    "specialty": {
      "type": "string",
      "description": "Part of the specialty, e.g. orthop."
    }
  }
}
search_providers output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "results",
    "total",
    "nextCursor"
  ],
  "properties": {
    "total": {
      "type": "integer",
      "maximum": 9007199254740991,
      "minimum": -9007199254740991,
      "description": "Matches across all pages."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "cases",
          "districts",
          "casesByYear",
          "kind",
          "type",
          "credential",
          "specialty",
          "town",
          "side"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Provider id, for get_provider."
          },
          "kind": {
            "enum": [
              "clinician",
              "practice"
            ],
            "type": "string",
            "description": "clinician: a person; practice: a clinic, hospital or other organisation."
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Name."
          },
          "side": {
            "enum": [
              "treating",
              "defense_examiner"
            ],
            "type": "string",
            "description": "treating: named as the plaintiff's treating provider; defense_examiner: retained by the defense to examine the plaintiff."
          },
          "town": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Town the provider practises in, when known."
          },
          "type": {
            "type": "string",
            "description": "physician, therapy, imaging or facility."
          },
          "cases": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991,
            "description": "Cases whose expert disclosures name the provider."
          },
          "districts": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Judicial districts of those cases."
          },
          "specialty": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The specialty named in the filings. When the filings name none and the federal NPI registry finds the clinician exactly once and, when the filings name a credential from the usual list, lists that same credential: the registry's primary taxonomy, e.g. Orthopaedic Surgery. null otherwise."
          },
          "credential": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The credential named in the filings. When the filings name none, or one outside the usual list, and the federal NPI registry finds the clinician exactly once, the credential the registry lists, e.g. \"M.D.\". \"other\" when the filings name a credential outside the usual list and the registry does not supply one. null when neither says."
          },
          "casesByYear": {
            "type": "object",
            "description": "Cases counted by the year they were filed.",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "integer",
              "maximum": 9007199254740991,
              "minimum": -9007199254740991
            }
          }
        },
        "additionalProperties": false
      },
      "description": "This page of matches."
    },
    "nextCursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Pass as cursor for the next page; null on the last."
    }
  },
  "additionalProperties": false
}
search_providers annotations
{
  "title": "Search medical providers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_provider — Medical provider profile
Advertised by the server during the last successful anonymous check.
Advertised read-only

One medical provider: the law firms that named them, their case list, how those cases ended, and, for defense examiners, the kinds of findings they disputed and on which body regions (counts only).

get_provider input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "provider_id"
  ],
  "properties": {
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "provider_id": {
      "type": "string",
      "description": "Provider id from search_providers."
    }
  }
}
get_provider output schema
{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "required": [
        "id",
        "name",
        "cases",
        "districts",
        "casesByYear",
        "kind",
        "type",
        "credential",
        "specialty",
        "town",
        "side",
        "retainingFirms",
        "docketNumbers",
        "disputes",
        "outcomes"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "Provider id, for get_provider."
        },
        "kind": {
          "enum": [
            "clinician",
            "practice"
          ],
          "type": "string",
          "description": "clinician: a person; practice: a clinic, hospital or other organisation."
        },
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Name."
        },
        "side": {
          "enum": [
            "treating",
            "defense_examiner"
          ],
          "type": "string",
          "description": "treating: named as the plaintiff's treating provider; defense_examiner: retained by the defense to examine the plaintiff."
        },
        "town": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Town the provider practises in, when known."
        },
        "type": {
          "type": "string",
          "description": "physician, therapy, imaging or facility."
        },
        "cases": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Cases whose expert disclosures name the provider."
        },
        "disputes": {
          "anyOf": [
            {
              "type": "object",
              "required": [
                "total",
                "byKind",
                "byBodyRegion"
              ],
              "properties": {
                "total": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "Disputed findings read."
                },
                "byKind": {
                  "type": "object",
                  "description": "Disputed findings counted by kind of dispute.",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  }
                },
                "byBodyRegion": {
                  "type": "object",
                  "description": "Disputed findings counted by body region.",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "integer",
                    "maximum": 9007199254740991,
                    "minimum": -9007199254740991
                  }
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ],
          "description": "Findings this examiner disputed in defense examinations; null when none were read."
        },
        "outcomes": {
          "type": "object",
          "required": [
            "closedFrom",
            "closedTo",
            "dispositions",
            "acceptedOffer",
            "netVerdict"
          ],
          "properties": {
            "closedTo": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
              "description": "Last disposition date counted, inclusive: the dataset as-of date."
            },
            "closedFrom": {
              "type": "string",
              "format": "date",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
              "description": "First disposition date counted, inclusive. Outcome counts here cover only cases closed from closedFrom to closedTo, not all time."
            },
            "netVerdict": {
              "type": "object",
              "required": [
                "n",
                "medianCents",
                "p25Cents",
                "p75Cents"
              ],
              "properties": {
                "n": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "Amounts counted."
                },
                "p25Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 25th percentile in cents; null when n is 0."
                },
                "p75Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 75th percentile in cents; null when n is 0."
                },
                "medianCents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Median amount in cents; null when n is 0."
                }
              },
              "description": "Every net jury verdict on record, not limited to closedFrom to closedTo: verdicts are not removed from the court website.",
              "additionalProperties": false
            },
            "dispositions": {
              "type": "object",
              "description": "Cases closed from closedFrom to closedTo, counted by disposition category. Counts only cases closed in the 330 days ending at the as-of date (closedFrom to closedTo): the court removes withdrawn cases about a year after withdrawal, so only the last ~11 months of closures are complete. A district last fetched before the as-of date contributes closures only up to its fetch date, a slightly shorter window; the closures it does contribute are still complete.",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991
              }
            },
            "acceptedOffer": {
              "type": "object",
              "required": [
                "n",
                "medianCents",
                "p25Cents",
                "p75Cents"
              ],
              "properties": {
                "n": {
                  "type": "integer",
                  "maximum": 9007199254740991,
                  "minimum": -9007199254740991,
                  "description": "Amounts counted."
                },
                "p25Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 25th percentile in cents; null when n is 0."
                },
                "p75Cents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Nearest-rank 75th percentile in cents; null when n is 0."
                },
                "medianCents": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Median amount in cents; null when n is 0."
                }
              },
              "description": "Accepted offers of compromise in cases closed from closedFrom to closedTo; most such cases close by withdrawal, which the court removes.",
              "additionalProperties": false
            }
          },
          "description": "How these cases ended.",
          "additionalProperties": false
        },
        "districts": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Judicial districts of those cases."
        },
        "specialty": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The specialty named in the filings. When the filings name none and the federal NPI registry finds the clinician exactly once and, when the filings name a credential from the usual list, lists that same credential: the registry's primary taxonomy, e.g. Orthopaedic Surgery. null otherwise."
        },
        "credential": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The credential named in the filings. When the filings name none, or one outside the usual list, and the federal NPI registry finds the clinician exactly once, the credential the registry lists, e.g. \"M.D.\". \"other\" when the filings name a credential outside the usual list and the registry does not supply one. null when neither says."
        },
        "casesByYear": {
          "type": "object",
          "description": "Cases counted by the year they were filed.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          }
        },
        "docketNumbers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Docket numbers of the cases naming the provider, for get_case."
        },
        "retainingFirms": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "jurisNumber",
              "name",
              "cases"
            ],
            "properties": {
              "name": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Firm name; null when the firm is not in the dataset."
              },
              "cases": {
                "type": "integer",
                "maximum": 9007199254740991,
                "minimum": -9007199254740991,
                "description": "Cases counted together."
              },
              "jurisNumber": {
                "type": "string",
                "description": "Firm juris number, for get_firm."
              }
            },
            "additionalProperties": false
          },
          "description": "The lead firm on the provider's side in their cases, most frequent first."
        }
      },
      "additionalProperties": false
    },
    {
      "type": "object",
      "required": [
        "limitReached",
        "limit",
        "resetsAt",
        "message",
        "contactUrl"
      ],
      "properties": {
        "limit": {
          "type": "string",
          "description": "The limit reached."
        },
        "message": {
          "type": "string",
          "description": "What to do next."
        },
        "resetsAt": {
          "type": "string",
          "description": "When the limit resets: the next UTC midnight, ISO 8601."
        },
        "contactUrl": {
          "type": "string",
          "description": "Contact form for asking about more access."
        },
        "limitReached": {
          "type": "boolean",
          "const": true,
          "description": "Present only past the daily profile limit."
        }
      },
      "additionalProperties": false
    }
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
get_provider annotations
{
  "title": "Medical provider profile",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
request_data — Request data
Advertised by the server during the last successful anonymous check.

Tell us about data this dataset does not have but you need: other courts or states, case types, fields, documents. Logged and read by the people who build the dataset.

request_data input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "description"
  ],
  "properties": {
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    },
    "description": {
      "type": "string",
      "maxLength": 2000,
      "minLength": 10,
      "description": "What data you need and what you would use it for."
    }
  }
}
request_data output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "received",
    "message"
  ],
  "properties": {
    "message": {
      "type": "string",
      "description": "Acknowledgement to pass on to the user."
    },
    "received": {
      "type": "boolean",
      "const": true,
      "description": "The submission was recorded."
    }
  },
  "additionalProperties": false
}
request_data annotations
{
  "title": "Request data",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
send_message — Send a message
Advertised by the server during the last successful anonymous check.

Send a message to the person who runs this service: feedback, a question, a problem with the data, or interest in paid features, broader coverage or higher limits. Include the user's name or email only with their explicit permission.

send_message input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "message"
  ],
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "The user's name, if they agreed."
    },
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "The user's email, if they agreed and want a reply."
    },
    "message": {
      "type": "string",
      "maxLength": 4000,
      "minLength": 3,
      "description": "The message."
    },
    "purpose": {
      "type": "string",
      "maxLength": 500,
      "description": "One sentence on what you are trying to find out. Logged to improve the dataset; never returned."
    }
  }
}
send_message output schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "received",
    "message"
  ],
  "properties": {
    "message": {
      "type": "string",
      "description": "Acknowledgement to pass on to the user."
    },
    "received": {
      "type": "boolean",
      "const": true,
      "description": "The submission was recorded."
    }
  },
  "additionalProperties": false
}
send_message annotations
{
  "title": "Send a message",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1022 ms
95th percentile latency
1022 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1022 ms · metadata changed · 14 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http ct-injury-cases-mcp https://ctinjurycases.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add ct-injury-cases-mcp --url https://ctinjurycases.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable ct-injury-cases-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "ct-injury-cases-mcp": {
      "url": "https://ctinjurycases.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "ct-injury-cases-mcp": {
      "type": "streamableHttp",
      "url": "https://ctinjurycases.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start ct-injury-cases-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "ct-injury-cases-mcp": {
      "type": "http",
      "url": "https://ctinjurycases.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http ct-injury-cases-mcp https://ctinjurycases.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "ct-injury-cases-mcp": {
      "url": "https://ctinjurycases.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "ct-injury-cases-mcp": {
      "serverUrl": "https://ctinjurycases.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like CT Injury Cases MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run CT Injury Cases MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing