
Courtlistener Mcp Server
CourtListener sits on 9 million US court opinions and this server exposes the full dataset through 12 tools. You can full-text search opinions with field-level filters, pull complete case text with all opinion variants (majority, concurrence, dissent), and traverse citation networks in both directions to map precedent chains. It also covers RECAP federal dockets with party and attorney search, judge biographical records including appointment history and financial disclosures, and oral argument audio with transcripts. The free tier gives you 125 requests per day, which is enough for targeted research but tight for deep citation traversal. Runs over stdio or as a hosted HTTP endpoint at courtlistener.caseyjhand.com/mcp.
- GitHub stars
- 4
- tools
- 14
- auth
- Required
- transport
- STDIO, HTTP
- env vars
- 7
- last updated
- Nov 1, 2026
Install
From registry metadata$ npx add-mcp https://courtlistener.caseyjhand.com/mcp --name courtlistenerRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http courtlistener https://courtlistener.caseyjhand.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 14 toolsVerified live against the running server on Nov 6, 2026.
courtlistener_search_opinionsFull-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...8 params
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...
courtstringcursorstringfiled_afterstringfiled_beforestringorder_bystringscore desc · dateFiled desc · dateFiled asc · citeCount descdefault: score descpage_sizeintegerq*stringstatusstringPublished · Unpublished · Errata · Separate · In-chambers · Relating-tocourtlistener_get_opinionFetch 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; cont...4 params
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; cont...
cluster_id*integercursorstringenrichment_cursorstringsectionsarraycourtlistener_get_citationsRetrieve 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...6 params
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...
cluster_id*integercourtstringcursorstringdirectionstringciting · cited_bydefault: cited_byfiled_afterstringpage_sizeintegercourtlistener_lookup_citationResolve 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 r...2 params
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 r...
citation*stringmax_court_lookupsintegercourtlistener_search_docketsSearch 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. Retu...7 params
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. Retu...
courtstringcursorstringfiled_afterstringfiled_beforestringpage_sizeintegerparty_namestringq*stringcourtlistener_get_docketFetch 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;...5 params
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;...
cursorstringdocket_id*integerdocument_idsarrayentries_pageintegerentries_page_sizeintegercourtlistener_get_partiesFetch 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 plu...3 params
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 plu...
cursorstringdocket_id*integerpage_sizeintegercourtlistener_search_judgesSearch 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.6 params
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.
appointerstringcourtstringcursorstringpage_sizeintegerpolitical_affiliationstringd · r · i · l · g · uq*stringcourtlistener_get_judgeFetch 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 r...1 params
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 r...
person_id*integercourtlistener_lookup_courtsList 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 st...4 params
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 st...
has_opinion_scraperbooleanjurisdictionstringF · FD · FB · FBP · FS · Spageintegerstatusstringactive · inactive · anydefault: activecourtlistener_search_oral_argumentsSearch 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 tr...6 params
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 tr...
argued_afterstringargued_beforestringcourtstringcursorstringpage_sizeintegerq*stringcourtlistener_get_oral_argumentFetch 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...3 params
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...
cursorstringid*integersectionsarraycourtlistener_search_financial_disclosuresSearch 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 on...4 params
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 on...
cursorstringjudge_idintegerpage_sizeintegeryearintegercourtlistener_get_financial_disclosureFetch 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 re...3 params
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 re...
categoriesarraycursorstringdisclosure_id*integerSponsors
Configuration
COURTLISTENER_API_TOKEN*CourtListener API token from your account settings. Required for API access.
MCP_LOG_LEVELdefault: infoSets the minimum log level for output (e.g., 'debug', 'info', 'warn').
MCP_TRANSPORT_TYPEdefault: httpSelects the HTTP transport.
MCP_HTTP_HOSTdefault: 127.0.0.1The hostname for the HTTP server.
MCP_HTTP_PORTdefault: 3010The port to run the HTTP server on.
MCP_HTTP_ENDPOINT_PATHdefault: /mcpThe endpoint path for the MCP server.
MCP_AUTH_MODEdefault: noneAuthentication mode to use: 'none', 'jwt', or 'oauth'.
Readme
@cyanheads/courtlistener-mcp-server
Search and retrieve US court opinions, federal dockets, judge records, citation networks, and oral arguments from CourtListener's 9M+ opinion corpus via MCP. STDIO or Streamable HTTP.
Details
- Repository
- github.com/cyanheads/courtlistener-mcp-server
- Category
- Search & Web Crawling
- Package
@cyanheads/courtlistener-mcp-server- Transport
- STDIO, HTTP
- Auth
- Required
- Registry
- MCP registry, active
- Resources
- 2
- Prompts
- 1
- Tools verified
- Nov 6, 2026
More from cyanheads
- Crossref Mcp Server4
- Internet Archive Mcp Server4
- Met Museum Mcp Server4
- Noaa Spaceweather Mcp Server4
- Openfda Mcp Server4
- Openlibrary Mcp Server4
- Un Comtrade Mcp Server4
- Aviation Weather Mcp Server3
- Devops Status Mcp Server3
- Earthquake Mcp Server3
- Eia Energy Mcp Server3
- Ensembl Mcp Server3
- Noaa Marine Mcp Server3
- Openstates Mcp Server3
- Treasury Fiscaldata Mcp Server3
- Usgs Water Mcp Server3
- Wikidata Mcp Server3
- Worldbank Mcp Server3
- Mcp Ts Core153
- Arxiv Mcp Server7
- Bluesky Mcp Server2
- Fbi Crime Mcp Server2
- Fema Mcp Server2
- Imf Mcp Server2