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
/mcp in Claude Code, select court-rules, and choose Authenticate.
Claude Desktop and claude.ai
Open Settings > Connectors > Add custom connector. EnterCourt 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 asAuthorization: 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: passquery 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. Unlikeget_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.
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_countis body pages only. Leave out the cover, tables of contents and authorities, signature page and certificates. - Filling sections that were not read. A guessed
formatorprivacyblock 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: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 thecontent array:
- 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 atmcp.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