CourtListener

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

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeRead-only

What it can do

    What data it sees

    Do you need an account

    An API key from the service settings is required

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

    How to connect

    How to connect CourtListener to Claude

    The server address to paste into Claude settings:

    https://courtlistener-mcp.vaquill.ai/mcp/

    1. Open Claude (claude.ai or the desktop app).
    2. Go to Settings → Connectors.
    3. Click Add custom connector.
    4. Paste the server address copied below into Remote MCP server URL and click Add.
    5. In a chat, click + → Connectors and switch the new connector on.

    Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

    Authorization

    After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

    How to connect CourtListener to ChatGPT

    The server address to paste into ChatGPT settings:

    https://courtlistener-mcp.vaquill.ai/mcp/

    1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
    2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
    3. Open Settings → Connectors and click Create.
    4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
    5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
    6. In a new chat open + → Apps/Connectors and enable the connector.

    OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

    Authorization

    On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

    How to connect CourtListener to Cursor

    The server address to paste into Cursor settings:

    https://courtlistener-mcp.vaquill.ai/mcp/

    Fastest: click Open in Cursor below and confirm the prompt.

    Manually:

    1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
    2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
    3. Save the file. The server appears in the MCP list; authorize it there if asked.

    Authorization

    If the service needs sign-in, an authorize button appears next to the server in the MCP list.

    Server tool list (34)

    Raw names from tools/list. Only developers need these.

    statusCheck the status of the CourtListener MCP server. Returns: A dictionary containing server status, system metrics, and service information.
    search_opinionsSearch case law opinion clusters with nested Opinion documents in CourtListener.
    search_docketsSearch federal cases (dockets) from PACER in CourtListener.
    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.
    search_recap_documentsSearch federal filing documents from PACER in the RECAP archive.
    search_audioSearch oral argument audio recordings in CourtListener.
    search_peopleSearch judges and legal professionals in the CourtListener database.
    get_opinionGet a specific court opinion by ID from CourtListener.
    get_docketGet a specific court docket by ID from CourtListener.
    get_audioGet oral argument audio information by ID from CourtListener.
    get_clusterGet an opinion cluster by ID from CourtListener.
    get_personGet judge or legal professional information by ID from CourtListener.
    get_courtGet court information by ID from CourtListener.
    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") - WestLaw citations (e.g., "2023 WL 12345") - State reporter citations
    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.
    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. This is much more accurate than simple regex matching. Returns information about the citation format and any detected issues.
    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 information about the citation including: - Recognized citation format and source - Extracted tokens (volume, reporter, page, etc.) - Generated URL if available - Normalized citation text
    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).
    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.
    ecfr_list_titlesList all 50 CFR titles with their latest amended/issue dates and status.
    ecfr_get_title_versionsList the available content versions (issue dates) for one CFR title.
    ecfr_get_title_structureGet the full hierarchical structure (title -> section) of a CFR title on a date.
    ecfr_get_ancestryGet the ancestry chain (title -> ... -> node) for a CFR node on a 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 raw XML under ``content_xml``.
    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.
    ecfr_list_corrections_by_titleList all corrections for a single CFR title.
    ecfr_search_regulationsFull-text search over federal regulations, returning matching sections with hierarchy.
    ecfr_get_search_countGet the total number of CFR sections matching a search query.
    ecfr_get_search_summaryGet summary details (counts + metadata) for a CFR search query.
    ecfr_get_title_search_countsGet search result counts broken down by CFR title.
    ecfr_get_daily_search_countsGet search result counts broken down by date (daily histogram).
    ecfr_get_hierarchy_search_countsGet search result counts distributed across the CFR hierarchy.
    ecfr_get_search_suggestionsGet search-term suggestions for a partial CFR query.