mcpbeat Sign in

Courtlistener MCP Server

answering

Courtlistener MCP Server is answering right now. Last checked 8 min ago. 303 installs a week from npm. It exposes 14 tools. Last commit 1 Nov 2026.

Search US court opinions, federal dockets, judges, citations, and oral arguments via CourtListener.

Installs per day peak 219 · avg 37 · +8% w/w
a month agotoday
Uptime history 91 days of history · worst day 0%
91 days agonow
100.0%
Uptime 24h
92 of 92 checks
14
Tools
read from the server
494 ms
Response time
average over 24h
303
Installs / week
npm and PyPI

What changed 38

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 25 August 2026. No other catalogue keeps this.

1 Nov 2 tool descriptions were rewritten courtlistener_get_docket, courtlistener_get_opinion
1 Nov 2 tools changed the parameters they ask for courtlistener_get_docket, courtlistener_get_opinion
1 Nov a tool changed version
18 Oct 11 tools changed the parameters they ask for courtlistener_get_citations, courtlistener_get_docket, courtlistener_get_financial_disclosure and 8 more
18 Oct 4 tool descriptions were rewritten courtlistener_get_financial_disclosure, courtlistener_get_opinion, courtlistener_get_oral_argument and 1 more
18 Oct a tool changed version
30 Sep a tool changed version
29 Sep a tool changed version
25 Aug 14 tools changed the parameters they ask for courtlistener_get_citations, courtlistener_get_docket, courtlistener_get_financial_disclosure and 11 more
25 Aug a tool changed version

Nothing serious here today

Today is the operative word: we check Courtlistener MCP Server every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 8 min ago.

run in your terminal
claude mcp add courtlistener-mcp-server --transport http https://courtlistener.caseyjhand.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://courtlistener.caseyjhand.com/mcp
~/.codex/config.toml
[mcp_servers.courtlistener-mcp-server]
url = "https://courtlistener.caseyjhand.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "courtlistener-mcp-server": {
      "url": "https://courtlistener.caseyjhand.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "courtlistener-mcp-server": {
      "type": "http",
      "url": "https://courtlistener.caseyjhand.com/mcp"
    }
  }
}

Available tools 14

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

