Skip to main content

MCP: Court Rules

The Court Rules MCP server gives AI agents access to structured filing rules for federal and state courts and their judges. Six tools let you list courts, search judges, retrieve rules, search filing requirements, look up court holidays, and check a draft filing against a judge’s rules. Coverage explains which courts and judges are covered.

What you get

Six court rules tools:
The same MCP server also provides three enforcement data tools for monitoring privacy enforcement actions from the FTC and state attorneys general. See MCP: Enforcement Data.

Quick start

Add the server to your AI client, then sign in when the client asks. It opens console.courtrules.app in your browser, you sign in and approve the connection once, and the client keeps you signed in after that.

Claude Code

Then run /mcp in Claude Code, select court-rules, and choose Authenticate.

Claude Desktop and claude.ai

Open Settings > Connectors > Add custom connector. Enter Court Rules as the name and https://mcp.courtrules.app/mcp as the URL, click Add, then click Connect and sign in.

ChatGPT

Court Rules is in ChatGPT’s plugin directory. Open https://chatgpt.com/plugins/plugin_asdk_app_6ac09b6ce3a881919079271c80b17548, click Install plugin, and sign in with your Court Rules account when asked.

Cursor

Add to ~/.cursor/mcp.json, then open Cursor Settings > MCP and click the sign-in prompt next to court-rules:

VS Code

Add to .vscode/mcp.json. VS Code asks you to sign in the first time it starts the server.

Codex CLI

Scripts, backends, and clients without sign-in

Send the API key from your console dashboard as Authorization: Bearer <api_key>. Keys do not expire. See Authentication for header configs and an SDK example. Once connected, try asking your agent: “What are Judge Beaudet’s courtesy copy rules at LA Superior Court?”

Tool reference

list_courts

List courts with their judge counts. The list is long, so results come in pages: pass query to find a court, and pass next_offset back as offset to read the next page. judge_count counts judges currently sitting on the court. Parameters: Example request: { "query": "district of new york", "limit": 3 } Example response:
next_offset is null on the last page.

search_judges

Search for judges by district, name, or type. Parameters: Example request: {"district_id": "ca-los-angeles-superior", "name": "beaudet"} Example response:

get_judge_rules

Get all extracted rules for a specific judge. Parameters: Example request: {"judge_slug": "judge-teresa-a-beaudet", "district_id": "ca-los-angeles-superior"} Example response:

search_filing_rules

Search extracted filing rules across active source documents. Use this for e-filing requirements, service and proof of service, filing timing, fees, courtesy copies, rejection and cure windows, and courtroom preferences. Unlike get_judge_rules, which returns everything for one judge, this searches across courts and judges by keyword and rule type. Parameters: Example response:

list_court_holidays

List court holidays and closure dates. Returns the official source URL and the last time Court Rules checked that source, so you can show provenance alongside a deadline calculation. Parameters: Example response:

check_filing_against_judge_rules

Check a draft filing against a judge’s rules before it is filed. The assistant reads the draft, measures it (pages, words, which sections it has), and passes those measurements. Court Rules compares them with the judge’s limits and requirements and returns a pass or fail for each rule, with the rule it comes from. The draft itself is never sent. Only the measurements are, so the check works in any client, including ones that cannot attach files to a tool call. Coverage: judges in the Eastern District of New York (edny). For another court, the tool returns an error that says so; read that court’s rules with get_judge_rules instead. Parameters: document also accepts caption, signature_block, sections, format and privacy, with the same fields as /api/v1/check. A section left out is not guessed: its checks are skipped and named in warnings. Example request: a 5-page pre-motion letter to Judge Amon.
Example response:
summary.status is NON_COMPLIANT when any rule fails, REVIEW when a rule needs an action from the filer (such as requesting a pre-motion conference), and COMPLIANT otherwise. The response matches /api/v1/check for the same input. Common mistakes:
  • Counting every page. page_count is body pages only. Leave out the cover, tables of contents and authorities, signature page and certificates.
  • Filling sections that were not read. A guessed format or privacy block produces a confident result about something nobody measured. Leave it out.

Integration patterns

Pre-filing requirements

Show judge-specific rules while a document is drafted:
Call get_judge_rules early in the drafting process so users see requirements before they finish writing, then check_filing_against_judge_rules on the finished draft. From a backend without an assistant, call the REST API at /api/v1/check with the same input.

Error handling

MCP tool calls return errors as text content, not HTTP error codes. If a tool encounters an error (invalid parameters, database unavailable), the response will contain a descriptive error message in the content array:
Common error patterns:
  • Invalid judge_slug: "No judge found with slug \"...\" in district \"...\"."
  • Invalid district_id: "No court found with ID \"...\"."
  • Database error: "Error querying courts: ..." or "Error searching judges: ..."

Limits

The hosted server at mcp.courtrules.app counts calls and rows for each signed-in user or API key, with the same limits as the REST API. Rate limits gives the numbers. When a tool call goes over a limit, it returns an error that names the limit and how long to wait, and the error tells the assistant to stop instead of retrying in a loop. One answer holds at most 500 rows on the free limits. A longer list is cut, and the answer says how many rows it held and how to narrow the query.

Next steps

  • REST API Quickstart to run compliance checks directly via HTTP
  • Coverage to see which courts, judges and rulebooks are covered, and how the three rule layers (FRCP, Local Rules, Standing Orders) fit together
  • MCP: enforcement data for privacy enforcement tools on the same MCP server