Connect CourtListener and your agent gets 34 tools, among them citation_batch_lookup_citations, citation_enhanced_citation_lookup, citation_extract_citations_from_text. It answers at https://courtlistener-mcp.vaquill.ai/mcp/ over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 21 October 2026, succeeded.
MCP for CourtListener: US federal and state opinions, dockets, judges, plus eCFR regulations.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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. Inputs: citations |
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. Inputs: citation, include_courtlistener |
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). Inputs: text |
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") - WestLa Inputs: citation |
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 i Inputs: citation, broad |
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. Th Inputs: citation |
ecfr_get_ancestry | Get the ancestry chain (title -> ... -> node) for a CFR node on a date. Inputs: title, date, part, section |
ecfr_get_daily_search_counts | Get search result counts broken down by date (daily histogram). Inputs: query, date |
ecfr_get_hierarchy_search_counts | Get search result counts distributed across the CFR hierarchy. Inputs: query, date |
ecfr_get_search_count | Get the total number of CFR sections matching a search query. Inputs: query, title, agency_slugs, date |
ecfr_get_search_suggestions | Get search-term suggestions for a partial CFR query. Inputs: query |
ecfr_get_search_summary | Get summary details (counts + metadata) for a CFR search query. Inputs: query, title, agency_slugs, date |
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 r Inputs: title, date, part, section, subtitle, chapter |
ecfr_get_title_search_counts | Get search result counts broken down by CFR title. Inputs: query, date |
ecfr_get_title_structure | Get the full hierarchical structure (title -> section) of a CFR title on a date. Inputs: title, date |
ecfr_get_title_versions | List the available content versions (issue dates) for one CFR title. Inputs: 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. Inputs: title, date |
ecfr_list_corrections_by_title | List all corrections for a single CFR title. Inputs: 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. Inputs: query, title, agency_slugs, date, per_page, page |
get_audio | Get oral argument audio information by ID from CourtListener. Inputs: audio_id |
get_cluster | Get an opinion cluster by ID from CourtListener. Inputs: cluster_id |
get_court | Get court information by ID from CourtListener. Inputs: court_id |
get_docket | Get a specific court docket by ID from CourtListener. Inputs: docket_id |
get_opinion | Get a specific court opinion by ID from CourtListener. Inputs: opinion_id |
get_person | Get judge or legal professional information by ID from CourtListener. Inputs: person_id |
search_audio | Search oral argument audio recordings in CourtListener. Inputs: q, court, case_name, judge, argued_after, argued_before |
search_dockets | Search federal cases (dockets) from PACER in CourtListener. Inputs: q, court, case_name, docket_number, date_filed_after, date_filed_before |
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. Inputs: q, court, case_name, docket_number, date_filed_after, date_filed_before |
search_opinions | Search case law opinion clusters with nested Opinion documents in CourtListener. Inputs: q, court, case_name, judge, filed_after, filed_before |
search_people | Search judges and legal professionals in the CourtListener database. Inputs: q, name, position_type, political_affiliation, school, appointed_by |
search_recap_documents | Search federal filing documents from PACER in the RECAP archive. Inputs: q, court, case_name, docket_number, document_number, attachment_number |
status | Check the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information. |
Every block below points at https://courtlistener-mcp.vaquill.ai/mcp/. Pick your client and copy.
claude mcp add --transport http courtlistener https://courtlistener-mcp.vaquill.ai/mcp/
{
"mcpServers": {
"courtlistener": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://courtlistener-mcp.vaquill.ai/mcp/"]
}
}
}{
"mcpServers": {
"courtlistener": {
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}{
"servers": {
"courtlistener": {
"type": "http",
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}{
"context_servers": {
"courtlistener": {
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}{
"mcpServers": {
"courtlistener": {
"serverUrl": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}{
"mcpServers": {
"courtlistener": {
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}name: CourtListener
version: 0.0.1
schema: v1
mcpServers:
- name: CourtListener
type: streamable-http
url: https://courtlistener-mcp.vaquill.ai/mcp/{
"mcpServers": {
"courtlistener": {
"httpUrl": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}{
"mcpServers": {
"courtlistener": {
"type": "http",
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}{
"mcpServers": {
"courtlistener": {
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}goose://extension?url=https%3A%2F%2Fcourtlistener-mcp.vaquill.ai%2Fmcp%2F&type=streamable_http&id=courtlistener&name=CourtListener
It answered our last check on 21 October 2026 in 366 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
34, as returned by the server's own tools/list on 13 September 2026: 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, ecfr_get_ancestry, ecfr_get_daily_search_counts, and 26 more.
It answered our last check on 21 October 2026 in 366 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://courtlistener-mcp.vaquill.ai/mcp/. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.vaquill-ai. Endpoint host: courtlistener-mcp.vaquill.ai. ARD identifier: urn:air:io.github.vaquill-ai:mcp:courtlistener-mcp.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.