courtlistener
courtlistener_get_citations
Retrieve the citation network for an opinion cluster. Supports two directions: "cited_by" (opinions that cite this one — measures precedential influence) and "citing" (opinions this one cites — reveals the authority chain relied on). This is the primary tool for tracing legal precedent chains. Note: the free tier supports shallow traversal — following 1–2 hops of a single case is practical; deep multi-hop analysis burns through the daily budget quickly.
courtlistener_get_docket
Fetch docket metadata and one entries page by docket ID. Omit document_ids for the docket listing, or select RECAP document IDs embedded on entries_page to retrieve their extracted text without further upstream requests. Selected text uses bounded full/outline/page responses; continue retrieval.next_cursor as cursor with the same docket_id, entries_page and document_ids. Top-level next_cursor remains entries pagination. File availability and extracted-text status are independent. Obtain docket IDs from courtlistener_search_dockets or opinion results.
courtlistener_get_financial_disclosure
Fetch a judicial financial disclosure by disclosure_id from courtlistener_search_financial_disclosures. Returns metadata, counts and typed line items with coded values decoded to dollar ranges. Select categories or omit for all. Oversized selections return outline then page responses; continue retrieval.next_cursor as cursor with the unchanged ID/categories selection until null. Large individual row fields remain recoverable through text_chunks.
courtlistener_get_judge
Fetch full biographical profile for a single judge: positions on record — judicial appointments across all courts plus non-judicial roles — education, political affiliations, and ABA ratings. The position list is paginated upstream and walked under a page bound; the response reports whether it was truncated. Obtain person IDs from courtlistener_search_judges results.
courtlistener_get_opinion
Fetch text and metadata for an opinion cluster by cluster ID. Returns majority, concurrence and dissent variants with raw HTML and readable plain text, variants_completion for source coverage, and docket_enrichment. Oversized selections return outline then page responses; continue retrieval.next_cursor as cursor with the unchanged ID/sections selection until null. Oversized docket backfill has independent enrichment_retrieval coordinates; continue its next_cursor as enrichment_cursor and discard prior enrichment slices when source_id changes. Obtain cluster IDs from courtlistener_search_opinions, courtlistener_lookup_citation, or docket results.
courtlistener_get_oral_argument
Fetch an oral argument recording by audio_id from courtlistener_search_oral_arguments. Returns case metadata, panel IDs, duration, MP3 URL, docket and available transcript. Oversized text or metadata returns outline then page responses; continue retrieval.next_cursor as cursor with the unchanged ID/sections selection until null. The argument date comes from search or the linked docket.
courtlistener_get_parties
Fetch a page of parties and their attorneys of record for a RECAP federal docket by docket ID. Returns each party's name, role (Plaintiff, Defendant, Petitioner, Respondent, etc.), and their attorneys with contact information, scoped to this docket. Costs one party request plus up to five attorney roster requests. A later roster page blocked by the local request budget returns fetched detail with capped resolution, unresolved IDs, and the remaining roster cursor. Obtain docket IDs from courtlistener_search_dockets or courtlistener_get_docket.
courtlistener_lookup_citation
Resolve legal citations (e.g., "410 U.S. 113", "93 S. Ct. 705") to opinion cluster IDs and case metadata. Enables workflows that start from a known citation rather than a search query. CourtListener extracts every citation it finds in the submitted text, so passing a passage returns one entry per citation, each with its own resolution status — an unresolved or ambiguous citation is reported in the results, not raised as an error. Supports standard US reporter formats. Costs one request against CourtListener's per-citation quota, plus one ordinary request per distinct docket whose court is resolved — max_court_lookups bounds that second half (default 4, set 0 to skip court resolution entirely). CourtListener meters this endpoint by citations submitted rather than by call, so a long passage spends proportionally more of that quota. Requires authentication — uses the CourtListener /citation-lookup/ endpoint.
courtlistener_lookup_courts
List courts with optional filtering by jurisdiction type, active/inactive status, and scraper coverage. Primarily used to discover court IDs for use in search and filter parameters across all other courtlistener tools. Defaults to the active bench — the courts CourtListener still scrapes; pass status:'inactive' for historical courts or status:'any' for every court. A bundled snapshot returns the complete list of matching court IDs without paging whenever the filtered set fits the response budget, which covers the default bench and every jurisdiction filter. Full court records — names, citation strings, scraper status — come live from CourtListener at a fixed 20 rows per page, so pull those only when a court ID alone is not enough.
courtlistener_search_dockets
Search RECAP federal court dockets. Query terms match case name, docket number, party, and attorney names; filters narrow by party name, court, and filing date. RECAP is a crowd-sourced mirror of PACER (the federal court filing system) — coverage varies by court and date. Returns docket metadata with the parties, attorneys, and firms of record, plus up to 3 sample document entries per docket. Use courtlistener_lookup_courts to find court IDs.
courtlistener_search_financial_disclosures
Search federal judicial financial disclosure filings — the annual reports judges file on investments, gifts, debts, outside positions, and income. Filter by judge (person ID from courtlistener_search_judges) and/or filing year; the year filter is applied to the fetched page only (CourtListener has no server-side year filter), so page through with cursor to reach a judge's filings for a year that fall on later pages. Returns per-filing metadata, category counts, itemized gifts, and a link to the source PDF. Line-item investments (often hundreds per filing, with coded values) are summarized as counts; the linked PDF carries the full itemization. Use this for judicial-ethics and recusal research after identifying a judge's person ID.
courtlistener_search_judges
Search judge/person records by name, appointing president, court, political affiliation, or demographic. Returns biographical data, current position, and appointment summary. Use courtlistener_get_judge for full appointment history and education records.
courtlistener_search_opinions
Full-text search across 9M+ written US court opinions with field-level filtering. Returns opinion cluster summaries with case metadata, citations, matched text snippets, and the individual opinion variants filed in each case. Supports CourtListener field syntax (caseName:"roe v wade", court_id:scotus, judge:"Alito") and boolean operators (AND, OR, NOT). Use courtlistener_lookup_courts to find court IDs. CourtListener publishes free-tier limits of 5 req/min, 50/hr, 125/day; actual limits vary by token tier.
courtlistener_search_oral_arguments
Search appellate oral argument audio recordings — the largest public collection of oral argument audio. Returns recording metadata with two direct MP3 links per result (download_url at the originating court, local_path for CourtListener's durable copy), panel judge IDs, and transcript snippets where available. Panel judge IDs can be passed to courtlistener_get_judge for biographical context.

Endpoints

URLTransportStateLatencyChecked
https://courtlistener.caseyjhand.com/mcp streamable-http answering 623 ms 8 min ago

Alternatives to Courtlistener MCP Server

same job, measured the same way
CourtListener
by vaquill-ai

MCP for CourtListener: US federal and state opinions, dockets, judges, plus eCFR regulations.

34 tools answering
Courtlistener MCP
by mrfentmen

Keyless MCP server for CourtListener: search court opinions and federal dockets (RECAP), case...

146 installs/wk local only
CourtAPI — Federal Court Data
by courtio

Search and retrieve US federal court cases, dockets, claims, and documents via PACER

45 installs/wk local only
Court Records MCP
by nexlab

Search US federal and state court records through CourtListener and the RECAP archive

answering
Pk Eli MCP
by matematicsolutions

MCP server for Pakistani law: search and cite federal statutes and Supreme Court judgments.

196 installs/wk local only
Federal Civil
by pipeworx-io

Federal civil litigation — US federal court dockets.

486 installs/wk 46 tools answering
US Federal Regulations (CFR)
by openkrill

Read a CFR or eCFR section, or search US federal regulations and the Federal Register.

5 tools answering
Docket Nexus
by docketnexus

Search public U.S. federal litigation: companies, cases, dockets and document metadata.

6 tools answering

Courtlistener MCP Server — questions

Answers built from our own checks of this server.

What can Courtlistener MCP Server do?
It exposes 14 tools, read directly from the server on our last check. Among them: courtlistener_get_citations, courtlistener_get_docket, courtlistener_get_financial_disclosure, courtlistener_get_judge, courtlistener_get_opinion, courtlistener_get_oral_argument and 8 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Courtlistener MCP Server working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 494 ms. The bar chart above shows every period we have measured.
How do I connect Courtlistener MCP Server?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Courtlistener MCP Server need an API key?
No. Courtlistener MCP Server completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 14 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Courtlistener MCP Server?
It answers our handshake in 494 ms on average, which is faster than 25% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Courtlistener MCP Server?
The npm package @cyanheads/courtlistener-mcp-server was installed 303 times in the last week. Week over week that is +8%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Courtlistener MCP Server open source?
The code is open source: it is published under the Apache-2.0 licence, written in TypeScript, 4 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at courtlistener.caseyjhand.com, which runs on its operator's own terms.