mcpbeat

CourtListener MCP Server

io.github.Vaquill-AI/courtlistener-mcp
answering

CourtListener is answering right now. Last checked 9 min ago. It exposes 34 tools. Last commit 8 Jul 2026.

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

Uptime history 39 hours of history
39 hours agonow
100.0%
Uptime 24h
91 of 91 checks
34
Tools
read from the server
107 ms
Response time
average over 24h
2
Stars
last commit 8 Jul 2026

Connect this server

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

run in your terminal
claude mcp add courtlistener-mcp --transport http https://courtlistener-mcp.vaquill.ai/mcp/
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "courtlistener-mcp": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
~/.codex/config.toml
[mcp_servers.courtlistener-mcp]
url = "https://courtlistener-mcp.vaquill.ai/mcp/"
.cursor/mcp.json
{
  "mcpServers": {
    "courtlistener-mcp": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "courtlistener-mcp": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}

Available tools 34

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

ecfr
ecfr_get_ancestry
Get the ancestry chain (title -> ... -> node) for a CFR node on a date.
ecfr_get_daily_search_counts
Get search result counts broken down by date (daily histogram).
ecfr_get_hierarchy_search_counts
Get search result counts distributed across the CFR hierarchy.
ecfr_get_search_count
Get the total number of CFR sections matching a search query.
ecfr_get_search_suggestions
Get search-term suggestions for a partial CFR query.
ecfr_get_search_summary
Get summary details (counts + metadata) for a CFR search query.
ecfr_get_source_xml
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``.
ecfr_get_title_search_counts
Get search result counts broken down by CFR title.
ecfr_get_title_structure
Get the full hierarchical structure (title -> section) of a CFR title on a date.
ecfr_get_title_versions
List the available content versions (issue dates) for one CFR title.
ecfr_list_agencies
List all agencies that appear in the CFR, with their title/chapter references.
ecfr_list_all_corrections
List CFR corrections, optionally filtered by title and/or effective date.
ecfr_list_corrections_by_title
List all corrections for a single CFR title.
ecfr_list_titles
List all 50 CFR titles with their latest amended/issue dates and status.
ecfr_search_regulations
Full-text search over federal regulations, returning matching sections with hierarchy.
citation
citation_batch_lookup_citations
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.
citation_enhanced_citation_lookup
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_extract_citations_from_text
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).
citation_lookup_citation
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") - State reporter citations
citation_parse_citation_with_citeurl
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 including: - Recognized citation format and source - Extracted tokens (volume, reporter, page, etc.) - Generated URL if available - Normalized citation text
citation_verify_citation_format
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 regex matching. Returns information about the citation format and any detected issues.
audio
get_audio
Get oral argument audio information by ID from CourtListener.
search_audio
Search oral argument audio recordings in CourtListener.
dockets
search_dockets
Search federal cases (dockets) from PACER in CourtListener.
search_dockets_with_documents
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.
cluster
get_cluster
Get an opinion cluster by ID from CourtListener.
court
get_court
Get court information by ID from CourtListener.
docket
get_docket
Get a specific court docket by ID from CourtListener.
opinion
get_opinion
Get a specific court opinion by ID from CourtListener.
opinions
search_opinions
Search case law opinion clusters with nested Opinion documents in CourtListener.
people
search_people
Search judges and legal professionals in the CourtListener database.
person
get_person
Get judge or legal professional information by ID from CourtListener.
recap
search_recap_documents
Search federal filing documents from PACER in the RECAP archive.
status
status
Check the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information.

Endpoints

URLTransportStateLatencyChecked
https://courtlistener-mcp.vaquill.ai/mcp/ streamable-http answering 110 ms 9 min ago

CourtListener — questions

Answers built from our own checks of this server.

What can CourtListener do?
It exposes 34 tools, read directly from the server on our last check. Among them: citation_batch_lookup_citations, citation_enhanced_citation_lookup, citation_extract_citations_from_text, citation_lookup_citation, citation_parse_citation_with_citeurl, citation_verify_citation_format and 28 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 →
What is CourtListener mostly used for?
Its tools cluster around ecfr, citation and dockets. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is CourtListener working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 107 ms. The bar chart above shows every period we have measured.
How do I connect CourtListener?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does CourtListener need an API key?
No. CourtListener completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 34 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is CourtListener?
It answers our handshake in 107 ms on average, which is faster than 82% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is CourtListener open source?
Yes — it is published under the MIT licence, written in Python, 2 stars on GitHub and 1 open issue. The source link is on this page, so you can read exactly what it does with your data before you connect it.