Index / MCP servers / CourtListener

CourtListener MCP server

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.

Status
Answering
Tools
34
Reliability
6 of 6 checks
Response time
366 ms
Transport
streamable HTTP
Last checked
21 October 2026

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

Description as the publisher wrote it.

The 34 tools CourtListener offers

ToolWhat it does
citation_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.
Inputs: citations
citation_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.
Inputs: citation, include_courtlistener
citation_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).
Inputs: text
citation_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") - WestLa
Inputs: citation
citation_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 i
Inputs: citation, broad
citation_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. Th
Inputs: citation
ecfr_get_ancestryGet the ancestry chain (title -> ... -> node) for a CFR node on a date.
Inputs: title, date, part, section
ecfr_get_daily_search_countsGet search result counts broken down by date (daily histogram).
Inputs: query, date
ecfr_get_hierarchy_search_countsGet search result counts distributed across the CFR hierarchy.
Inputs: query, date
ecfr_get_search_countGet the total number of CFR sections matching a search query.
Inputs: query, title, agency_slugs, date
ecfr_get_search_suggestionsGet search-term suggestions for a partial CFR query.
Inputs: query
ecfr_get_search_summaryGet summary details (counts + metadata) for a CFR search query.
Inputs: query, title, agency_slugs, date
ecfr_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 r
Inputs: title, date, part, section, subtitle, chapter
ecfr_get_title_search_countsGet search result counts broken down by CFR title.
Inputs: query, date
ecfr_get_title_structureGet the full hierarchical structure (title -> section) of a CFR title on a date.
Inputs: title, date
ecfr_get_title_versionsList the available content versions (issue dates) for one CFR title.
Inputs: title
ecfr_list_agenciesList all agencies that appear in the CFR, with their title/chapter references.
ecfr_list_all_correctionsList CFR corrections, optionally filtered by title and/or effective date.
Inputs: title, date
ecfr_list_corrections_by_titleList all corrections for a single CFR title.
Inputs: title
ecfr_list_titlesList all 50 CFR titles with their latest amended/issue dates and status.
ecfr_search_regulationsFull-text search over federal regulations, returning matching sections with hierarchy.
Inputs: query, title, agency_slugs, date, per_page, page
get_audioGet oral argument audio information by ID from CourtListener.
Inputs: audio_id
get_clusterGet an opinion cluster by ID from CourtListener.
Inputs: cluster_id
get_courtGet court information by ID from CourtListener.
Inputs: court_id
get_docketGet a specific court docket by ID from CourtListener.
Inputs: docket_id
get_opinionGet a specific court opinion by ID from CourtListener.
Inputs: opinion_id
get_personGet judge or legal professional information by ID from CourtListener.
Inputs: person_id
search_audioSearch oral argument audio recordings in CourtListener.
Inputs: q, court, case_name, judge, argued_after, argued_before
search_docketsSearch federal cases (dockets) from PACER in CourtListener.
Inputs: q, court, case_name, docket_number, date_filed_after, date_filed_before
search_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.
Inputs: q, court, case_name, docket_number, date_filed_after, date_filed_before
search_opinionsSearch case law opinion clusters with nested Opinion documents in CourtListener.
Inputs: q, court, case_name, judge, filed_after, filed_before
search_peopleSearch judges and legal professionals in the CourtListener database.
Inputs: q, name, position_type, political_affiliation, school, appointed_by
search_recap_documentsSearch federal filing documents from PACER in the RECAP archive.
Inputs: q, court, case_name, docket_number, document_number, attachment_number
statusCheck the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information.

Add CourtListener to your AI client

Every block below points at https://courtlistener-mcp.vaquill.ai/mcp/. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http courtlistener https://courtlistener-mcp.vaquill.ai/mcp/
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "courtlistener": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://courtlistener-mcp.vaquill.ai/mcp/"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "courtlistener": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "courtlistener": {
      "type": "http",
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "courtlistener": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "courtlistener": {
      "serverUrl": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "courtlistener": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: CourtListener
version: 0.0.1
schema: v1
mcpServers:
  - name: CourtListener
    type: streamable-http
    url: https://courtlistener-mcp.vaquill.ai/mcp/
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "courtlistener": {
      "httpUrl": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "courtlistener": {
      "type": "http",
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "courtlistener": {
      "url": "https://courtlistener-mcp.vaquill.ai/mcp/"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fcourtlistener-mcp.vaquill.ai%2Fmcp%2F&type=streamable_http&id=courtlistener&name=CourtListener

Is CourtListener up right now?

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.

MCP servers similar to CourtListener

Questions about CourtListener

How many tools does CourtListener have?

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.

Is CourtListener down?

It answered our last check on 21 October 2026 in 366 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add CourtListener to Cursor?

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.

Does CourtListener need an API key?

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.

Where this comes from

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.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.