
CourtListener
Connects Claude to CourtListener's v4 API and the Electronic Code of Federal Regulations, giving you programmatic access to US federal and state court opinions, dockets, RECAP filings, oral arguments, judge profiles, and live eCFR regulations. You get 25+ tools spanning search, citation parsing, batch lookup, and regulatory text retrieval. The Vaquill team runs a public HTTPS endpoint where you bring your own free CourtListener token via custom headers, so there's no local install required for Claude Desktop, Cursor, or VS Code. Useful when you're building legal research workflows, need to verify citations in context, or want to pull current CFR text without leaving your editor.
- GitHub stars
- 1
- tools
- 34
- auth
- Secret needed
- transport
- HTTP
- last updated
- May 15, 2026
Install
From registry metadata$ npx add-mcp https://courtlistener-mcp.vaquill.ai/mcp/ --name courtlistener-mcp --header 'X-CourtListener-Token: ${X_COURTLISTENER_TOKEN}'Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. 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-mcp https://courtlistener-mcp.vaquill.ai/mcp/ --header 'X-CourtListener-Token: YOUR_X_COURTLISTENER_TOKEN'Run in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 34 toolsVerified live against the running server on Nov 6, 2026.
statusCheck the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information.
Check the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information.
No parameters. Call it with no arguments.
search_opinionsSearch case law opinion clusters with nested Opinion documents in CourtListener.11 params
Search case law opinion clusters with nested Opinion documents in CourtListener.
case_namevaluecited_gtvaluecited_ltvaluecourtvaluecursorvaluefiled_aftervaluefiled_beforevaluejudgevaluelimitintegerorder_bystringq*stringsearch_docketsSearch federal cases (dockets) from PACER in CourtListener.10 params
Search federal cases (dockets) from PACER in CourtListener.
case_namevaluecourtvaluecursorvaluedate_filed_aftervaluedate_filed_beforevaluedocket_numbervaluelimitintegerorder_bystringparty_namevalueq*stringsearch_dockets_with_documentsSearch federal cases (dockets) with up to three nested documents. If there are more than three matching documents, the more_docs field will be true.10 params
Search federal cases (dockets) with up to three nested documents. If there are more than three matching documents, the more_docs field will be true.
case_namevaluecourtvaluecursorvaluedate_filed_aftervaluedate_filed_beforevaluedocket_numbervaluelimitintegerorder_bystringparty_namevalueq*stringsearch_recap_documentsSearch federal filing documents from PACER in the RECAP archive.12 params
Search federal filing documents from PACER in the RECAP archive.
attachment_numbervaluecase_namevaluecourtvaluecursorvaluedocket_numbervaluedocument_numbervaluefiled_aftervaluefiled_beforevaluelimitintegerorder_bystringparty_namevalueq*stringsearch_audioSearch oral argument audio recordings in CourtListener.9 params
Search oral argument audio recordings in CourtListener.
argued_aftervalueargued_beforevaluecase_namevaluecourtvaluecursorvaluejudgevaluelimitintegerorder_bystringq*stringsearch_peopleSearch judges and legal professionals in the CourtListener database.10 params
Search judges and legal professionals in the CourtListener database.
appointed_byvaluecursorvaluelimitintegernamevalueorder_bystringpolitical_affiliationvalueposition_typevalueq*stringschoolvalueselection_methodvalueget_opinionGet a specific court opinion by ID from CourtListener.1 params
Get a specific court opinion by ID from CourtListener.
opinion_id*stringget_docketGet a specific court docket by ID from CourtListener.1 params
Get a specific court docket by ID from CourtListener.
docket_id*stringget_audioGet oral argument audio information by ID from CourtListener.1 params
Get oral argument audio information by ID from CourtListener.
audio_id*stringget_clusterGet an opinion cluster by ID from CourtListener.1 params
Get an opinion cluster by ID from CourtListener.
cluster_id*stringget_personGet judge or legal professional information by ID from CourtListener.1 params
Get judge or legal professional information by ID from CourtListener.
person_id*stringget_courtGet court information by ID from CourtListener.1 params
Get court information by ID from CourtListener.
court_id*stringcitation_lookup_citationLook up a legal citation to find the opinion it references in CourtListener. This tool accepts various citation formats including: - U.S. Reporter citations (e.g., "410 U.S. 113") - Federal Reporter citations (e.g., "123 F.3d 456") - WestLaw citations (e.g., "2023 WL 12345") -...1 params
Look up a legal citation to find the opinion it references in CourtListener. This tool accepts various citation formats including: - U.S. Reporter citations (e.g., "410 U.S. 113") - Federal Reporter citations (e.g., "123 F.3d 456") - WestLaw citations (e.g., "2023 WL 12345") -...
citation*stringcitation_batch_lookup_citationsLook up multiple legal citations in a single request. This is more efficient than making individual requests for each citation. Accepts up to 100 citations at once.1 params
Look up multiple legal citations in a single request. This is more efficient than making individual requests for each citation. Accepts up to 100 citations at once.
citations*arraycitation_verify_citation_formatVerify if a citation string is in a valid format using citeurl's advanced parsing. This tool performs validation using citeurl's comprehensive citation templates to check if a citation appears to be in a recognized legal citation format. This is much more accurate than simple...1 params
Verify if a citation string is in a valid format using citeurl's advanced parsing. This tool performs validation using citeurl's comprehensive citation templates to check if a citation appears to be in a recognized legal citation format. This is much more accurate than simple...
citation*stringcitation_parse_citation_with_citeurlParse a legal citation using citeurl's advanced citation recognition. This tool uses the citeurl library to parse legal citations and extract structured information including tokens, normalized format, and URL generation. Returns detailed information about the citation includi...2 params
Parse a legal citation using citeurl's advanced citation recognition. This tool uses the citeurl library to parse legal citations and extract structured information including tokens, normalized format, and URL generation. Returns detailed information about the citation includi...
broadbooleancitation*stringcitation_extract_citations_from_textExtract all legal citations from a block of text using citeurl. This tool finds and parses all legal citations within a given text, including both long-form and short-form citations (like 'id.' references).1 params
Extract all legal citations from a block of text using citeurl. This tool finds and parses all legal citations within a given text, including both long-form and short-form citations (like 'id.' references).
text*stringcitation_enhanced_citation_lookupEnhanced citation lookup combining citeurl parsing with CourtListener data. This tool first uses citeurl to parse and validate the citation format, then optionally queries the CourtListener API for additional case information.2 params
Enhanced citation lookup combining citeurl parsing with CourtListener data. This tool first uses citeurl to parse and validate the citation format, then optionally queries the CourtListener API for additional case information.
citation*stringinclude_courtlistenerbooleanecfr_list_titlesList all 50 CFR titles with their latest amended/issue dates and status.
List all 50 CFR titles with their latest amended/issue dates and status.
No parameters. Call it with no arguments.
ecfr_get_title_versionsList the available content versions (issue dates) for one CFR title.1 params
List the available content versions (issue dates) for one CFR title.
title*integerecfr_get_title_structureGet the full hierarchical structure (title -> section) of a CFR title on a date.2 params
Get the full hierarchical structure (title -> section) of a CFR title on a date.
date*stringtitle*integerecfr_get_ancestryGet the ancestry chain (title -> ... -> node) for a CFR node on a date.4 params
Get the ancestry chain (title -> ... -> node) for a CFR node on a date.
date*stringpartvaluesectionvaluetitle*integerecfr_get_source_xmlFetch the source regulation TEXT (XML) for a CFR node on a snapshot date. Pass a part or section to scope the request. Fetching an entire large title at once can time out on the eCFR side, so narrowing is strongly recommended. Returns the raw XML under ``content_xml``.9 params
Fetch the source regulation TEXT (XML) for a CFR node on a snapshot date. Pass a part or section to scope the request. Fetching an entire large title at once can time out on the eCFR side, so narrowing is strongly recommended. Returns the raw XML under ``content_xml``.
appendixvaluechaptervaluedate*stringpartvaluesectionvaluesubchaptervaluesubpartvaluesubtitlevaluetitle*integerecfr_list_agenciesList all agencies that appear in the CFR, with their title/chapter references.
List all agencies that appear in the CFR, with their title/chapter references.
No parameters. Call it with no arguments.
ecfr_list_all_correctionsList CFR corrections, optionally filtered by title and/or effective date.2 params
List CFR corrections, optionally filtered by title and/or effective date.
datevaluetitlevalueecfr_list_corrections_by_titleList all corrections for a single CFR title.1 params
List all corrections for a single CFR title.
title*integerecfr_search_regulationsFull-text search over federal regulations, returning matching sections with hierarchy.7 params
Full-text search over federal regulations, returning matching sections with hierarchy.
agency_slugsvaluedatevalueordervaluepageintegerper_pageintegerquery*stringtitlevalueecfr_get_search_countGet the total number of CFR sections matching a search query.4 params
Get the total number of CFR sections matching a search query.
agency_slugsvaluedatevaluequery*stringtitlevalueecfr_get_search_summaryGet summary details (counts + metadata) for a CFR search query.4 params
Get summary details (counts + metadata) for a CFR search query.
agency_slugsvaluedatevaluequery*stringtitlevalueecfr_get_title_search_countsGet search result counts broken down by CFR title.2 params
Get search result counts broken down by CFR title.
datevaluequery*stringecfr_get_daily_search_countsGet search result counts broken down by date (daily histogram).2 params
Get search result counts broken down by date (daily histogram).
datevaluequery*stringecfr_get_hierarchy_search_countsGet search result counts distributed across the CFR hierarchy.2 params
Get search result counts distributed across the CFR hierarchy.
datevaluequery*stringecfr_get_search_suggestionsGet search-term suggestions for a partial CFR query.1 params
Get search-term suggestions for a partial CFR query.
query*stringSponsors
Readme
CourtListener MCP Server
A Model Context Protocol server that gives AI assistants access to the CourtListener legal database (US federal + state court opinions, dockets, RECAP filings, PACER data, oral arguments, judges) and the Electronic Code of Federal Regulations via the official CourtListener API v4.
Use it with Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, ChatGPT Desktop, or any MCP-compatible client.
Forked from Travis-Prall/court-listener-mcp. This fork adds a hosted endpoint, bring-your-own-key (BYOK) auth, a
/healthroute, Dockerfile hardening, a full eCFR (federal regulations) tool suite, cursor pagination, per-client rate limiting, and read-only tool annotations. See the changelog for details.
When to use this vs. the official server
Details
- Repository
- github.com/vaquill-ai/courtlistener-mcp
- Transport
- HTTP
- Auth
- Required
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026